Subject: Re: therm_pm72 units, interface

From: Benjamin Herrenschmidt <[email-masked]>
Date: Mon, 05 Aug 2013 20:53:07 +1000

On Mon, 2013-08-05 at 12:32 +0200, Michel Dänzer wrote:
> 
> I did that, sorry should have mentioned that.
> 
> 
> > > @@ -468,5 +478,3 @@ static struct platform_driver
> i2c_powermac_driver
> > > =
> > > {
> > >  };
> > > 
> > >  module_platform_driver(i2c_powermac_driver);
> > > -
> > > -MODULE_ALIAS("platform:i2c-powermac");
> > 
> > Maybe add the module alias back ? It shouldn't be necessary...
> 
> Doesn't help.

Hrm, that might require some more involved debugging, figuring out
what's up with udev etc... that or maybe bisecting.

>>From what I can tell, we do attach an OF node to the platform device,
but since the driver has no of match table, we should still fallback to
the old platform matching style.

I think I see... adding Grant.

Grant, something broke the auto-loading the of i2c-powermac module. It's
a platform device, but while it does have a populated "of_node, its
driver doesn't have an OF match table and relies on the old style
platform device matching.

That's broken with newer kernels, platform_uevent() calls
of_device_uevent_modalias() which sees the of_node and thus doesn't
return -ENOMEM, and we don't create a platform modalias anymore.

Is it legit to add several MODALIAS ? If yes we could add both ... if
not, we have a problem. Doing real OF matching with that critter is
tricky at best for various reasons but it needs the of_node because it
uses it to scan for children.

Any suggestion ?

Cheers,
Ben.