Lines Matching refs:controller
289 * These routines manage the current controller, and the list of
295 struct agp_controller *controller;
297 controller = agp_fe.controllers;
299 while (controller != NULL) {
300 if (controller->pid == id)
301 return controller;
302 controller = controller->next;
310 struct agp_controller *controller;
312 controller = kzalloc(sizeof(struct agp_controller), GFP_KERNEL);
313 if (controller == NULL)
316 controller->pid = id;
317 return controller;
320 static int agp_insert_controller(struct agp_controller *controller)
325 controller->next = prev_controller;
328 prev_controller->prev = controller;
330 agp_fe.controllers = controller;
335 static void agp_remove_all_clients(struct agp_controller *controller)
340 client = controller->clients;
358 static void agp_remove_all_memory(struct agp_controller *controller)
363 memory = controller->pool;
372 static int agp_remove_controller(struct agp_controller *controller)
377 prev_controller = controller->prev;
378 next_controller = controller->next;
392 agp_remove_all_memory(controller);
393 agp_remove_all_clients(controller);
395 if (agp_fe.current_controller == controller) {
400 kfree(controller);
404 static void agp_controller_make_current(struct agp_controller *controller)
408 clients = controller->clients;
422 agp_fe.current_controller = controller;
425 static void agp_controller_release_current(struct agp_controller *controller,
431 clients = controller->clients;
455 *agp_find_client_in_controller(struct agp_controller *controller, pid_t id)
459 if (controller == NULL)
462 client = controller->clients;
475 struct agp_controller *controller;
477 controller = agp_fe.controllers;
479 while (controller != NULL) {
480 if ((agp_find_client_in_controller(controller, id)) != NULL)
481 return controller;
482 controller = controller->next;
531 struct agp_controller *controller;
533 controller = agp_find_controller_for_client(id);
534 if (controller == NULL)
537 client = agp_find_client_in_controller(controller, id);
552 controller->clients = next_client;
555 controller->num_clients--;
617 DBG("controller vm_ops=%p", kerninfo.vm_ops);
652 struct agp_controller *controller;
654 controller = agp_find_controller_by_pid(priv->my_pid);
656 if (controller != NULL) {
657 if (controller == agp_fe.current_controller)
658 agp_controller_release_current(controller, priv);
659 agp_remove_controller(controller);
660 controller = NULL;
695 /* Root priv, can be controller */
739 struct agp_controller *controller;
759 controller = agp_find_controller_by_pid(priv->my_pid);
761 if (controller != NULL) {
762 agp_controller_make_current(controller);
764 controller = agp_create_controller(priv->my_pid);
766 if (controller == NULL) {
771 agp_insert_controller(controller);
772 agp_controller_make_current(controller);
973 /* Use the original pid of the controller,