From: Kieran Bingham <kieran@ksquared.org.uk>
To: Wolfram Sang <wsa@the-dreams.de>,
Javier Martinez Canillas <javier@osg.samsung.com>
Cc: Lee Jones <lee.jones@linaro.org>,
linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
grant.likely@linaro.org, sameo@linux.intel.com
Subject: Re: [PATCHv5 0/8] 2c: Relax mandatory I2C ID table passing
Date: Fri, 10 Jun 2016 11:03:46 +0100 [thread overview]
Message-ID: <575A9082.9060804@bingham.xyz> (raw)
In-Reply-To: <20160609200405.GE23522@katana>
Hi Wolfram,
On 09/06/16 21:04, Wolfram Sang wrote:
> On Thu, Jun 09, 2016 at 03:45:52PM -0400, Javier Martinez Canillas wrote:
>> Hello Wolfram,
>>
>> On 06/09/2016 03:15 PM, Wolfram Sang wrote:
>>> Hi Kieran,
>>>
>>>> * Device Tree
>>>> I tested that the device would still register by adding a node in the device
>>>> tree for the board, and testing with a built-in module.
>>>>
>>>> - This worked fine.
>>>>
>>>> * Module Autoloading
>>>> With the device tree node in the board dts file, it wouldn't automatically
>>>> load from the external module. This was due to the rtc-ds1307 module not
>>>> exporting an of_match table, and not yet having Javier's "report OF style
>>>> modalias when probing using DT" [0] patch applied
>
> Let's call this a)
>
>>>
>>> What I didn't get here: did your version of the RTC driver use probe()
>>> or probe_new() without i2c_device_id table or did you try both? I assume
>>> module autoloading only fails with probe_new(), otherwise we would be in
>>> serious trouble. But I'd wonder then that userspace instantiation works.
>>>
>>
>> I can't answer for Kieran but you trimmed this last sentence from him:
>>
>>> - With the module updated, and Javiers patch applied, the module autoloads
> Let's call this b)
>
>>>
>>
>> So my understanding is that by updated he meant a patched rtc-ds1307 driver
>> using a .probe_new, whose i2c_device_id table was removed and of_device_id
>> table added (that's not present in the mainline driver).
>>
>> And that's why he needed my RFC patch to report a MODALIAS=of:N*T*Cfoo,bar
>> and match what's exported to the module using the of_device_id table.
>>
>> Because drivers that only use .probe and have an i2c_device_id table will
>> continue to match and report MODALIAS=i2c:foo as before after this series.
Yes, Javier's interpretation is correct here.
> Yes, this is my understanding and expectation, too. However, he wrote
> that module loading fails on a) where he never wrote anything about an
> updated module before. That comes only later with b). So what I would
> have expected:
>
> 1) update the module (which is "b)" above)
> 2) autoloading fails (which is "a)" above)
> 3) applying your patch
> 4) everything works
>
> which implies
>
> 0) nothing done, everything works
>
> But I don't see this in the text, so I better ask. This also raises the
> question open how userspace instantiation was tested. With or without
> updating (ideally both).
Well it's a month later, and I can't remember - so I've retested.
Kernel built with this patchset - and *without* Javiers patch for 0)
position test.
RTC_DS1307 driver *unmodified*
root@arm:~# uname -a
Linux arm 4.7.0-rc2-00027-g72baec98c9f0 #27 SMP Fri Jun 10 10:42:09 BST
2016 armv7l GNU/Linux
root@arm:~# lsmod
Module Size Used by Not tainted
omap_rng 3927 0
rng_core 6410 1 omap_rng
rtc_ds1307 12121 0
root@arm:~# cat /sys/class/rtc/rtc0/device/modalias
i2c:ds1307
root@arm:~# cat /sys/class/rtc/rtc0/date
2016-06-10
* Module autoload successful,
* i2c read successful.
Code tested at
repository https://github.com/kbingham/linux.git
tag i2c-dt/v4.7-rc2-relax-conversion-zero-test
Is this what you were looking for?
> Thanks,
>
> Wolfram
>
--
Regards
Kieran Bingham
next prev parent reply other threads:[~2016-06-10 10:03 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-04 15:14 [PATCHv5 0/8] 2c: Relax mandatory I2C ID table passing Kieran Bingham
2016-05-04 15:14 ` [PATCHv5 1/8] i2c: Add pointer dereference protection to i2c_match_id() Kieran Bingham
2016-05-10 4:54 ` Javier Martinez Canillas
2016-05-04 15:14 ` [PATCHv5 2/8] i2c: Add the ability to match device to compatible string without an of_node Kieran Bingham
2016-05-10 4:57 ` Javier Martinez Canillas
2016-05-04 15:14 ` [PATCHv5 3/8] i2c: Match using traditional OF methods, then by vendor-less compatible strings Kieran Bingham
2016-05-10 4:58 ` Javier Martinez Canillas
2016-05-04 15:14 ` [PATCHv5 4/8] i2c: Make I2C ID tables non-mandatory for DT'ed devices Kieran Bingham
2016-05-10 5:01 ` Javier Martinez Canillas
2016-05-04 15:14 ` [PATCHv5 5/8] i2c: Export i2c_match_id() for direct use by device drivers Kieran Bingham
2016-05-10 5:02 ` Javier Martinez Canillas
2016-05-04 15:14 ` [PATCHv5 6/8] i2c: Provide a temporary .probe_new() call-back type Kieran Bingham
2016-05-10 5:04 ` Javier Martinez Canillas
2016-05-04 15:14 ` [PATCHv5 7/8] mfd: 88pm860x: Move over to new I2C device .probe() call Kieran Bingham
2016-05-10 5:07 ` Javier Martinez Canillas
2016-05-04 15:14 ` [PATCHv5 8/8] mfd: as3722: Rid driver of superfluous I2C device ID structure Kieran Bingham
2016-05-10 5:20 ` Javier Martinez Canillas
2016-05-10 7:33 ` Lee Jones
2016-05-10 13:23 ` Javier Martinez Canillas
2016-05-10 14:01 ` Lee Jones
2016-05-10 14:39 ` [PATCH] cocci: Find i2c drivers with an of_device table that isn't exported Kieran Bingham
2016-05-10 15:07 ` [PATCH] cocci: Provide script to find i2c_tables missing exports Kieran Bingham
2016-05-11 20:07 ` Javier Martinez Canillas
2016-05-09 9:14 ` [PATCHv5 0/8] 2c: Relax mandatory I2C ID table passing Lee Jones
2016-05-09 13:21 ` Javier Martinez Canillas
2016-05-10 5:31 ` Javier Martinez Canillas
2016-05-10 7:48 ` Kieran Bingham
2016-06-09 14:24 ` Lee Jones
2016-06-09 19:15 ` Wolfram Sang
2016-06-09 19:45 ` Javier Martinez Canillas
2016-06-09 20:04 ` Wolfram Sang
2016-06-10 10:03 ` Kieran Bingham [this message]
2016-06-10 11:00 ` Wolfram Sang
2016-06-10 12:07 ` Kieran Bingham
2016-06-10 13:32 ` Wolfram Sang
2016-06-12 21:13 ` [TEST PATCH] rtc: convert ds1307 to interim probe_new Kieran Bingham
2016-06-12 21:26 ` kbuild test robot
2016-06-12 21:26 ` kbuild test robot
2016-06-12 21:26 ` kbuild test robot
2016-06-12 21:26 ` kbuild test robot
2016-06-13 17:13 ` Wolfram Sang
2016-07-11 9:13 ` Kieran Bingham
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=575A9082.9060804@bingham.xyz \
--to=kieran@ksquared.org.uk \
--cc=grant.likely@linaro.org \
--cc=javier@osg.samsung.com \
--cc=lee.jones@linaro.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sameo@linux.intel.com \
--cc=wsa@the-dreams.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.