Chapter 18. Device drivers infrastructure

Table of Contents

Device Drivers Base
driver_for_each_device — Iterator for devices bound to a driver.
driver_find_device — device iterator for locating a particular device.
driver_create_file — create sysfs file for driver.
driver_remove_file — remove sysfs file for driver.
get_driver — increment driver reference count.
put_driver — decrement driver's refcount.
driver_register — register driver with bus
driver_unregister — remove driver from system.
driver_find — locate driver on a bus by its name.
dev_driver_string — Return a device's driver name, if at all possible
device_create_file — create sysfs attribute file for device.
device_remove_file — remove sysfs attribute file.
device_create_bin_file — create sysfs binary attribute file for device.
device_remove_bin_file — remove sysfs binary attribute file
device_initialize — init device structure.
device_add — add device to device hierarchy.
device_register — register a device with the system.
get_device — increment reference count for device.
put_device — decrement reference count.
device_del — delete device from system.
device_unregister — unregister device from system.
device_for_each_child — device child iterator.
device_find_child — device iterator for locating a particular device.
device_create — creates a device and registers it with sysfs
device_destroy — removes a device that was created with device_create
device_move — moves a device to a new parent
class_create — create a struct class structure
class_destroy — destroys a struct class structure
class_device_create — creates a class device and registers it with sysfs
class_device_destroy — removes a class device that was created with class_device_create
request_firmware — send firmware request and wait for it
release_firmware — release the resource associated with a firmware image
request_firmware_nowait
transport_class_register — register an initial transport class
transport_class_unregister — unregister a previously registered class
anon_transport_class_register — register an anonymous class
anon_transport_class_unregister — unregister an anon class
transport_setup_device — declare a new dev for transport class association
transport_add_device — declare a new dev for transport class association
transport_configure_device — configure an already set up device
transport_remove_device — remove the visibility of a device
transport_destroy_device — destroy a removed device
dma_pool_create — Creates a pool of consistent memory blocks, for dma.
dma_pool_destroy — destroys a pool of dma memory blocks.
dma_pool_alloc — get a block of consistent memory
dma_pool_free — put block back into dma pool
sysdev_driver_register — Register auxillary driver
sysdev_driver_unregister — Remove an auxillary driver.
sysdev_register — add a system device to the tree
platform_get_resource — get a resource for a device
platform_get_irq — get an IRQ for a device
platform_get_resource_byname — get a resource for a device by name
platform_get_irq_byname — get an IRQ for a device
platform_add_devices — add a numbers of platform devices
platform_device_put
platform_device_alloc
platform_device_add_resources
platform_device_add_data
platform_device_add — add a platform device to device hierarchy
platform_device_del — remove a platform-level device
platform_device_register — add a platform-level device
platform_device_unregister — unregister a platform-level device
platform_device_register_simple
platform_driver_register
platform_driver_unregister
platform_driver_probe — register driver for non-hotpluggable device
bus_for_each_dev — device iterator.
bus_find_device — device iterator for locating a particular device.
bus_for_each_drv — driver iterator
bus_rescan_devices — rescan devices on the bus for possible drivers
device_reprobe — remove driver for a device and probe for a new driver
bus_register — register a bus with the system.
bus_unregister — remove a bus from the system
Device Drivers Power Management
device_pm_set_parent — Specify power dependency.
device_resume — Restore state of each device in system.
device_power_up — Turn on all devices that need special attention.
device_suspend — Save state and stop all devices in system.
device_power_down — Shut down special devices.
Device Drivers ACPI Support
acpi_bus_register_driver — register a driver with the ACPI bus
acpi_bus_unregister_driver — unregisters a driver with the APIC bus
setup_sys_fs_device_files — sets up the device files under device namespace
acpi_bus_match — match device IDs to driver's supported IDs
acpi_bus_driver_init — add a device to a driver
acpi_bus_find_driver — check if there is a driver installed for the device
Device drivers PnP support
pnp_register_protocol — adds a pnp protocol to the pnp layer
pnp_unregister_protocol — removes a pnp protocol from the pnp layer
pnp_remove_device — removes a pnp device from the pnp layer
pnp_add_card_id — adds an EISA id to the specified card
pnp_add_card — adds a PnP card to the PnP Layer
pnp_remove_card — removes a PnP card from the PnP Layer
pnp_add_card_device — adds a device to the specified card
pnp_remove_card_device — removes a device from the specified card
pnp_request_card_device — Searches for a PnP device under the specified card
pnp_release_card_device — call this when the driver no longer needs the device
pnp_register_card_driver — registers a PnP card driver with the PnP Layer
pnp_unregister_card_driver — unregisters a PnP card driver from the PnP Layer
pnp_add_id — adds an EISA id to the specified device
pnp_init_resource_table — Resets a resource table to default values.
pnp_manual_config_dev — Disables Auto Config and Manually sets the resource table
pnp_auto_config_dev — automatically assigns resources to a device
pnp_start_dev — low-level start of the PnP device
pnp_stop_dev — low-level disable of the PnP device
pnp_activate_dev — activates a PnP device for use
pnp_disable_dev — disables device
pnp_resource_change — change one resource
pnp_is_active — Determines if a device is active based on its current resources