i2c: brcmstb: Convert to devm_platform_ioremap_resource()
authorYangtao Li <frank.li@vivo.com>
Mon, 10 Jul 2023 06:33:42 +0000 (14:33 +0800)
committerWolfram Sang <wsa@kernel.org>
Mon, 14 Aug 2023 16:09:39 +0000 (18:09 +0200)
Use devm_platform_ioremap_resource() to simplify code.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Kamal Dasu <kamal.dasu@broadcom.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-brcmstb.c

index c778bcc..acee767 100644 (file)
@@ -594,11 +594,10 @@ static int bcm2711_release_bsc(struct brcmstb_i2c_dev *dev)
 
 static int brcmstb_i2c_probe(struct platform_device *pdev)
 {
-       int rc = 0;
        struct brcmstb_i2c_dev *dev;
        struct i2c_adapter *adap;
-       struct resource *iomem;
        const char *int_name;
+       int rc;
 
        /* Allocate memory for private data structure */
        dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL);
@@ -614,18 +613,15 @@ static int brcmstb_i2c_probe(struct platform_device *pdev)
        init_completion(&dev->done);
 
        /* Map hardware registers */
-       iomem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       dev->base = devm_ioremap_resource(dev->device, iomem);
-       if (IS_ERR(dev->base)) {
-               rc = -ENOMEM;
-               goto probe_errorout;
-       }
+       dev->base = devm_platform_ioremap_resource(pdev, 0);
+       if (IS_ERR(dev->base))
+               return PTR_ERR(dev->base);
 
        if (of_device_is_compatible(dev->device->of_node,
                                    "brcm,bcm2711-hdmi-i2c")) {
                rc = bcm2711_release_bsc(dev);
                if (rc)
-                       goto probe_errorout;
+                       return rc;
        }
 
        rc = of_property_read_string(dev->device->of_node, "interrupt-names",
@@ -678,16 +674,13 @@ static int brcmstb_i2c_probe(struct platform_device *pdev)
        adap->dev.of_node = pdev->dev.of_node;
        rc = i2c_add_adapter(adap);
        if (rc)
-               goto probe_errorout;
+               return rc;
 
        dev_info(dev->device, "%s@%dhz registered in %s mode\n",
                 int_name ? int_name : " ", dev->clk_freq_hz,
                 (dev->irq >= 0) ? "interrupt" : "polling");
 
        return 0;
-
-probe_errorout:
-       return rc;
 }
 
 static void brcmstb_i2c_remove(struct platform_device *pdev)