Re: [i2c] [PATCH 1/5] Implement module aliasing for i2c to translate from device tree names
From: Jon Smirl <hidden>
Date: 2008-01-12 16:26:45
Also in:
linux-i2c, lkml
On 1/12/08, Jean Delvare [off-list ref] wrote:
Hi Jon, On Fri, 11 Jan 2008 20:20:15 +0100, Jean Delvare wrote:quoted
quoted
+{ + /* only powerpc drivers implement the id_table, + * it is empty on other platforms */ + if (id) { + while (id->name[0]) { + if (strcmp(client->driver_name, id->name) == 0)This doesn't look right to me. You should be comparing client->name, not client->driver_name, with id->name. Where id_table is implemented, client->driver_name might not even be set. I see that the next patch in the series makes use of client->driver_name as well, so your code "works"... but this ain't correct still.Err, scratch this (and related comments), I just realized what you were trying to do. That's different from what I had in mind and so I read your code wrong. I'll read it (and test it) again not making this incorrect assumption and my comments will likely be different after that. Well, I still think that it needs to be changed a bit, but probably not in the direction I suggested at first (which, I realize now, has its own share of issues - so it's not fair to me to point you there.)
The common scheme used elsewhere in the kernel for handling more than one device in a single driver is aliases. The i2c code's existing driver_name/type combination is a different way of implementing the same feature. But there is no real need for driver_name/type on any platform if aliases are used. Back in version 10 or 11 I had code in there which replaced the two fields with aliases on all platforms but too many people objected so I removed it.. IMHO, driver_name/type should be removed in new style drivers and replaced with aliases on all platforms since aliases are the standard kernel mechanism.
Sorry for the trouble. I'll post updated comments later today, but I'm also pretty busy with other issues, some of which need to be solved before 2.6.24 is released so I can't really delay them. -- Jean Delvare
-- Jon Smirl jonsmirl@gmail.com