mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-05 18:14:07 +08:00
platform/x86: i2c-multi-instantiate: Derive the device name from parent
When naming the new devices, instead of using the ACPI ID in
the name as base, using the parent device's name. That makes
it possible to support multiple multi-instance i2c devices
of the same type in the same system.
This fixes an issue seen on some Intel Kaby Lake based
boards:
sysfs: cannot create duplicate filename '/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-INT3515-tps6598x.0'
Fixes: 2336dfadfb
("platform/x86: i2c-multi-instantiate: Allow to have same slaves")
Cc: stable@vger.kernel.org
Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
parent
f110d252ae
commit
24a8d78a9a
@ -90,7 +90,7 @@ static int i2c_multi_inst_probe(struct platform_device *pdev)
|
||||
for (i = 0; i < multi->num_clients && inst_data[i].type; i++) {
|
||||
memset(&board_info, 0, sizeof(board_info));
|
||||
strlcpy(board_info.type, inst_data[i].type, I2C_NAME_SIZE);
|
||||
snprintf(name, sizeof(name), "%s-%s.%d", match->id,
|
||||
snprintf(name, sizeof(name), "%s-%s.%d", dev_name(dev),
|
||||
inst_data[i].type, i);
|
||||
board_info.dev_name = name;
|
||||
switch (inst_data[i].flags & IRQ_RESOURCE_TYPE) {
|
||||
|
Loading…
Reference in New Issue
Block a user