ACPI: introduce module_acpi_driver() helper macro
authorMika Westerberg <mika.westerberg@linux.intel.com>
Fri, 7 Sep 2012 07:31:38 +0000 (10:31 +0300)
committerLen Brown <len.brown@intel.com>
Fri, 21 Sep 2012 17:38:12 +0000 (13:38 -0400)
Add a helper macro module_acpi_driver() which reduces the boilerplate code
for ACPI drivers. This is similar what is done for other busses (PCI, SPI,
I2C etc).

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
include/acpi/acpi_bus.h

index bde976e..bddd909 100644 (file)
@@ -381,6 +381,19 @@ int acpi_match_device_ids(struct acpi_device *device,
 int acpi_create_dir(struct acpi_device *);
 void acpi_remove_dir(struct acpi_device *);
 
+
+/**
+ * module_acpi_driver(acpi_driver) - Helper macro for registering an ACPI driver
+ * @__acpi_driver: acpi_driver struct
+ *
+ * Helper macro for ACPI drivers which do not do anything special in module
+ * init/exit. This eliminates a lot of boilerplate. Each module may only
+ * use this macro once, and calling it replaces module_init() and module_exit()
+ */
+#define module_acpi_driver(__acpi_driver) \
+       module_driver(__acpi_driver, acpi_bus_register_driver, \
+                     acpi_bus_unregister_driver)
+
 /*
  * Bind physical devices with ACPI devices
  */