config PVPANIC
tristate "pvpanic device support"
- depends on ACPI
+ depends on ACPI || OF
help
This driver provides support for the pvpanic device. pvpanic is
a paravirtualized device provided by QEMU; it lets a virtual machine
.priority = 1, /* let this called before broken drm_fb_helper */
};
+#ifdef CONFIG_ACPI
static int pvpanic_add(struct acpi_device *device);
static int pvpanic_remove(struct acpi_device *device);
return 0;
}
+static int pvpanic_register_acpi_driver(void)
+{
+ return acpi_bus_register_driver(&pvpanic_driver);
+}
+
+static void pvpanic_unregister_acpi_driver(void)
+{
+ acpi_bus_unregister_driver(&pvpanic_driver);
+}
+#else
+static int pvpanic_register_acpi_driver(void)
+{
+ return -ENODEV;
+}
+
+static void pvpanic_unregister_acpi_driver(void) {}
+#endif
+
static int pvpanic_mmio_probe(struct platform_device *pdev)
{
struct resource *mem;
if (acpi_disabled)
return platform_driver_register(&pvpanic_mmio_driver);
else
- return acpi_bus_register_driver(&pvpanic_driver);
+ return pvpanic_register_acpi_driver();
}
static void __exit pvpanic_mmio_exit(void)
if (acpi_disabled)
platform_driver_unregister(&pvpanic_mmio_driver);
else
- acpi_bus_unregister_driver(&pvpanic_driver);
+ pvpanic_unregister_acpi_driver();
}
module_init(pvpanic_mmio_init);