]> Pileus Git - ~andy/linux/blobdiff - drivers/iio/light/lm3533-als.c
Merge branch 'pm-cpufreq'
[~andy/linux] / drivers / iio / light / lm3533-als.c
index 5fa31a4ef82a7289bf3e2d649a2ef08a955635de..c1aadc6b865a73dd8c3d00045f84d3846dcd9cb5 100644 (file)
@@ -847,7 +847,7 @@ static int lm3533_als_probe(struct platform_device *pdev)
                return -EINVAL;
        }
 
-       indio_dev = iio_device_alloc(sizeof(*als));
+       indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*als));
        if (!indio_dev)
                return -ENOMEM;
 
@@ -870,7 +870,7 @@ static int lm3533_als_probe(struct platform_device *pdev)
        if (als->irq) {
                ret = lm3533_als_setup_irq(als, indio_dev);
                if (ret)
-                       goto err_free_dev;
+                       return ret;
        }
 
        ret = lm3533_als_setup(als, pdata);
@@ -894,8 +894,6 @@ err_disable:
 err_free_irq:
        if (als->irq)
                free_irq(als->irq, indio_dev);
-err_free_dev:
-       iio_device_free(indio_dev);
 
        return ret;
 }
@@ -910,7 +908,6 @@ static int lm3533_als_remove(struct platform_device *pdev)
        lm3533_als_disable(als);
        if (als->irq)
                free_irq(als->irq, indio_dev);
-       iio_device_free(indio_dev);
 
        return 0;
 }