[RFC] at24: get devfs name from dt aliase

Trent Piepho tpiepho at kymetacorp.com
Mon Nov 30 10:10:41 PST 2015


On Mon, 2015-11-30 at 08:16 +0100, Sascha Hauer wrote:
> On Fri, Nov 27, 2015 at 08:37:02AM +0000, Trent Piepho wrote:
> > > -----Original Message-----
> > > From: Antony Pavlov [mailto:antonynpavlov at gmail.com]
> > > 
> > > At the moment barebox can't work correctly with more that one at24
> > > eeprom because drivers/eeprom/at24.c tries to register all eeproms as
> > > /dev/eeprom0.
> > 
> > I had this same problem with my system.  It is because different types of EEPROMs have different names and the IDs are assigned sequentially for each different name.  So if you have two 24c02 and one 24c1025, they would have the ids 0, 1, and 0.  The code that produces the IDs for the i2c devices (24c020, 24c021, 2401250) does not know that the eeprom driver will try to make cdevs with the same name pattern from all of them.
> > 
> > I did a different solution, see below, but didn't send it out as I'm not happy with it.  I thought also of an alias like this, but feel like there are also problems with that approach.
> > 
> > 1. It seems like it should not be necessary to add aliases to get the system to work at all.
> 
> Antonys patch falls back to dynamic numbering if no alias is found.

But still some eeproms will not show up with no error message.  It seems
like dynamic numbering should work better than that.

> > 2. My system also has <64 kB xloader which does not use OF to save
> > space.  So alias will not work.  I don't know of an alternative to the
> > alias system when using i2c_register_board_info().
> 
> We also have the approach of putting the name into platform_data, this
> is done with some MMC controllers. However, with an xloader wouldn't it
> be possible to just register the device which you need? You don't need
> all EEPROMs in the xloader, right?

Remains to be seen.  At this point of three types on the board, I'm
using two in the xloader.  It could change with further development.

I suppose adding the name to the platform data would be the best way to
get OF alias like naming.  Though I'd be fine with just dynamic
numbering that works, hence my simple patch to add that.




More information about the barebox mailing list