Re: [PATCH] Platform: x86: chromeos_laptop: defer probing if no i2cbusses found

From: Olof Johansson
Date: Thu Apr 18 2013 - 18:44:26 EST


On Thu, Apr 18, 2013 at 3:05 PM, Olof Johansson <olof@xxxxxxxxx> wrote:
> On Thu, Apr 18, 2013 at 2:55 PM, Olof Johansson <olof@xxxxxxxxx> wrote:
>> If chromeos_laptop is loaded before the DRM driver, the i2c busses will
>> not yet be available. Defer probe for that case and try again later.
>>
>> Trickling the error up to the module init function is unfortuantely a
>> little awkward, since the i2c bus lookup and device registration happens
>> as a dmi callback.
>
> Uh, wait, hold off on this. I'm returning -EPROBE_DEFER from the
> module init function. It's not valid outside of the driver model.

Ugh. Ok, so that worked just because any error seem to re-trigger an
attempt to load the module later on my system (three times, it seems),
and most of the reproductions I had happened to work out on the second
load.

Looks like keeping the module loaded and adding a bus notifier to wait
for the right busses to show up is the only way to do this in a
foolproof way. Revised patch tonight or tomorrow.


-Olof
--
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/