Some modules like MPU have a powerdomain and functional clock but not
necessarily any control registers. Let's allow configuring interconnect
target modules with no control registers.

Signed-off-by: Tony Lindgren <t...@atomide.com>
---
 drivers/bus/ti-sysc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -853,8 +853,12 @@ static int sysc_ioremap(struct sysc *ddata)
  */
 static int sysc_map_and_check_registers(struct sysc *ddata)
 {
+       struct device_node *np = ddata->dev->of_node;
        int error;
 
+       if (!of_get_property(np, "reg", NULL))
+               return 0;
+
        error = sysc_parse_and_check_child_range(ddata);
        if (error)
                return error;
@@ -2911,6 +2915,9 @@ static int sysc_probe(struct platform_device *pdev)
        if (!ddata)
                return -ENOMEM;
 
+       ddata->offsets[SYSC_REVISION] = -ENODEV;
+       ddata->offsets[SYSC_SYSCONFIG] = -ENODEV;
+       ddata->offsets[SYSC_SYSSTATUS] = -ENODEV;
        ddata->dev = &pdev->dev;
        platform_set_drvdata(pdev, ddata);
 
-- 
2.29.2

Reply via email to