diff options
Diffstat (limited to 'kernel/Documentation/driver-model/platform.txt')
-rw-r--r-- | kernel/Documentation/driver-model/platform.txt | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/kernel/Documentation/driver-model/platform.txt b/kernel/Documentation/driver-model/platform.txt index 07795ec51..e456696cf 100644 --- a/kernel/Documentation/driver-model/platform.txt +++ b/kernel/Documentation/driver-model/platform.txt @@ -63,6 +63,20 @@ runtime memory footprint: int platform_driver_probe(struct platform_driver *drv, int (*probe)(struct platform_device *)) +Kernel modules can be composed of several platform drivers. The platform core +provides helpers to register and unregister an array of drivers: + + int __platform_register_drivers(struct platform_driver * const *drivers, + unsigned int count, struct module *owner); + void platform_unregister_drivers(struct platform_driver * const *drivers, + unsigned int count); + +If one of the drivers fails to register, all drivers registered up to that +point will be unregistered in reverse order. Note that there is a convenience +macro that passes THIS_MODULE as owner parameter: + + #define platform_register_driver(drivers, count) + Device Enumeration ~~~~~~~~~~~~~~~~~~ |