async function call test users

From: Arjan van de Ven
Date: Sun Oct 12 2008 - 19:45:30 EST


not for merge! Just for "show that it works"
diff --git a/Makefile b/Makefile
index 16e3fbb..2402f6b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 27
-EXTRAVERSION =
+EXTRAVERSION = -async
NAME = Rotary Wombat

# *DOCUMENTATION*
diff --git a/drivers/acpi/battery.c b/drivers/acpi/battery.c
index b1c723f..f93c3c9 100644
--- a/drivers/acpi/battery.c
+++ b/drivers/acpi/battery.c
@@ -896,6 +896,12 @@ static int __init acpi_battery_init(void)
return 0;
}

+static int acpi_battery_init_prime(void)
+{
+ call_async(ASYNC_POOL_MISC, 0, acpi_battery_init);
+ return 0;
+}
+
static void __exit acpi_battery_exit(void)
{
acpi_bus_unregister_driver(&acpi_battery_driver);
@@ -904,5 +910,5 @@ static void __exit acpi_battery_exit(void)
#endif
}

-module_init(acpi_battery_init);
+module_init(acpi_battery_init_prime);
module_exit(acpi_battery_exit);
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 1ee9499..0205eca 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -5937,10 +5937,7 @@ int ata_host_activate(struct ata_host *host, int irq,
for (i = 0; i < host->n_ports; i++)
ata_port_desc(host->ports[i], "irq %d", irq);

- rc = ata_host_register(host, sht);
- /* if failed, just free the IRQ and leave ports alone */
- if (rc)
- devm_free_irq(host->dev, irq, host);
+ call_async(ASYNC_POOL_SCSI, 2, ata_host_register, host, sht);

return rc;
}



--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/