summaryrefslogtreecommitdiffstats
path: root/kernel/Documentation/driver-model/platform.txt
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/Documentation/driver-model/platform.txt')
-rw-r--r--kernel/Documentation/driver-model/platform.txt14
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
~~~~~~~~~~~~~~~~~~