Re: [PATCH 1/2] drivers/misc/eeprom/men_eeprod: Introduce MEN Board Information EEPROM driver

From: Andreas Werner
Date: Thu Oct 16 2014 - 05:30:13 EST


On Thu, Oct 16, 2014 at 10:58:35AM +0200, Wolfram Sang wrote:
> * PGP Signed by an unknown key
>
> On Thu, Oct 16, 2014 at 10:15:08AM +0200, Andreas Werner wrote:
> > Added driver to support the MEN Board Information EEPROM.
> > The driver exports the production information as read only sysfs
> > entries, as well as a user section which is read/write accessible.
> >
> > Tested on PPC QorIQ and Intel Atom E680.
> >
> > Tested-by: Johannes Thumshirn <johannes.thumshirn@xxxxxx>
> > Signed-off-by: Andreas Werner <andreas.werner@xxxxxx>
>
> I guess this is just a standard EEPROM with a well defined layout?
> Why don't you want to use the standard driver then and parse the thing
> in userspace?
>

Yes it is a standard 256byte eeprom.
I do not want to parse the things in userspace because this EEPROM data
are related to the hardware and i want to give our customer the easiest way
to access the data without installing any tool.

The current state to read the eeprom data is, that customer needs to install a big
environment where the tool is integrated to have access to those kind of simple
data or they have to write their own code.

If our support department get some questions from the customer they always want
to have exact information about the board. Therefore I want to use this driver
and sysfs to get the informations as fast as possible without installing anything.

> Consider how bloated the sysfs-ABI might get if every vendor who uses an
> eeprom wants to expose the data this way?
>

Yes and no. The possible sysfs entries gets bloated if every vendor will do it
like this way, but normally there is just one Board EEPROM on the board, therefore
only one driver gets loaded.

I mean its the same for every i2c device like a temperature sensor, I can also
read it from userspace without any special hwmon driver.

> > +struct eeprom_data {
> > + uint8_t eeprod_id;
> > +
> > + uint8_t revision[3];
> > + uint32_t serialnr;
> > + uint8_t board_model;
> > + char hw_name[6];
> > +
> > + uint8_t reserved;
> > +
> > + __be16 prod_date;
> > + __be16 rep_date;
> > +
> > + uint8_t reserved2[4];
> > +};
>
> And what if the compiler reorders?

Shit you are right, I will pack it.#

>
>
> * Unknown Key
> * 0x14A029B6

Regards
Andy
--
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/