ARM: 8524/1: driver cohandle -EPROBE_DEFER from bus_type.match()
authorTomeu Vizoso <tomeu.vizoso@collabora.com>
Mon, 15 Feb 2016 08:25:06 +0000 (09:25 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 16 Feb 2016 16:28:51 +0000 (16:28 +0000)
commit656b8035b0eebcac0172b24ca04e448c70dd047f
tree9310d64d29e0130957ef33362d34c46392f6b42f
parent17f29d36e4732b91ae299a163d34ed1954500f42
ARM: 8524/1: driver cohandle -EPROBE_DEFER from bus_type.match()

Allow implementations of the match() callback in struct bus_type to
return errors and if it's -EPROBE_DEFER then queue the device for
deferred probing.

This is useful to buses such as AMBA in which devices are registered
before their matching information can be retrieved from the HW
(typically because a clock driver hasn't probed yet).

[changed if-else code structure, adjusted documentation to match the code,
extended comments]

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Documentation/driver-model/porting.txt
drivers/base/dd.c
include/linux/device.h