i2c-tools: Discussion points about future library

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

 



Hi all,

There are two points which may need to be discussed concerning the
upcoming library in i2c-tools [1] [2].

[1] http://www.lm-sensors.org/wiki/I2CTools_4_Plan
[2] http://marc.info/?l=linux-i2c&m=133182689203486&w=2

First point is the name of the library. My original intent was to name
it libi2c-dev, because the library is essentially a front-end to the
i2c-dev kernel driver, and also because this is what Debian named their
package currently containing the (i2c-tools flavor of)
<linux/i2c-dev.h>. However Aurélien Jarno suggested that libi2c would
be just as fine, and easier/shorter. I am mostly convinced by now. I am
curious if anyone wants to express an opinion on the matter?

Second point is the creation of a header file to ease the migration of
tools from the old model (i2c-tools flavor of <linux/i2c-dev.h>) to the
new model (library with its header files + unchanged kernel headers).
Right now, the migration path looks like this:

+#include <sys/ioctl.h>
+#include <i2c/smbus.h>
 #include <linux/i2c-dev.h>

for SMBus tools, and this:

+#include <sys/ioctl.h>
+#include <linux/i2c.h>
 #include <linux/i2c-dev.h>
 
for I2C tools. I am happy with this, but Aurélien insisted that it
would be more friendly if tools only needed to include one header file
in order to make use of the library. For this we would need to create
an extra header file only including the other header files. Something
like <i2c/i2c.h> containing:

#include <sys/ioctl.h>
#include <linux/i2c.h>
#include <linux/i2c-dev.h>
#include <i2c/smbus.h>

This would have the downside that tools end up (indirectly) including
header files they don't necessarily need. And migrating every tool is
still needed, as you would then still have to do:

-#include <linux/i2c-dev.h>
+#include <i2c/i2c.h>

I admit this is slightly easier than my initial plan, but the benefit
doesn't strike me as fundamental. Here again I would appreciate if
users of the i2c-dev driver could comment on this. I know that
libsensors (the only library I am intimately familiar with) does not
provide such an extra header file, but that's only one example so it
might not be relevant.

Thanks,
-- 
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux