From: Javier Martinez Canillas <javier@dowhile0.org>
To: "Andrew F. Davis" <afd@ti.com>
Cc: Linus Walleij <linus.walleij@linaro.org>,
Alexandre Courbot <gnurou@gmail.com>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] gpio: Add driver for TI TPIC2810
Date: Mon, 4 Jan 2016 17:07:59 -0300 [thread overview]
Message-ID: <CABxcv=nV-bMROukBHc8_a8soaTTGKEPq_Nz7AJLu1qNbwwxNBA@mail.gmail.com> (raw)
In-Reply-To: <56841820.3040807@ti.com>
Hello Andrew,
[snip]
>
>>> +static const struct i2c_device_id tpic2810_id_table[] = {
>>> + { "tpic2810", },
>>> + { /* sentinel */ }
>>> +};
>>> +MODULE_DEVICE_TABLE(i2c, tpic2810_id_table);
>>> +
>>> +static struct i2c_driver tpic2810_driver = {
>>> + .driver = {
>>> + .name = "tpic2810",
>>> + },
>>> + .probe = tpic2810_probe,
>>> + .remove = tpic2810_remove,
>>> + .id_table = tpic2810_id_table,
>>> +};
>>> +module_i2c_driver(tpic2810_driver);
>>
>>
>> No device tree probing? Which platform uses this?
>> I was expecting an .of_match_table() in .driver.
>>
>
> As far as I know .of_match_table and MODULE_ALIAS for
> DT have no real effect on I2C devices as they match
> on "anything,i2c_name". And only throw an I2C
> MODALIAS to userspace for loading. So we can use
> this device in a DTS without any driver modifications.
>
> At least it worked like this on my test platform
> (am57xx-evm).
>
Is true that it works due how the I2C core is implemented but IMHO
that is wrong and should be fixed at some point.
I posted a patch series [0] to fix most of the I2C drivers in
preparation for this so please add a proper OF table to not introduce
yet another issue to fix.
> I think it might be best to keep drivers DT agnostic
> when possible, in case DT is superseded by something,
> so we don't end up with mountains of dead code.
>
It isn't mountain of code but just simple tables to match a device
with a driver and to report proper module aliases.
The problem with using the I2C device ID as a fallback is that the DT
binding doc list the compatible strings that are valid for this device
but DTB can use "anything,i2c_name" as you said or just "i2c_name" and
so not following the DT bindings.
Also, it would cause problems if there are two I2C drivers with the
same "i2c_name" but a different vendor, so the vendor prefix is
important.
> Thanks,
> Andrew
>
[0]: https://lkml.org/lkml/2015/7/30/519
Best regards,
Javier
prev parent reply other threads:[~2016-01-04 20:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-15 20:10 [PATCH] gpio: Add driver for TI TPIC2810 Andrew F. Davis
2015-12-23 23:29 ` Linus Walleij
2015-12-30 17:45 ` Andrew F. Davis
2016-01-04 20:07 ` Javier Martinez Canillas [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CABxcv=nV-bMROukBHc8_a8soaTTGKEPq_Nz7AJLu1qNbwwxNBA@mail.gmail.com' \
--to=javier@dowhile0.org \
--cc=afd@ti.com \
--cc=gnurou@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).