[PATCH v3 1/4] of: adapt of_find_i2c_driver() to be usable by SPI also

Grant Likely grant.likely at secretlab.ca
Sat Jul 26 02:21:27 EST 2008


On Fri, Jul 25, 2008 at 11:40 AM, Jon Smirl <jonsmirl at gmail.com> wrote:
> On 7/25/08, Grant Likely <grant.likely at secretlab.ca> wrote:
>> From: Grant Likely <grant.likely at secretlab.ca>
>>
>>  + * At the moment, a single table is used for all bus types because it is
>>  + * assumed that the data size is small and that the compatible values
>>  + * should already be distinct enough to differentiate between SPI, I2C
>>  + * and other devices.
>
> Maybe add a section recommending to update the alias list in the linux
> device driver before adding entries here? This table should be a last
> resort. I'm not even sure this table should exist, what would be a
> case where we would need to make an entry here instead of fixing the
> device driver by adding an alias name?

In principle I agree.  However, this patch is simply porting the i2c
specific code to something that can be used by both SPI and I2C.  I
don't want to rework the actual mechanism in this particular patch.  I
can submit an additional patch to change this along with reworking
some of the behavior that needs to be improved.

>>  + * First method is to lookup the compatible value in of_modalias_table.
>>  + * Second is to look for a "linux,<modalias>" entry in the compatible list
>>  + * and used that for modalias.  Third is to strip off the manufacturer
>>  + * prefix from the first compatible entry and use the remainder as modalias
>
> I also think this is a problem. Embedding the name of Linux device
> drivers into device firmware makes it almost impossible to rename the
> device driver.  Again, what is a case where generic part numbers can't
> be listed in the alias section of the linux device driver?
>
> Even eeprom was just fixed to take generic part numbers (at24).

Again, I agree, but this change is very much a stop gap measure to get
things working in a sane way without having to create bad device tree
bindings (device tree bindings are hard to change, code is not).  I've
been considering posting a patch to remove this clause from the
functions, but that needs to be reviewed separately from this change.

Thanks,
g.

-- 
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.



More information about the Linuxppc-dev mailing list