[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1807040846060.6169@fox.voss.local>
Date: Wed, 4 Jul 2018 08:56:59 +0200 (CEST)
From: Nikolaus Voss <nikolaus.voss@...wensteinmedical.de>
To: Andy Shevchenko <andy.shevchenko@...il.com>
cc: Jonathan Cameron <jic23@...nel.org>,
Hartmut Knaack <knaack.h@....de>,
Lars-Peter Clausen <lars@...afoo.de>,
Peter Meerwald-Stadler <pmeerw@...erw.net>,
Lorenzo Bianconi <lorenzo.bianconi83@...il.com>,
Linus Walleij <linus.walleij@...aro.org>,
Xiongfeng Wang <xiongfeng.wang@...aro.org>,
linux-iio@...r.kernel.org,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
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@...wensteinmedical.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
Powered by blists - more mailing lists