can: flexcan: flexcan_probe(): make regulator xceiver optional
authorMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 22 Sep 2020 14:44:16 +0000 (16:44 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 22 Sep 2020 14:49:54 +0000 (16:49 +0200)
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 <mkl@pengutronix.de>
Link: https://lore.kernel.org/r/20200922144429.2613631-8-mkl@pengutronix.de
drivers/net/can/flexcan.c

index 06cddc4..52b53ff 100644 (file)
@@ -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,