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