Re: [PATCH 16/18] i2c: i2c-core-base: Use the new i2c_acpi_dev_name() in i2c_set_dev_name()

From: Andy Shevchenko
Date: Mon Nov 30 2020 - 14:20:22 EST


On Mon, Nov 30, 2020 at 07:12:41PM +0200, Laurent Pinchart wrote:
> On Mon, Nov 30, 2020 at 01:31:27PM +0000, Daniel Scally wrote:
> > From: Dan Scally <djrscally@xxxxxxxxx>
> >
> > To make sure the new i2c_acpi_dev_name() always reflects the name of i2c
> > devices sourced from ACPI, use it in i2c_set_dev_name().
> >
> > Signed-off-by: Dan Scally <djrscally@xxxxxxxxx>
>
> I'd squash this with 15/18, which would make it clear there's a memory
> leak :-)

...

> > if (adev) {
> > - dev_set_name(&client->dev, "i2c-%s", acpi_dev_name(adev));
> > + dev_set_name(&client->dev, i2c_acpi_dev_name(adev));
> > return;

But you split pattern used in i2c_dev_set_name().
What you need is to provide something like this

#define I2C_DEV_NAME_FORMAT "i2c-%s"

const char *i2c_acpi_get_dev_name(...)
{
return kasprintf(..., I2C_DEV_NAME_FORMAT, ...);
}

(Possible in the future if anybody needs
const char *i2c_dev_get_name_by_bus_and_addr(int bus, unsigned short addr)
)

And here

- dev_set_name(&client->dev, "i2c-%s", info->dev_name);
+ dev_set_name(&client->dev, I2C_DEV_NAME_FORMAT, info->dev_name);

- dev_set_name(&client->dev, "i2c-%s", acpi_dev_name(adev));
+ dev_set_name(&client->dev, I2C_DEV_NAME_FORMAT, acpi_dev_name(adev));

--
With Best Regards,
Andy Shevchenko;