As the transcevier regulator is optional, this patch switches from
devm_regulator_get() to devm_regulator_get_optional(). This gets rid of "using
dummy regulator" warning message from the regulator core, if no regulator is
available.

Signed-off-by: Marc Kleine-Budde <m...@pengutronix.de>
Link: https://lore.kernel.org/r/20200922144429.2613631-8-...@pengutronix.de
---
 drivers/net/can/flexcan.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index 06cddc468739..52b53ff223f4 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -1579,11 +1579,13 @@ static int flexcan_probe(struct platform_device *pdev)
        u8 clk_src = 1;
        u32 clock_freq = 0;
 
-       reg_xceiver = devm_regulator_get(&pdev->dev, "xceiver");
+       reg_xceiver = devm_regulator_get_optional(&pdev->dev, "xceiver");
        if (PTR_ERR(reg_xceiver) == -EPROBE_DEFER)
                return -EPROBE_DEFER;
-       else if (IS_ERR(reg_xceiver))
+       else if (PTR_ERR(reg_xceiver) == -ENODEV)
                reg_xceiver = NULL;
+       else if (IS_ERR(reg_xceiver))
+               return PTR_ERR(reg_xceiver);
 
        if (pdev->dev.of_node) {
                of_property_read_u32(pdev->dev.of_node,
-- 
2.28.0

Reply via email to