add eeprom i2c driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mar 25 2003, at 09:20, Greg KH was caught saying:
> On Tue, Mar 25, 2003 at 03:42:14PM +0100, Jan Dittmer wrote:
> > This adds support for reading eeproms.
> > Tested against latest bk changes with i2c-isa.
> 
> I'd like to hold off in submitting the i2c chip drivers just yet, due to
> the changes for sysfs that are going to be needed for these drivers.
> 
> As an example of the changes necessary, here's a patch against the i2c
> cvs version of the eeprom.c driver that converts it over to use sysfs,
> instead of the /proc and sysctl interface.  It's still a bit rough, but
> you should get the idea of where I'm wanting to go with this.  As you
> can see, it takes about 100 lines of code off of this driver, which is
> nice.
> 
> I'm copying the sensors list too, as they wanted to see how this was
> going to be done.
> 
> Comments?

I would like to suggest completely re-writing the user interface to the 
EEPROM device.  As an applications programmer, I should not have to 
open a separate sysfs file for each 16 bytes in the EEPROM. I should be 
able to open a single file and perform read/write/llseek operations 
on the file descriptor. I don't think that the actual data of the EEPROM 
device is something that belongs in sysfs, just as the data on a hard drive
or from a serial port is not read through their sysfs counterparts.
Furthermore, I think that checksum data is not something that should be 
in the kernel, but in the application that is using it.  An application can 
open() /dev/eepromX (/dev/nvramX maybe?) and read the data and ensure that
the checksum is OK.  Not all applications will have the same checksum
mechanism, location, etc.  

>From my experience in seeing I2C eeproms on embedded systems, most 
people end up writing a custom little driver that does just what I 
said above: read/write/llseek. The eeprom driver should export the data
for each eeprom through /dev/eeprom interfaces This also allows for someone
to add a driver for larger EEPROMs (I have 512byte eeproms on some embedded 
boards) w/o having to add even more entries to sysfs for the remaining data.

~Deepak

-- 
Deepak Saxena
MontaVista Software - Powering the Embedded Revolution - www.mvista.com



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux