The header <linux/i2c.h> is provided by glibc and is needed from user-space
because it contains the definitions of e.g. I2C_TENBIT, I2C_SLAVE, ... However,
it contains many declarations and definitions that only make sense when included
from within the kernel, and that make no sense in user-space (e.g.
i2c_master_send(), struct i2c_driver). Additionally, user-space C source files
that include <linux/i2c.h> do not compile.
Created attachment 1124 [details]
An example that demonstrates that <linux/i2c.h> gives compilation problems
The linux headers are not part of glibc, they are added by your distribution and
come from the Linux kernel source package.
There's nothing we can do.