drivers: amba: properly handle devices with power domains
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 15 Apr 2016 09:13:32 +0000 (11:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 May 2016 21:20:04 +0000 (14:20 -0700)
commit3385af8c9d63be16295ae625d1ed81052167efb3
tree7476e219262f07ca2fc2bdc4f5790cb0db7c73cd
parent8d026465ecf68823c633f7b60d39a8a17dd3bc27
drivers: amba: properly handle devices with power domains

To read pid/cid registers, the probed device need to be properly turned on.
When it is inside a power domain, the bus code should ensure that the
given power domain is enabled before trying to access device's registers.
However in some cases power domain (or clocks) might not be yet available.
Returning -EPROBE_DEFER is not a solution in such case, because callers
don't handle this special error code. Instead such devices are added to the
special list and their registration is retried from periodic worker until
all resources are available.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/amba/bus.c