Re: [PATCH 01/10] leds: pca953x: Use of_device_get_match_data()

From: Andy Shevchenko
Date: Mon Oct 14 2019 - 13:50:21 EST


On Sat, Oct 5, 2019 at 12:47 AM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote:
>
> This driver can use the of_device_get_match_data() API to simplify the
> code. Replace calls to of_match_device() with this newer API under the
> assumption that where it is called will be when we know the device is
> backed by a DT node. This nicely avoids referencing the match table when
> it is undefined with configurations where CONFIG_OF=n.

> + devid = (int)(uintptr_t)of_device_get_match_data(dev);

> + devid = (int)(uintptr_t)of_device_get_match_data(&client->dev);

This still leaves it OF-centric.
Better to use device_get_match_data().

Also, I'm thinking that following may help to clean a lot of the i2c
client drivers

static inline // perhaps no
const void *i2c_device_get_match_data(struct i2c_client *client, const
struct i2c_device_id *id)
{
if (id)
return (const void *)id->driver_data;
return device_get_match_data(&client->dev);
}

--
With Best Regards,
Andy Shevchenko