i2c: iproc: Convert to devm_platform_ioremap_resource()
[linux-2.6-microblaze.git] / drivers / i2c / busses / i2c-bcm-iproc.c
index 2d8342f..508dcdc 100644 (file)
@@ -7,7 +7,7 @@
 #include <linux/io.h>
 #include <linux/kernel.h>
 #include <linux/module.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
 #include <linux/platform_device.h>
 #include <linux/slab.h>
 
@@ -1026,7 +1026,6 @@ static int bcm_iproc_i2c_probe(struct platform_device *pdev)
        int irq, ret = 0;
        struct bcm_iproc_i2c_dev *iproc_i2c;
        struct i2c_adapter *adap;
-       struct resource *res;
 
        iproc_i2c = devm_kzalloc(&pdev->dev, sizeof(*iproc_i2c),
                                 GFP_KERNEL);
@@ -1039,15 +1038,12 @@ static int bcm_iproc_i2c_probe(struct platform_device *pdev)
                (enum bcm_iproc_i2c_type)of_device_get_match_data(&pdev->dev);
        init_completion(&iproc_i2c->done);
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       iproc_i2c->base = devm_ioremap_resource(iproc_i2c->device, res);
+       iproc_i2c->base = devm_platform_ioremap_resource(pdev, 0);
        if (IS_ERR(iproc_i2c->base))
                return PTR_ERR(iproc_i2c->base);
 
        if (iproc_i2c->type == IPROC_I2C_NIC) {
-               res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-               iproc_i2c->idm_base = devm_ioremap_resource(iproc_i2c->device,
-                                                           res);
+               iproc_i2c->idm_base = devm_platform_ioremap_resource(pdev, 1);
                if (IS_ERR(iproc_i2c->idm_base))
                        return PTR_ERR(iproc_i2c->idm_base);
 
@@ -1125,8 +1121,6 @@ static void bcm_iproc_i2c_remove(struct platform_device *pdev)
        bcm_iproc_i2c_enable_disable(iproc_i2c, false);
 }
 
-#ifdef CONFIG_PM_SLEEP
-
 static int bcm_iproc_i2c_suspend(struct device *dev)
 {
        struct bcm_iproc_i2c_dev *iproc_i2c = dev_get_drvdata(dev);
@@ -1177,12 +1171,6 @@ static const struct dev_pm_ops bcm_iproc_i2c_pm_ops = {
        .resume_early = &bcm_iproc_i2c_resume
 };
 
-#define BCM_IPROC_I2C_PM_OPS (&bcm_iproc_i2c_pm_ops)
-#else
-#define BCM_IPROC_I2C_PM_OPS NULL
-#endif /* CONFIG_PM_SLEEP */
-
-
 static int bcm_iproc_i2c_reg_slave(struct i2c_client *slave)
 {
        struct bcm_iproc_i2c_dev *iproc_i2c = i2c_get_adapdata(slave->adapter);
@@ -1255,7 +1243,7 @@ static struct platform_driver bcm_iproc_i2c_driver = {
        .driver = {
                .name = "bcm-iproc-i2c",
                .of_match_table = bcm_iproc_i2c_of_match,
-               .pm = BCM_IPROC_I2C_PM_OPS,
+               .pm = pm_sleep_ptr(&bcm_iproc_i2c_pm_ops),
        },
        .probe = bcm_iproc_i2c_probe,
        .remove_new = bcm_iproc_i2c_remove,