[PATCH v12 7/7] i2c: xiic: skip input clock setup on non-OF systems
Abdurrahman Hussain via B4 Relay
devnull+abdurrahman.nexthop.ai at kernel.org
Mon Feb 23 07:59:22 PST 2026
From: Abdurrahman Hussain <abdurrahman at nexthop.ai>
Currently Linux does not implement ACPI ClockInput() resource to describe
clocks, unlike DT. However the xiic driver is happy if something
magically enables the clock before the driver probes, and does not
turn it off again. The clock should always be considered optional for
ACPI.
Signed-off-by: Abdurrahman Hussain <abdurrahman at nexthop.ai>
---
drivers/i2c/busses/i2c-xiic.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c
index 6eb0c6a2618a..3e7735e1dae0 100644
--- a/drivers/i2c/busses/i2c-xiic.c
+++ b/drivers/i2c/busses/i2c-xiic.c
@@ -1464,10 +1464,12 @@ static int xiic_i2c_probe(struct platform_device *pdev)
spin_lock_init(&i2c->atomic_lock);
- i2c->clk = devm_clk_get_enabled(&pdev->dev, NULL);
- if (IS_ERR(i2c->clk))
- return dev_err_probe(&pdev->dev, PTR_ERR(i2c->clk),
- "failed to enable input clock.\n");
+ if (is_of_node(fwnode)) {
+ i2c->clk = devm_clk_get_enabled(dev, NULL);
+ if (IS_ERR(i2c->clk))
+ return dev_err_probe(dev, PTR_ERR(i2c->clk),
+ "failed to enable input clock.\n");
+ }
i2c->dev = dev;
--
2.52.0
More information about the linux-arm-kernel
mailing list