Messages in this thread | | | Date | Wed, 4 Jul 2018 08:56:59 +0200 (CEST) | From | Nikolaus Voss <> | Subject | Re: [PATCH v2 1/2] IIO: st_accel_i2c.c: Simplify access to driver data |
| |
On Wed, 4 Jul 2018, Andy Shevchenko wrote: > On Tue, Jul 3, 2018 at 8:41 AM, Nikolaus Voss > <nikolaus.voss@loewensteinmedical.de> wrote: >> Use device_get_match_data API to simplify access to driver data. > > ..._data() > > But. You actually don't use it below.
It is used, see below.
> >> Let acpi_device_id table entries point to the same driver data as >> of_device_id table entries and uniquify access to driver data by using >> device_get_match_data API. > >> #include <linux/acpi.h> >> #include <linux/i2c.h> >> #include <linux/iio/iio.h> > >> +#include <linux/of_device.h> > > (linux/property.h) > >> + match = of_device_get_match_data(&client->dev); >> + if (!match) >> + match = acpi_device_get_match_data(&client->dev); > > What I meant is to simply call > > match = device_get_match_data(...);
Ok, this works, thank you. I will prepare a new patch version.
This is where the match data is used:
> >> + if (match) >> + strlcpy(client->name, match, sizeof(client->name)); > >
In this driver, match data is used to map DT compatible strings/ ACPI CIDs to the key strings (.._ACCEL_DEV_NAME) which are used to identify the actual device (and are also used in i2c_device_id table).
Niko
| |