staging: android/ram_console: Don't build on arches w/o ioremap
[pandora-kernel.git] / drivers / power / wm97xx_battery.c
index 156559e..d2d4c08 100644 (file)
@@ -25,9 +25,8 @@
 #include <linux/irq.h>
 #include <linux/slab.h>
 
-static DEFINE_MUTEX(bat_lock);
 static struct work_struct bat_work;
-static struct mutex work_lock;
+static DEFINE_MUTEX(work_lock);
 static int bat_status = POWER_SUPPLY_STATUS_UNKNOWN;
 static enum power_supply_property *prop;
 
@@ -181,8 +180,6 @@ static int __devinit wm97xx_bat_probe(struct platform_device *dev)
        if (dev->id != -1)
                return -EINVAL;
 
-       mutex_init(&work_lock);
-
        if (!pdata) {
                dev_err(&dev->dev, "No platform_data supplied\n");
                return -EINVAL;
@@ -196,7 +193,7 @@ static int __devinit wm97xx_bat_probe(struct platform_device *dev)
                if (ret)
                        goto err2;
                ret = request_irq(gpio_to_irq(pdata->charge_gpio),
-                               wm97xx_chrg_irq, IRQF_DISABLED,
+                               wm97xx_chrg_irq, 0,
                                "AC Detect", dev);
                if (ret)
                        goto err2;
@@ -291,18 +288,7 @@ static struct platform_driver wm97xx_bat_driver = {
        .remove         = __devexit_p(wm97xx_bat_remove),
 };
 
-static int __init wm97xx_bat_init(void)
-{
-       return platform_driver_register(&wm97xx_bat_driver);
-}
-
-static void __exit wm97xx_bat_exit(void)
-{
-       platform_driver_unregister(&wm97xx_bat_driver);
-}
-
-module_init(wm97xx_bat_init);
-module_exit(wm97xx_bat_exit);
+module_platform_driver(wm97xx_bat_driver);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Marek Vasut <marek.vasut@gmail.com>");