[U-Boot-Users] [Patch 0/9] U-boot-V2: Introduce I2C support for SDP3430

Menon, Nishanth x0nishan at ti.com
Wed Jun 18 17:15:58 CEST 2008


Timur,
> -----Original Message-----
> From: Timur Tabi [mailto:timur at freescale.com]
> Sent: Wednesday, June 18, 2008 9:55 AM
> To: Menon, Nishanth
> Cc: Sascha Hauer; Laurent Desnogues; Kamat, Nishant; philip.balister at gmail.com; u-boot-
> users at lists.sourceforge.net
> Subject: Re: [U-Boot-Users] [Patch 0/9] U-boot-V2: Introduce I2C support for SDP3430
>
> Do we really want to bloat U-Boot with these huge Linux drivers?  U-Boot already
> has I2C support that works pretty well.  Your patchset is overkill, IMHO.
Please see U-boot v2 here: http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot/u-boot-v2.git;a=tree;f=drivers;h=2b524fc7692e5ee0b99843df17a911dd54c84e73;hb=78c2fde77a953351aac8d7e92336eb37b64c0985

It does not have i2c support. And IMHO, using kernel like i2c addition in U-Boot v2 is appropriate. Why this is not a bloat U-Boot v2?
A) Now, if you just want i2c_transfer without any device interface, you don't need to compile in the CHARDEV.
B) Since we use a different linking strategy in U-Boot-v2 which uses gcc link stage to decide which functions be retained and which not, it is pretty neat to see all unused functionality disappear.
C) kernel has additional bus and class types which are useful when we think in terms of varied features, in u-boot v2, we don't have a bus and class, just a plain device+driver interface like the kernel + ioctls to allow "apps" to invoke functionality within the driver for the device. Very linux like, call it a micro-linux ;). So kernel i2c architecture fits u_boot v2 better that u-boot v1's architecture.
D) U-boot v2 has insmod + rmmod -> though this is still to be fixed, once it is fully functioning, you can loadb just the module feature you need. In fact, you could even have a filesystem with just modules....
E) Ofcourse, we work in a single threaded, no interrupt mode in u-boot v2+ don't care for any power management -> more savings there

Now, lets look at how much does it add? As I mentioned, having a flexible i2c architecture adds as little as 6K (including using i2c_transfer, having i2c-core and omap i2c adapter). I do not honestly feel that it is a bloat.

Regards,
Nishanth Menon




More information about the U-Boot mailing list