powerpc: fsl: Use of_property_read_reg() to parse "reg"
authorRob Herring <robh@kernel.org>
Fri, 9 Jun 2023 18:31:50 +0000 (12:31 -0600)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 21 Jun 2023 05:13:46 +0000 (15:13 +1000)
Use the recently added of_property_read_reg() helper to get the
untranslated "reg" address value.

Signed-off-by: Rob Herring <robh@kernel.org>
[mpe: Add required include of of_address.h]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230609183151.1766261-1-robh@kernel.org
arch/powerpc/sysdev/fsl_rio.c
arch/powerpc/sysdev/fsl_rmu.c

index 31c5f1c..0331962 100644 (file)
@@ -448,13 +448,11 @@ int fsl_rio_setup(struct platform_device *dev)
        struct rio_mport *port;
        struct rio_priv *priv;
        int rc = 0;
-       const u32 *dt_range, *port_index;
+       const u32 *port_index;
        u32 active_ports = 0;
        struct device_node *np, *rmu_node;
-       int rlen;
        u32 ccsr;
        u64 range_start;
-       int aw;
        u32 i;
        static int tmp;
        struct device_node *rmu_np[MAX_MSG_UNIT_NUM] = {NULL};
@@ -528,15 +526,12 @@ int fsl_rio_setup(struct platform_device *dev)
        dbell->bellirq = irq_of_parse_and_map(np, 1);
        dev_info(&dev->dev, "bellirq: %d\n", dbell->bellirq);
 
-       aw = of_n_addr_cells(np);
-       dt_range = of_get_property(np, "reg", &rlen);
-       if (!dt_range) {
+       if (of_property_read_reg(np, 0, &range_start, NULL)) {
                pr_err("%pOF: unable to find 'reg' property\n",
                        np);
                rc = -ENOMEM;
                goto err_pw;
        }
-       range_start = of_read_number(dt_range, aw);
        dbell->dbell_regs = (struct rio_dbell_regs *)(rmu_regs_win +
                                (u32)range_start);
 
@@ -556,15 +551,12 @@ int fsl_rio_setup(struct platform_device *dev)
        pw->dev = &dev->dev;
        pw->pwirq = irq_of_parse_and_map(np, 0);
        dev_info(&dev->dev, "pwirq: %d\n", pw->pwirq);
-       aw = of_n_addr_cells(np);
-       dt_range = of_get_property(np, "reg", &rlen);
-       if (!dt_range) {
+       if (of_property_read_reg(np, 0, &range_start, NULL)) {
                pr_err("%pOF: unable to find 'reg' property\n",
                        np);
                rc = -ENOMEM;
                goto err;
        }
-       range_start = of_read_number(dt_range, aw);
        pw->pw_regs = (struct rio_pw_regs *)(rmu_regs_win + (u32)range_start);
 
        /*set up ports node*/
index 7a5e2e2..c1f7249 100644 (file)
@@ -23,6 +23,7 @@
 #include <linux/types.h>
 #include <linux/dma-mapping.h>
 #include <linux/interrupt.h>
+#include <linux/of_address.h>
 #include <linux/of_irq.h>
 #include <linux/of_platform.h>
 #include <linux/slab.h>
@@ -1067,9 +1068,6 @@ int fsl_rio_setup_rmu(struct rio_mport *mport, struct device_node *node)
        struct rio_priv *priv;
        struct fsl_rmu *rmu;
        u64 msg_start;
-       const u32 *msg_addr;
-       int mlen;
-       int aw;
 
        if (!mport || !mport->priv)
                return -EINVAL;
@@ -1086,16 +1084,12 @@ int fsl_rio_setup_rmu(struct rio_mport *mport, struct device_node *node)
        if (!rmu)
                return -ENOMEM;
 
-       aw = of_n_addr_cells(node);
-       msg_addr = of_get_property(node, "reg", &mlen);
-       if (!msg_addr) {
+       if (of_property_read_reg(node, 0, &msg_start, NULL)) {
                pr_err("%pOF: unable to find 'reg' property of message-unit\n",
                        node);
                kfree(rmu);
                return -ENOMEM;
        }
-       msg_start = of_read_number(msg_addr, aw);
-
        rmu->msg_regs = (struct rio_msg_regs *)
                        (rmu_regs_win + (u32)msg_start);