projects
/
linux-2.6-microblaze.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'ras_updates_for_v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git]
/
drivers
/
i2c
/
i2c-core-acpi.c
diff --git
a/drivers/i2c/i2c-core-acpi.c
b/drivers/i2c/i2c-core-acpi.c
index
e627d7b
..
37c510d
100644
(file)
--- a/
drivers/i2c/i2c-core-acpi.c
+++ b/
drivers/i2c/i2c-core-acpi.c
@@
-264,6
+264,7
@@
static acpi_status i2c_acpi_add_device(acpi_handle handle, u32 level,
void i2c_acpi_register_devices(struct i2c_adapter *adap)
{
acpi_status status;
void i2c_acpi_register_devices(struct i2c_adapter *adap)
{
acpi_status status;
+ acpi_handle handle;
if (!has_acpi_companion(&adap->dev))
return;
if (!has_acpi_companion(&adap->dev))
return;
@@
-274,6
+275,15
@@
void i2c_acpi_register_devices(struct i2c_adapter *adap)
adap, NULL);
if (ACPI_FAILURE(status))
dev_warn(&adap->dev, "failed to enumerate I2C slaves\n");
adap, NULL);
if (ACPI_FAILURE(status))
dev_warn(&adap->dev, "failed to enumerate I2C slaves\n");
+
+ if (!adap->dev.parent)
+ return;
+
+ handle = ACPI_HANDLE(adap->dev.parent);
+ if (!handle)
+ return;
+
+ acpi_walk_dep_device_list(handle);
}
static const struct acpi_device_id i2c_acpi_force_400khz_device_ids[] = {
}
static const struct acpi_device_id i2c_acpi_force_400khz_device_ids[] = {
@@
-719,7
+729,6
@@
int i2c_acpi_install_space_handler(struct i2c_adapter *adapter)
return -ENOMEM;
}
return -ENOMEM;
}
- acpi_walk_dep_device_list(handle);
return 0;
}
return 0;
}