lp8788-charger: Fix a parent device in _probe()
authorKim, Milo <Milo.Kim@ti.com>
Thu, 3 Jan 2013 06:30:16 +0000 (06:30 +0000)
committerAnton Vorontsov <anton@enomsg.org>
Sun, 6 Jan 2013 22:18:19 +0000 (14:18 -0800)
The lp8788-charger is a platform driver of lp8788-mfd. The platform device
is allocated when mfd_add_devices() is called in lp8788-mfd. On the other
hand, 'lp->dev' is the i2c client device.

Therefore, this 'platform_device' is a proper parent device in case of
resource managed mem alloc and device kernel message.

Signed-off-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Anton Vorontsov <anton@enomsg.org>
drivers/power/lp8788-charger.c

index 22b6407..126a83a 100644 (file)
@@ -690,9 +690,10 @@ static int lp8788_charger_probe(struct platform_device *pdev)
 {
        struct lp8788 *lp = dev_get_drvdata(pdev->dev.parent);
        struct lp8788_charger *pchg;
+       struct device *dev = &pdev->dev;
        int ret;
 
-       pchg = devm_kzalloc(lp->dev, sizeof(struct lp8788_charger), GFP_KERNEL);
+       pchg = devm_kzalloc(dev, sizeof(struct lp8788_charger), GFP_KERNEL);
        if (!pchg)
                return -ENOMEM;
 
@@ -718,7 +719,7 @@ static int lp8788_charger_probe(struct platform_device *pdev)
 
        ret = lp8788_irq_register(pdev, pchg);
        if (ret)
-               dev_warn(lp->dev, "failed to register charger irq: %d\n", ret);
+               dev_warn(dev, "failed to register charger irq: %d\n", ret);
 
        return 0;
 }