Re: [PATCH 1/4] eeprom: at24: don't assign the i2c ID table to at24_driver
From: Bartosz Golaszewski
Date: Wed Apr 11 2018 - 07:14:55 EST
2018-04-11 12:12 GMT+02:00 Peter Rosin <peda@xxxxxxxxxx>:
> On 2018-04-11 12:09, Bartosz Golaszewski wrote:
>> 2018-04-11 11:56 GMT+02:00 Peter Rosin <peda@xxxxxxxxxx>:
>>> On 2018-04-10 15:12, Bartosz Golaszewski wrote:
>>>> We switched to using probe_new(), so this is no longer used
>>>> by i2c core.
>>>
>>> It seems to be used in i2c_device_match() ???
>>>
>>> This could easily be me not understanding something...
>>>
>>
>> Yes, but i2c core no longer uses the id_table field in struct
>> i2c_driver. We call i2c_device_match() ourselves instead of letting
>> i2c core do it and pass the driver data to probe().
>>
>> Hope that helps,
>> Bartosz
>>
>
> But, i2c_device_match is a static function in the core. I think you
> are confusing it with i2c_match_id, which is in fact called from
> the static i2c_device_match (with is a bus operation).
>
Right. So probe_new() in i2c no longer has the id parameter and the
users are supposed to call i2c_match_id() themselves but
i2c_device_match() still expects the id_table to be present in struct
i2c_driver. I should have tested it with some board that uses platform
data.
Consider this patch dropped.
Thanks for spotting that,
Bartosz