]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
usb: uhci-platform: Make the clock really optional
authorAlexey Charkov <alchark@gmail.com>
Fri, 25 Apr 2025 14:11:11 +0000 (18:11 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Jun 2025 12:36:54 +0000 (14:36 +0200)
commit a5c7973539b010874a37a0e846e62ac6f00553ba upstream.

Device tree bindings state that the clock is optional for UHCI platform
controllers, and some existing device trees don't provide those - such
as those for VIA/WonderMedia devices.

The driver however fails to probe now if no clock is provided, because
devm_clk_get returns an error pointer in such case.

Switch to devm_clk_get_optional instead, so that it could probe again
on those platforms where no clocks are given.

Cc: stable <stable@kernel.org>
Fixes: 26c502701c52 ("usb: uhci: Add clk support to uhci-platform")
Signed-off-by: Alexey Charkov <alchark@gmail.com>
Link: https://lore.kernel.org/r/20250425-uhci-clock-optional-v1-1-a1d462592f29@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/uhci-platform.c

index be9e9db7cad1048f75aab2c01eb994a5171a6577..c0834bac4c953fc8b83ad539150e417d0bbaa93d 100644 (file)
@@ -122,7 +122,7 @@ static int uhci_hcd_platform_probe(struct platform_device *pdev)
        }
 
        /* Get and enable clock if any specified */
-       uhci->clk = devm_clk_get(&pdev->dev, NULL);
+       uhci->clk = devm_clk_get_optional(&pdev->dev, NULL);
        if (IS_ERR(uhci->clk)) {
                ret = PTR_ERR(uhci->clk);
                goto err_rmr;