i2c-2.8.0 : userspace applications using /dev interface

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

 



> We lack some understanding on how i2c-2.8.0 userspace applications
> using the/dev interface and ioctl()s have to be programmed (we tested
> with kernel 2.4.22).
> 
> It seem to be necessary to include i2c.h in addition to i2c-dev.h in
> order to get access to defines like I2C_SLAVE for the ioctl()s.
> 
> However, i2c.h can not be included by userspace applications because
> it uses kernel space typedefs and declarations.
> This is in agreement with your example in the LM Sensors project
> (prog/detect/i2cdetect.c). It uses I2C_SLAVE without including i2c.h.
> 
> Is there a way out here ?

I had a hard time understanding how it can work, and it turns out that
the trick is that there are *two* different versions of i2c-dev.h. The
version that comes with i2c is small and intended for internal use only.
The version that comes with lm_sensors is huge, and contains a large
part of i2c.h, so that usespace applications can include it and work as
intended. Use that second version, and everything should be OK. That is
how i2cdetect, among others, is doing.

-- 
Jean Delvare
http://www.ensicaen.ismra.fr/~delvare/



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

  Powered by Linux