mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-14 09:09:56 +00:00
iommu/rockchip: Make clock handling optional
iommu clocks are optional, so the driver should not fail if they are not present. Instead just set the number of clocks to 0, which the clk-blk APIs can handle just fine. Fixes: f2e3a5f557ad ("iommu/rockchip: Control clocks needed to access the IOMMU") Signed-off-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Robin Murphy <robin.murphy@arm.com> Tested-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
94c793acca
commit
2f8c7f2e76
@ -1175,8 +1175,15 @@ static int rk_iommu_probe(struct platform_device *pdev)
|
||||
for (i = 0; i < iommu->num_clocks; ++i)
|
||||
iommu->clocks[i].id = rk_iommu_clocks[i];
|
||||
|
||||
/*
|
||||
* iommu clocks should be present for all new devices and devicetrees
|
||||
* but there are older devicetrees without clocks out in the wild.
|
||||
* So clocks as optional for the time being.
|
||||
*/
|
||||
err = devm_clk_bulk_get(iommu->dev, iommu->num_clocks, iommu->clocks);
|
||||
if (err)
|
||||
if (err == -ENOENT)
|
||||
iommu->num_clocks = 0;
|
||||
else if (err)
|
||||
return err;
|
||||
|
||||
err = clk_bulk_prepare(iommu->num_clocks, iommu->clocks);
|
||||
|
Loading…
x
Reference in New Issue
Block a user