Re: [PATCH] i2c: exynos5: register driver early in subsys initcall to avoid probe defer

From: Marek Szyprowski
Date: Thu Nov 19 2015 - 08:20:50 EST


Hello,

On 2015-11-01 17:02, Wolfram Sang wrote:
On Fri, Oct 30, 2015 at 03:23:28PM +0100, Marek Szyprowski wrote:
i2c bus drivers should be registered earlier than typical drivers to let
important i2c devices (like PMICs/regulators) get registered early
enough to avoid probe defer of all devices in typical embedded system.

Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
I don't accept such patches anymore. Some more background:

http://www.spinics.net/lists/linux-i2c/msg13102.html
http://www.spinics.net/lists/linux-i2c/msg16644.html

Well, then how can we get Exynos5xxx-based boards working with USB gadget
driver compiled-in? USB Device controller driver (UDC) needs regulator to
probe successfully. On the other hand USB gadget subsystem doesn't wait
until all UDC drivers gets probed and fails to bind compiled-in gadget
drivers if no UDC is available on probe time.

This problem is known for ages, there were number of attempts to add
support for deferred probe or solve the problem of deferred UDC driver
probe, but none got accepted so far:

http://www.spinics.net/lists/linux-usb/msg102795.html (20 Feb 2014)
http://www.spinics.net/lists/linux-usb/msg105279.html (2 Apr 2014)
http://thread.gmane.org/gmane.linux.usb.general/109745 (10 Jun 2014)
https://lkml.org/lkml/2015/6/22/554 (23 Jun 2015)

Till now it worked somehow for boards with older i2c bus drivers, which
were registered in subsys initcall. Boards, which use newer i2c bus drivers
cannot be used with usb gadgets compiled-in.

Best regards
--
Marek Szyprowski, PhD
Samsung R&D Institute Poland

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/