Lines Matching refs:view
46 struct raw3270_view *view; /* Active view. */ member
238 __raw3270_start(struct raw3270 *rp, struct raw3270_view *view, in __raw3270_start() argument
241 rq->view = view; in __raw3270_start()
242 raw3270_get_view(view); in __raw3270_start()
249 raw3270_put_view(view); in __raw3270_start()
258 raw3270_view_active(struct raw3270_view *view) in raw3270_view_active() argument
260 struct raw3270 *rp = view->dev; in raw3270_view_active()
262 return rp && rp->view == view; in raw3270_view_active()
266 raw3270_start(struct raw3270_view *view, struct raw3270_request *rq) in raw3270_start() argument
272 spin_lock_irqsave(get_ccwdev_lock(view->dev->cdev), flags); in raw3270_start()
273 rp = view->dev; in raw3270_start()
274 if (!rp || rp->view != view) in raw3270_start()
279 rc = __raw3270_start(rp, view, rq); in raw3270_start()
280 spin_unlock_irqrestore(get_ccwdev_lock(view->dev->cdev), flags); in raw3270_start()
285 raw3270_start_locked(struct raw3270_view *view, struct raw3270_request *rq) in raw3270_start_locked() argument
290 rp = view->dev; in raw3270_start_locked()
291 if (!rp || rp->view != view) in raw3270_start_locked()
296 rc = __raw3270_start(rp, view, rq); in raw3270_start_locked()
301 raw3270_start_irq(struct raw3270_view *view, struct raw3270_request *rq) in raw3270_start_irq() argument
305 rp = view->dev; in raw3270_start_irq()
306 rq->view = view; in raw3270_start_irq()
307 raw3270_get_view(view); in raw3270_start_irq()
319 struct raw3270_view *view; in raw3270_irq() local
326 view = rq ? rq->view : rp->view; in raw3270_irq()
344 if (view) in raw3270_irq()
345 view->fn->intv(view, rq, irb); in raw3270_irq()
358 raw3270_put_view(view); in raw3270_irq()
376 raw3270_put_view(view); in raw3270_irq()
506 struct raw3270_view *view; in raw3270_size_device_done() local
508 rp->view = NULL; in raw3270_size_device_done()
511 list_for_each_entry(view, &rp->view_list, list) in raw3270_size_device_done()
512 if (view->fn->resize) in raw3270_size_device_done()
513 view->fn->resize(view, rp->model, rp->rows, rp->cols); in raw3270_size_device_done()
515 list_for_each_entry(view, &rp->view_list, list) { in raw3270_size_device_done()
516 rp->view = view; in raw3270_size_device_done()
517 if (view->fn->activate(view) == 0) in raw3270_size_device_done()
519 rp->view = NULL; in raw3270_size_device_done()
526 struct raw3270 *rp = rq->view->dev; in raw3270_read_modified_cb()
573 struct raw3270 *rp = rq->view->dev; in raw3270_reset_device_cb()
594 if (rp->init_reset.view) in __raw3270_reset_device()
622 raw3270_reset(struct raw3270_view *view) in raw3270_reset() argument
627 rp = view->dev; in raw3270_reset()
628 if (!rp || rp->view != view) in raw3270_reset()
633 rc = raw3270_reset_device(view->dev); in raw3270_reset()
641 struct raw3270_view *view; in __raw3270_disconnect() local
644 rp->view = &rp->init_view; in __raw3270_disconnect()
648 view = rq->view; in __raw3270_disconnect()
653 raw3270_put_view(view); in __raw3270_disconnect()
660 raw3270_init_irq(struct raw3270_view *view, struct raw3270_request *rq, in raw3270_init_irq() argument
675 rp = view->dev; in raw3270_init_irq()
714 rp->view = &rp->init_view; in raw3270_setup_device()
837 raw3270_activate_view(struct raw3270_view *view) in raw3270_activate_view() argument
844 rp = view->dev; in raw3270_activate_view()
848 if (rp->view == view) in raw3270_activate_view()
854 if (rp->view && rp->view->fn->deactivate) { in raw3270_activate_view()
855 oldview = rp->view; in raw3270_activate_view()
858 rp->view = view; in raw3270_activate_view()
859 rc = view->fn->activate(view); in raw3270_activate_view()
862 rp->view = oldview; in raw3270_activate_view()
866 if (nv != view && nv != oldview) { in raw3270_activate_view()
867 rp->view = nv; in raw3270_activate_view()
870 rp->view = NULL; in raw3270_activate_view()
883 raw3270_deactivate_view(struct raw3270_view *view) in raw3270_deactivate_view() argument
888 rp = view->dev; in raw3270_deactivate_view()
892 if (rp->view == view) { in raw3270_deactivate_view()
893 view->fn->deactivate(view); in raw3270_deactivate_view()
894 rp->view = NULL; in raw3270_deactivate_view()
896 list_del_init(&view->list); in raw3270_deactivate_view()
897 list_add_tail(&view->list, &rp->view_list); in raw3270_deactivate_view()
900 list_for_each_entry(view, &rp->view_list, list) { in raw3270_deactivate_view()
901 rp->view = view; in raw3270_deactivate_view()
902 if (view->fn->activate(view) == 0) in raw3270_deactivate_view()
904 rp->view = NULL; in raw3270_deactivate_view()
915 raw3270_add_view(struct raw3270_view *view, struct raw3270_fn *fn, int minor, int subclass) in raw3270_add_view() argument
929 atomic_set(&view->ref_count, 2); in raw3270_add_view()
930 view->dev = rp; in raw3270_add_view()
931 view->fn = fn; in raw3270_add_view()
932 view->model = rp->model; in raw3270_add_view()
933 view->rows = rp->rows; in raw3270_add_view()
934 view->cols = rp->cols; in raw3270_add_view()
935 view->ascebc = rp->ascebc; in raw3270_add_view()
936 spin_lock_init(&view->lock); in raw3270_add_view()
937 lockdep_set_subclass(&view->lock, subclass); in raw3270_add_view()
938 list_add(&view->list, &rp->view_list); in raw3270_add_view()
954 struct raw3270_view *view, *tmp; in raw3270_find_view() local
958 view = ERR_PTR(-ENODEV); in raw3270_find_view()
966 view = tmp; in raw3270_find_view()
974 return view; in raw3270_find_view()
981 raw3270_del_view(struct raw3270_view *view) in raw3270_del_view() argument
987 rp = view->dev; in raw3270_del_view()
989 if (rp->view == view) { in raw3270_del_view()
990 view->fn->deactivate(view); in raw3270_del_view()
991 rp->view = NULL; in raw3270_del_view()
993 list_del_init(&view->list); in raw3270_del_view()
994 if (!rp->view && raw3270_state_ready(rp)) { in raw3270_del_view()
998 rp->view = nv; in raw3270_del_view()
1005 atomic_dec(&view->ref_count); in raw3270_del_view()
1006 wait_event(raw3270_wait_queue, atomic_read(&view->ref_count) == 0); in raw3270_del_view()
1007 if (view->fn->free) in raw3270_del_view()
1008 view->fn->free(view); in raw3270_del_view()
1168 if (rp->view) { in raw3270_remove()
1169 if (rp->view->fn->deactivate) in raw3270_remove()
1170 rp->view->fn->deactivate(rp->view); in raw3270_remove()
1171 rp->view = NULL; in raw3270_remove()