Move the pl061 acpi attachment earlier
As the pl061 driver can be an interrupt controller attach it earlier in the boot so other drivers can use it. Use a new GPIO xref to not conflict with the existing root interrupt controller. Sponsored by: Innovate UK
This commit is contained in:
parent
6215ed7c5c
commit
15fe2adacb
@ -51,6 +51,7 @@ void intr_ipi_dispatch(u_int, struct trapframe *);
|
||||
#ifdef DEV_ACPI
|
||||
#define ACPI_INTR_XREF 1
|
||||
#define ACPI_MSI_XREF 2
|
||||
#define ACPI_GPIO_XREF 3
|
||||
#endif
|
||||
|
||||
#endif /* _MACHINE_INTR_H */
|
||||
|
@ -76,7 +76,7 @@ pl061_acpi_attach(device_t dev)
|
||||
if (error != 0)
|
||||
return (error);
|
||||
|
||||
if (!intr_pic_register(dev, ACPI_INTR_XREF)) {
|
||||
if (!intr_pic_register(dev, ACPI_GPIO_XREF)) {
|
||||
device_printf(dev, "couldn't register PIC\n");
|
||||
pl061_detach(dev);
|
||||
error = ENXIO;
|
||||
@ -98,6 +98,7 @@ DEFINE_CLASS_1(gpio, pl061_acpi_driver, pl061_acpi_methods,
|
||||
|
||||
static devclass_t pl061_devclass;
|
||||
|
||||
DRIVER_MODULE(pl061, acpi, pl061_driver, pl061_devclass, NULL, NULL);
|
||||
EARLY_DRIVER_MODULE(pl061, acpi, pl061_acpi_driver, pl061_devclass, NULL, NULL,
|
||||
BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE);
|
||||
MODULE_DEPEND(pl061, acpi, 1, 1, 1);
|
||||
MODULE_DEPEND(pl061, gpiobus, 1, 1, 1);
|
||||
|
Loading…
Reference in New Issue
Block a user