Lines Matching refs:controller

287  * These routines manage the current controller, and the list of
293 struct agp_controller *controller;
295 controller = agp_fe.controllers;
297 while (controller != NULL) {
298 if (controller->pid == id)
299 return controller;
300 controller = controller->next;
308 struct agp_controller *controller;
310 controller = kzalloc(sizeof(struct agp_controller), GFP_KERNEL);
311 if (controller == NULL)
314 controller->pid = id;
315 return controller;
318 static int agp_insert_controller(struct agp_controller *controller)
323 controller->next = prev_controller;
326 prev_controller->prev = controller;
328 agp_fe.controllers = controller;
333 static void agp_remove_all_clients(struct agp_controller *controller)
338 client = controller->clients;
356 static void agp_remove_all_memory(struct agp_controller *controller)
361 memory = controller->pool;
370 static int agp_remove_controller(struct agp_controller *controller)
375 prev_controller = controller->prev;
376 next_controller = controller->next;
390 agp_remove_all_memory(controller);
391 agp_remove_all_clients(controller);
393 if (agp_fe.current_controller == controller) {
398 kfree(controller);
402 static void agp_controller_make_current(struct agp_controller *controller)
406 clients = controller->clients;
420 agp_fe.current_controller = controller;
423 static void agp_controller_release_current(struct agp_controller *controller,
429 clients = controller->clients;
453 *agp_find_client_in_controller(struct agp_controller *controller, pid_t id)
457 if (controller == NULL)
460 client = controller->clients;
473 struct agp_controller *controller;
475 controller = agp_fe.controllers;
477 while (controller != NULL) {
478 if ((agp_find_client_in_controller(controller, id)) != NULL)
479 return controller;
480 controller = controller->next;
529 struct agp_controller *controller;
531 controller = agp_find_controller_for_client(id);
532 if (controller == NULL)
535 client = agp_find_client_in_controller(controller, id);
550 controller->clients = next_client;
553 controller->num_clients--;
615 DBG("controller vm_ops=%p", kerninfo.vm_ops);
650 struct agp_controller *controller;
652 controller = agp_find_controller_by_pid(priv->my_pid);
654 if (controller != NULL) {
655 if (controller == agp_fe.current_controller)
656 agp_controller_release_current(controller, priv);
657 agp_remove_controller(controller);
658 controller = NULL;
693 /* Root priv, can be controller */
737 struct agp_controller *controller;
757 controller = agp_find_controller_by_pid(priv->my_pid);
759 if (controller != NULL) {
760 agp_controller_make_current(controller);
762 controller = agp_create_controller(priv->my_pid);
764 if (controller == NULL) {
769 agp_insert_controller(controller);
770 agp_controller_make_current(controller);
971 /* Use the original pid of the controller,