return dev_err_probe(dev, PTR_ERR(data->clk),
                                     "Cannot get the clk pclk_ddr_mon\n");
 
-       /* try to find the optional reference to the pmu syscon */
        node = of_parse_phandle(np, "rockchip,pmu", 0);
-       if (node) {
-               data->regmap_pmu = syscon_node_to_regmap(node);
-               of_node_put(node);
-               if (IS_ERR(data->regmap_pmu))
-                       return PTR_ERR(data->regmap_pmu);
-       }
+       if (!node)
+               return dev_err_probe(&pdev->dev, -ENODEV, "Can't find pmu_grf registers\n");
+
+       data->regmap_pmu = syscon_node_to_regmap(node);
+       of_node_put(node);
+       if (IS_ERR(data->regmap_pmu))
+               return PTR_ERR(data->regmap_pmu);
+
        data->dev = dev;
 
        desc = devm_kzalloc(dev, sizeof(*desc), GFP_KERNEL);