aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass2020-12-16 21:20:23 -0700
committerSimon Glass2020-12-18 20:32:21 -0700
commitd1e85308feed8ea66d2af71860130f004d5f9632 (patch)
tree9ab40b929d5b34f3e092f6aafd118000634b8eaa
parentdf3dc209526e9d8b5636a01cdb5cc0a396742159 (diff)
x86: Simplify acpi_device_infer_name()
There is no-longer any need to check if sequence numbers are valid, since this is ensured by driver model. Drop the unwanted logic. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--lib/acpi/acpi_device.c27
-rw-r--r--test/dm/acpi.c6
2 files changed, 4 insertions, 29 deletions
diff --git a/lib/acpi/acpi_device.c b/lib/acpi/acpi_device.c
index 8efa8e9a535..b5f2cebbde1 100644
--- a/lib/acpi/acpi_device.c
+++ b/lib/acpi/acpi_device.c
@@ -784,16 +784,6 @@ static const char *acpi_name_from_id(enum uclass_id id)
}
}
-static int acpi_check_seq(const struct udevice *dev)
-{
- if (dev->req_seq == -1) {
- log_warning("Device '%s' has no seq\n", dev->name);
- return log_msg_ret("no seq", -ENXIO);
- }
-
- return dev->req_seq;
-}
-
/* If you change this function, add test cases to dm_test_acpi_get_name() */
int acpi_device_infer_name(const struct udevice *dev, char *out_name)
{
@@ -826,29 +816,18 @@ int acpi_device_infer_name(const struct udevice *dev, char *out_name)
}
}
if (!name) {
- int num;
-
switch (id) {
/* DSDT: acpi/lpss.asl */
case UCLASS_SERIAL:
- num = acpi_check_seq(dev);
- if (num < 0)
- return num;
- sprintf(out_name, "URT%d", num);
+ sprintf(out_name, "URT%d", dev_seq(dev));
name = out_name;
break;
case UCLASS_I2C:
- num = acpi_check_seq(dev);
- if (num < 0)
- return num;
- sprintf(out_name, "I2C%d", num);
+ sprintf(out_name, "I2C%d", dev_seq(dev));
name = out_name;
break;
case UCLASS_SPI:
- num = acpi_check_seq(dev);
- if (num < 0)
- return num;
- sprintf(out_name, "SPI%d", num);
+ sprintf(out_name, "SPI%d", dev_seq(dev));
name = out_name;
break;
default:
diff --git a/test/dm/acpi.c b/test/dm/acpi.c
index c5c3726382e..e0a323ecd40 100644
--- a/test/dm/acpi.c
+++ b/test/dm/acpi.c
@@ -123,7 +123,7 @@ UCLASS_DRIVER(testacpi) = {
static int dm_test_acpi_get_name(struct unit_test_state *uts)
{
char name[ACPI_NAME_MAX];
- struct udevice *dev, *dev2, *i2c, *spi, *serial, *timer, *sound;
+ struct udevice *dev, *dev2, *i2c, *spi, *timer, *sound;
struct udevice *pci, *root;
/* Test getting the name from the driver */
@@ -146,10 +146,6 @@ static int dm_test_acpi_get_name(struct unit_test_state *uts)
ut_assertok(acpi_get_name(spi, name));
ut_asserteq_str("SPI0", name);
- /* The uart has no sequence number, so this should fail */
- ut_assertok(uclass_first_device(UCLASS_SERIAL, &serial));
- ut_asserteq(-ENXIO, acpi_get_name(serial, name));
-
/* ACPI doesn't know about the timer */
ut_assertok(uclass_first_device(UCLASS_TIMER, &timer));
ut_asserteq(-ENOENT, acpi_get_name(timer, name));