diff options
author | Johan Hovold <jhovold@gmail.com> | 2013-09-23 16:27:26 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-09-26 16:18:32 -0700 |
commit | 3f9120b0424f3e03c75518cb751f9e2bfa73c32a (patch) | |
tree | cee0874824b0b605086055c927671a15ce1bbd68 /include/linux/platform_device.h | |
parent | eee031649707db3c9920d9498f8d03819b74fc23 (diff) | |
download | lwn-3f9120b0424f3e03c75518cb751f9e2bfa73c32a.tar.gz lwn-3f9120b0424f3e03c75518cb751f9e2bfa73c32a.zip |
driver core: prevent deferred probe with platform_driver_probe
Prevent drivers relying on platform_driver_probe from requesting
deferred probing in order to avoid further futile probe attempts (either
the driver has been unregistered or its probe function has been set to
platform_drv_probe_fail when probing is retried).
Note that several platform drivers currently return subsystem errors
from probe and that these can include -EPROBE_DEFER (e.g. if a gpio
request fails).
Add a warning to platform_drv_probe that can be used to catch drivers
that inadvertently request probe deferral while using
platform_driver_probe.
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/platform_device.h')
-rw-r--r-- | include/linux/platform_device.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h index ce8e4ffd78c7..16f6654082dd 100644 --- a/include/linux/platform_device.h +++ b/include/linux/platform_device.h @@ -178,6 +178,7 @@ struct platform_driver { int (*resume)(struct platform_device *); struct device_driver driver; const struct platform_device_id *id_table; + bool prevent_deferred_probe; }; #define to_platform_driver(drv) (container_of((drv), struct platform_driver, \ |