summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Fatoum <ahmad@a3f.at>2023-01-09 09:35:59 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2023-01-09 10:11:34 +0100
commite429dda7a69b2b32e684c5a86bd3cd5f31339f43 (patch)
treefafc35e8097941920c04a822610ffcf783ec3721
parentb84130781ede648ab5c58dff010941f36850ed89 (diff)
downloadbarebox-e429dda7a69b2b32e684c5a86bd3cd5f31339f43.tar.gz
barebox-e429dda7a69b2b32e684c5a86bd3cd5f31339f43.tar.xz
efi: acpi: add SDT resource before registering device
Registering a device may end up probing the device if a driver is readily available. This necessitates the device having its resources assigned before doing the registration. Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Link: https://lore.barebox.org/20230109083600.1820078-2-ahmad@a3f.at Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/bus/acpi.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/bus/acpi.c b/drivers/bus/acpi.c
index 1d6069b6d8..b042ee5d9c 100644
--- a/drivers/bus/acpi.c
+++ b/drivers/bus/acpi.c
@@ -122,18 +122,12 @@ static void acpi_devinfo(struct device_d *dev)
static int acpi_register_device(struct device_d *dev, struct acpi_sdt *sdt)
{
- int ret;
-
- ret = register_device(dev);
- if (ret)
- return ret;
-
device_add_resource(dev, "SDT", (resource_size_t)sdt, sdt->len,
IORESOURCE_MEM | IORESOURCE_ROM_COPY | IORESOURCE_ROM_BIOS_COPY);
- dev_dbg(dev, "registered as ACPI device\n");
+ dev_dbg(dev, "registering as ACPI device\n");
- return 0;
+ return register_device(dev);
}
static struct device_d *acpi_add_device(struct bus_type *bus,