Message ID | 1391516352-32359-2-git-send-email-mporter@linaro.org |
---|---|
State | Rejected |
Headers | show |
On Tue, Feb 04, 2014 at 07:19:07AM -0500, Matt Porter wrote: > Voltage regulators are needed very early due to deferred probe > being incompatible with built-in USB gadget drivers. What does it need to fix those instead?
On Wed, Feb 05, 2014 at 10:08:18AM +0100, Wolfram Sang wrote: > On Tue, Feb 04, 2014 at 07:19:07AM -0500, Matt Porter wrote: > > > Voltage regulators are needed very early due to deferred probe > > being incompatible with built-in USB gadget drivers. > > What does it need to fix those instead? [added Alan/Felipe for more insight] Discussion on that topic came about from this submission: http://www.spinics.net/lists/linux-usb/msg94217.html End of it is: http://www.spinics.net/lists/linux-usb/msg94731.html We can either add to the many drivers that already do subsys_initcall() for similar reasons...or I can drop this from the series and add gadget probe ordering to my TODO list. In short, it can't be a late_initcall() hack like the original post and really could be solved by converting to a real bus (and letting deferred probe do its job)..but Alan voiced concerns about that. -Matt -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, 5 Feb 2014, Matt Porter wrote: > On Wed, Feb 05, 2014 at 10:08:18AM +0100, Wolfram Sang wrote: > > On Tue, Feb 04, 2014 at 07:19:07AM -0500, Matt Porter wrote: > > > > > Voltage regulators are needed very early due to deferred probe > > > being incompatible with built-in USB gadget drivers. > > > > What does it need to fix those instead? > > [added Alan/Felipe for more insight] > > Discussion on that topic came about from this submission: > http://www.spinics.net/lists/linux-usb/msg94217.html > > End of it is: > http://www.spinics.net/lists/linux-usb/msg94731.html > > We can either add to the many drivers that already do subsys_initcall() > for similar reasons...or I can drop this from the series and add gadget > probe ordering to my TODO list. > > In short, it can't be a late_initcall() hack like the original post and > really could be solved by converting to a real bus (and letting > deferred probe do its job)..but Alan voiced concerns about that. Don't worry too much about what I said. If adding a "gadget" bus will solve the problem in an appropriate way, and if nobody else objects (particularly Felipe, who is on vacation now), then go for it. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Feb 05, 2014 at 10:30:29AM -0500, Alan Stern wrote: > On Wed, 5 Feb 2014, Matt Porter wrote: > > > On Wed, Feb 05, 2014 at 10:08:18AM +0100, Wolfram Sang wrote: > > > On Tue, Feb 04, 2014 at 07:19:07AM -0500, Matt Porter wrote: > > > > > > > Voltage regulators are needed very early due to deferred probe > > > > being incompatible with built-in USB gadget drivers. > > > > > > What does it need to fix those instead? > > > > [added Alan/Felipe for more insight] > > > > Discussion on that topic came about from this submission: > > http://www.spinics.net/lists/linux-usb/msg94217.html > > > > End of it is: > > http://www.spinics.net/lists/linux-usb/msg94731.html > > > > We can either add to the many drivers that already do subsys_initcall() > > for similar reasons...or I can drop this from the series and add gadget > > probe ordering to my TODO list. > > > > In short, it can't be a late_initcall() hack like the original post and > > really could be solved by converting to a real bus (and letting > > deferred probe do its job)..but Alan voiced concerns about that. > > Don't worry too much about what I said. If adding a "gadget" bus will > solve the problem in an appropriate way, and if nobody else objects > (particularly Felipe, who is on vacation now), then go for it. Ok, I'll take a look at what can be done and restart the conversation when Felipe returns. Wolfram: given this, as I mentioned, I'll simply drop this patch from the series and work around it for now. This will probably make Lee and Mark happy to not see subsys_initcall() in the MFD/regulator drivers as well. -Matt -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/i2c/busses/i2c-bcm-kona.c b/drivers/i2c/busses/i2c-bcm-kona.c index 18a74a6..bfd4056 100644 --- a/drivers/i2c/busses/i2c-bcm-kona.c +++ b/drivers/i2c/busses/i2c-bcm-kona.c @@ -901,7 +901,19 @@ static struct platform_driver bcm_kona_i2c_driver = { .probe = bcm_kona_i2c_probe, .remove = bcm_kona_i2c_remove, }; -module_platform_driver(bcm_kona_i2c_driver); + +static int __init bcm_kona_i2c_init_driver(void) +{ + return platform_driver_register(&bcm_kona_i2c_driver); +} +/* PMU access is needed early so use subsys init */ +subsys_initcall(bcm_kona_i2c_init_driver); + +static void __exit bcm_kona_i2c_exit_driver(void) +{ + platform_driver_unregister(&bcm_kona_i2c_driver); +} +module_exit(bcm_kona_i2c_exit_driver); MODULE_AUTHOR("Tim Kryger <tkryger@broadcom.com>"); MODULE_DESCRIPTION("Broadcom Kona I2C Driver");