lkml.org 
[lkml]   [2018]   [Jul]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v2 2/2] IIO: st_accel_i2c.c: Use probe_new() instead of probe()
    On Wed, 4 Jul 2018, Andy Shevchenko wrote:
    > On Tue, Jul 3, 2018 at 9:06 AM, Nikolaus Voss
    > <nikolaus.voss@loewensteinmedical.de> wrote:
    >> struct i2c_device_id argument of probe() is not used, so use probe_new()
    >> instead.
    >>
    >
    > This makes...
    >
    >> MODULE_DEVICE_TABLE(i2c, st_accel_id_table);
    >
    > ...this table obsolete IIUC. At least that's what I did when switched
    > to ->probe_new() in some drivers.
    >
    > If I'm mistaken (again? :-) ) I would hear from someone to point me
    > how it can be used after a switch.

    It is still used by the i2c-core in i2c_device_match() if DT and ACPI
    matching fails. And it is used to create the corresponding modaliases for
    driver loading. So it is necessary for non-DT/ non-ACPI systems and used
    for fallback matching if no match is found in of_device_ids.

    >
    >>
    >> -static int st_accel_i2c_probe(struct i2c_client *client,
    >> - const struct i2c_device_id *id)
    >> +static int st_accel_i2c_probe(struct i2c_client *client)
    >> {
    >> struct iio_dev *indio_dev;
    >> struct st_sensor_data *adata;
    >> @@ -182,7 +181,7 @@ static struct i2c_driver st_accel_driver = {
    >> .of_match_table = of_match_ptr(st_accel_of_match),
    >> .acpi_match_table = ACPI_PTR(st_accel_acpi_match),
    >> },
    >> - .probe = st_accel_i2c_probe,
    >> + .probe_new = st_accel_i2c_probe,
    >> .remove = st_accel_i2c_remove,
    >> .id_table = st_accel_id_table,
    >> };
    >> --
    >> 2.17.1
    >>
    >
    >
    >
    >

    \
     
     \ /
      Last update: 2018-07-04 08:39    [W:6.751 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site