Re: [PATCH v2 2/2] hwmon: (adt7475) Convert to use device_property APIs

From: Guenter Roeck
Date: Wed Apr 19 2023 - 12:06:20 EST


On Wed, Apr 19, 2023 at 11:36:56AM +1200, Chris Packham wrote:
> Instead of of_property_read_*() use the equivalent
> device_property_read_*() API. This will allow these properties to be
> used on DT unaware platforms. For DT aware platforms this will be a
> noop.
>
> Signed-off-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>
> ---
>
> Notes:
> This is an additional update for master from the preceeding bugfix
> commit. I've not added a fixes tag for this one because I don't think
> there will be a behaviour change for existing usages.
>
> I know we have one upcoming DT unaware platform that we may want to use
> some of these properties via ACPI tables so I won't object if this ends
> up on the stable track but I don't think it meets the criteria for
> stable.
>
> drivers/hwmon/adt7475.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/hwmon/adt7475.c b/drivers/hwmon/adt7475.c
> index 6a6ebcc896b1..3b9289bc5997 100644
> --- a/drivers/hwmon/adt7475.c
> +++ b/drivers/hwmon/adt7475.c
> @@ -1468,7 +1468,7 @@ static int load_config3(const struct i2c_client *client, const char *propname)
> u8 config3;
> int ret;
>
> - ret = of_property_read_string(client->dev.of_node, propname, &function);
> + ret = device_property_read_string(&client->dev, propname, &function);

Unfortunately that is a problem because the parameter passed to
load_config3 is a pointer to a const data structure and
device_property_read_string doesn't like that (afaics for
no good reason). You'll also have to change the client parameter
to load_config() and friends to not be const.

Guenter