Lines Matching refs:driver
38 struct host1x_driver *driver,
58 if (of_match_node(driver->subdevs, child) &&
60 err = host1x_subdev_add(device, driver, child);
86 * @driver: host1x driver
89 struct host1x_driver *driver)
95 if (of_match_node(driver->subdevs, np) &&
97 err = host1x_subdev_add(device, driver, np);
144 * first active subdevice, so unload the driver first.
185 * The driver for the host1x logical device can call this during execution of
187 * The client drivers access the subsystem specific driver data using the
188 * &host1x_client.parent field and driver data associated with it (usually by
228 * When the driver for a host1x logical device is unloaded, it can call this
417 struct host1x_driver *driver)
436 device->driver = driver;
440 dev_set_name(&device->dev, "%s", driver->driver.name);
450 err = host1x_device_parse_dt(device, driver);
492 struct host1x_driver *driver)
500 if (device->driver == driver) {
506 err = host1x_device_add(host1x, driver);
514 struct host1x_driver *driver)
521 if (device->driver == driver)
561 * The host1x controller driver uses this to register a host1x controller with
567 struct host1x_driver *driver;
575 list_for_each_entry(driver, &drivers, list)
576 host1x_attach_driver(host1x, driver);
590 * The host1x controller driver uses this to remove a host1x controller from
595 struct host1x_driver *driver;
599 list_for_each_entry(driver, &drivers, list)
600 host1x_detach_driver(host1x, driver);
613 struct host1x_driver *driver = to_host1x_driver(dev->driver);
616 if (driver->probe)
617 return driver->probe(device);
624 struct host1x_driver *driver = to_host1x_driver(dev->driver);
627 if (driver->remove)
628 return driver->remove(device);
635 struct host1x_driver *driver = to_host1x_driver(dev->driver);
638 if (driver->shutdown)
639 driver->shutdown(device);
643 * host1x_driver_register_full() - register a host1x driver
644 * @driver: host1x driver
647 * Drivers for host1x logical devices call this function to register a driver
649 * registration of the driver actually triggers tho logical device creation.
652 int host1x_driver_register_full(struct host1x_driver *driver,
657 INIT_LIST_HEAD(&driver->list);
660 list_add_tail(&driver->list, &drivers);
666 host1x_attach_driver(host1x, driver);
670 driver->driver.bus = &host1x_bus_type;
671 driver->driver.owner = owner;
672 driver->driver.probe = host1x_device_probe;
673 driver->driver.remove = host1x_device_remove;
674 driver->driver.shutdown = host1x_device_shutdown;
676 return driver_register(&driver->driver);
681 * host1x_driver_unregister() - unregister a host1x driver
682 * @driver: host1x driver
684 * Unbinds the driver from each of the host1x logical devices that it is
687 void host1x_driver_unregister(struct host1x_driver *driver)
691 driver_unregister(&driver->driver);
696 host1x_detach_driver(host1x, driver);
701 list_del_init(&driver->list);