Message ID | 20210222130735.1313443-4-djrscally@gmail.com (mailing list archive) |
---|---|
State | Deferred, archived |
Headers | show |
Series | Introduce intel_skl_int3472 module | expand |
On Mon, Feb 22, 2021 at 01:07:32PM +0000, Daniel Scally wrote: > Some places in the kernel allow users to map resources to a device > using device name (for example, in the struct gpiod_lookup_table). > Currently this involves waiting for the I2C client to have been registered > so we can use dev_name(&client->dev). We want to add a function to allow > users to refer to an I2C device by name before it has been instantiated, > so create a macro for the format that's accessible outside the I2C layer > and use it in i2c_dev_set_name(). > > Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > Signed-off-by: Daniel Scally <djrscally@gmail.com> Acked-by: Wolfram Sang <wsa@kernel.org> # for changing I2C core
diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c index 63ebf722a424..547b8926cac8 100644 --- a/drivers/i2c/i2c-core-base.c +++ b/drivers/i2c/i2c-core-base.c @@ -811,12 +811,12 @@ static void i2c_dev_set_name(struct i2c_adapter *adap, struct acpi_device *adev = ACPI_COMPANION(&client->dev); if (info && info->dev_name) { - dev_set_name(&client->dev, "i2c-%s", info->dev_name); + dev_set_name(&client->dev, I2C_DEV_NAME_FORMAT, info->dev_name); return; } if (adev) { - dev_set_name(&client->dev, "i2c-%s", acpi_dev_name(adev)); + dev_set_name(&client->dev, I2C_DEV_NAME_FORMAT, acpi_dev_name(adev)); return; } diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 56622658b215..4d40a4b46810 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h @@ -39,6 +39,9 @@ enum i2c_slave_event; typedef int (*i2c_slave_cb_t)(struct i2c_client *client, enum i2c_slave_event event, u8 *val); +/* I2C Device Name Format - to maintain consistency outside the i2c layer */ +#define I2C_DEV_NAME_FORMAT "i2c-%s" + /* I2C Frequency Modes */ #define I2C_MAX_STANDARD_MODE_FREQ 100000 #define I2C_MAX_FAST_MODE_FREQ 400000