[i2c] [PATCH 0/4] Series to add device tree naming to i2c

Jon Smirl jonsmirl at gmail.com
Mon Dec 10 08:46:19 EST 2007


On 12/9/07, Benjamin Herrenschmidt <benh at kernel.crashing.org> wrote:
>
> > +static struct i2c_device_id rs5c372_id[] = {
> > +       {"rtc-rs5c372", rtc_rs5c372a},
> > +       {"rs5c372a", rtc_rs5c372a},
> > +       {"rs5c372b", rtc_rs5c372b},
> > +       {"rv5c386", rtc_rv5c386},
> > +       {"rv5c387a", rtc_rv5c387a},
> > +       DT_NAME({"ricoh,rs5c372a", rtc_rs5c372a},)
> > +       DT_NAME({"ricoh,rs5c372b", rtc_rs5c372b},)
> > +       DT_NAME({"ricoh,rv5c386", rtc_rv5c386},)
> > +       DT_NAME({"ricoh,rv5c387a", rtc_rv5c387a},)
> > +       {},
> >
> > But what's the point in making these names specific to device trees?
> > They are perfectly valid names for the devices that could be used from
> > any platform.
>
> The more I think about it, the more I tend to agree that tagging isn't
> necessary and you are right. We should just match the name against the
> "compatible" property of the OF nodes (which mean we need to support
> multiple matches though since "compatible" is a list of strings).
>
> Now, I have a question about your example: Why do you have both
> "rs5c372a" and "ricoh,rs5c372a" ?

The "rs5c372a" is unrelated to the device tree changes. In the
existing i2c driver code the driver is named rtc-rs5c372. But this
driver supports five different devices. A secondary i2c parameter
(driver_name, name) is used to tell the rtc-rs5c372 driver that it is
being loaded for use on a rs5c372a, rv5c387a, etc. When I fixed i2c to
support device tree name aliases I also fixed it to use kernel
aliasing to support these drivers that support multiple devices.

>
> I would argue that we should keep only the later...
>
> Cheers,
> Ben.
>
>
>


-- 
Jon Smirl
jonsmirl at gmail.com



More information about the Linuxppc-dev mailing list