Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
authorAnton Vorontsov <cbouatmailru@gmail.com>
Mon, 26 Apr 2010 17:56:19 +0000 (21:56 +0400)
committerAnton Vorontsov <cbouatmailru@gmail.com>
Mon, 26 Apr 2010 17:56:19 +0000 (21:56 +0400)
1  2 
drivers/power/ds2782_battery.c
drivers/power/wm831x_power.c

@@@ -19,6 -19,7 +19,7 @@@
  #include <linux/i2c.h>
  #include <linux/idr.h>
  #include <linux/power_supply.h>
+ #include <linux/slab.h>
  
  #define DS2782_REG_RARC               0x06    /* Remaining active relative capacity */
  
@@@ -236,6 -237,8 +237,6 @@@ static int ds2782_battery_remove(struc
        idr_remove(&battery_id, info->id);
        mutex_unlock(&battery_lock);
  
 -      i2c_set_clientdata(client, info);
 -
        kfree(info);
        return 0;
  }
@@@ -287,6 -290,7 +288,6 @@@ static int ds2782_battery_probe(struct 
  fail_register:
        kfree(info->battery.name);
  fail_name:
 -      i2c_set_clientdata(client, info);
        kfree(info);
  fail_info:
        mutex_lock(&battery_lock);
@@@ -12,6 -12,7 +12,7 @@@
  #include <linux/err.h>
  #include <linux/platform_device.h>
  #include <linux/power_supply.h>
+ #include <linux/slab.h>
  
  #include <linux/mfd/wm831x/core.h>
  #include <linux/mfd/wm831x/auxadc.h>
@@@ -536,9 -537,9 +537,9 @@@ static __devinit int wm831x_power_probe
                goto err_battery;
  
        irq = platform_get_irq_byname(pdev, "SYSLO");
 -      ret = wm831x_request_irq(wm831x, irq, wm831x_syslo_irq,
 -                               IRQF_TRIGGER_RISING, "SYSLO",
 -                               power);
 +      ret = request_threaded_irq(irq, NULL, wm831x_syslo_irq,
 +                                 IRQF_TRIGGER_RISING, "System power low",
 +                                 power);
        if (ret != 0) {
                dev_err(&pdev->dev, "Failed to request SYSLO IRQ %d: %d\n",
                        irq, ret);
        }
  
        irq = platform_get_irq_byname(pdev, "PWR SRC");
 -      ret = wm831x_request_irq(wm831x, irq, wm831x_pwr_src_irq,
 -                               IRQF_TRIGGER_RISING, "Power source",
 -                               power);
 +      ret = request_threaded_irq(irq, NULL, wm831x_pwr_src_irq,
 +                                 IRQF_TRIGGER_RISING, "Power source",
 +                                 power);
        if (ret != 0) {
                dev_err(&pdev->dev, "Failed to request PWR SRC IRQ %d: %d\n",
                        irq, ret);
  
        for (i = 0; i < ARRAY_SIZE(wm831x_bat_irqs); i++) {
                irq = platform_get_irq_byname(pdev, wm831x_bat_irqs[i]);
 -              ret = wm831x_request_irq(wm831x, irq, wm831x_bat_irq,
 -                                       IRQF_TRIGGER_RISING,
 -                                       wm831x_bat_irqs[i],
 -                                       power);
 +              ret = request_threaded_irq(irq, NULL, wm831x_bat_irq,
 +                                         IRQF_TRIGGER_RISING,
 +                                         wm831x_bat_irqs[i],
 +                                         power);
                if (ret != 0) {
                        dev_err(&pdev->dev,
                                "Failed to request %s IRQ %d: %d\n",
  err_bat_irq:
        for (; i >= 0; i--) {
                irq = platform_get_irq_byname(pdev, wm831x_bat_irqs[i]);
 -              wm831x_free_irq(wm831x, irq, power);
 +              free_irq(irq, power);
        }
        irq = platform_get_irq_byname(pdev, "PWR SRC");
 -      wm831x_free_irq(wm831x, irq, power);
 +      free_irq(irq, power);
  err_syslo:
        irq = platform_get_irq_byname(pdev, "SYSLO");
 -      wm831x_free_irq(wm831x, irq, power);
 +      free_irq(irq, power);
  err_usb:
        power_supply_unregister(usb);
  err_battery:
@@@ -595,18 -596,19 +596,18 @@@ err_kmalloc
  static __devexit int wm831x_power_remove(struct platform_device *pdev)
  {
        struct wm831x_power *wm831x_power = platform_get_drvdata(pdev);
 -      struct wm831x *wm831x = wm831x_power->wm831x;
        int irq, i;
  
        for (i = 0; i < ARRAY_SIZE(wm831x_bat_irqs); i++) {
                irq = platform_get_irq_byname(pdev, wm831x_bat_irqs[i]);
 -              wm831x_free_irq(wm831x, irq, wm831x_power);
 +              free_irq(irq, wm831x_power);
        }
  
        irq = platform_get_irq_byname(pdev, "PWR SRC");
 -      wm831x_free_irq(wm831x, irq, wm831x_power);
 +      free_irq(irq, wm831x_power);
  
        irq = platform_get_irq_byname(pdev, "SYSLO");
 -      wm831x_free_irq(wm831x, irq, wm831x_power);
 +      free_irq(irq, wm831x_power);
  
        power_supply_unregister(&wm831x_power->battery);
        power_supply_unregister(&wm831x_power->wall);