i2c: jz4780: Fix return value if probe fails
Subsystems (2)
PATCH 1/1 i2c: jz4780: Fix return value if probe fails
Current code returns 0 if fails to read clock-frequency DT property, fix it. Also add checking return value of clk_prepare_enable and propagate return value of devm_request_irq.
Signed-off-by Axel Lin <[email protected]>
--- drivers/i2c/busses/i2c-jz4780.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
drivers/i2c/busses/i2c-jz4780.c +8 -7
@@ -764,12 +764,15 @@ static int jz4780_i2c_probe(struct platform_device *pdev)if (IS_ERR (i2c->clk))return PTR_ERR (i2c->clk); -clk_prepare_enable (i2c->clk); + ret =clk_prepare_enable (i2c->clk); +if (ret) +return ret; -if (of_property_read_u32 (pdev->dev.of_node,"clock-frequency" , - &clk_freq)) { + ret =of_property_read_u32 (pdev->dev.of_node,"clock-frequency" , + &clk_freq); +if (ret) {dev_err (&pdev->dev,"clock-frequency not specified in DT" ); -return clk_freq; + goto err; } i2c->speed = clk_freq /1000 ;
@@ -790,10 +793,8 @@ static int jz4780_i2c_probe(struct platform_device *pdev) i2c->irq =platform_get_irq (pdev,0 ); ret =devm_request_irq (&pdev->dev, i2c->irq, jz4780_i2c_irq,0 ,dev_name (&pdev->dev), i2c); -if (ret) { - ret = -ENODEV ; +if (ret) goto err; - } ret =i2c_add_adapter (&i2c->adap);if (ret <0 ) {
Signature · 1 line
2.1.0
A message that is not in the archive (sent off-list or not yet received): [email protected]
Wolfram Sang
AppliedQuoted 5 lines · Axel Lin
Current code returns 0 if fails to read clock-frequency DT property, fix it. Also add checking return value of
clk_prepare_enableand propagate return value ofdevm_request_irq.Signed-off-by Axel Lin <[email protected]>
Applied to for-current, thanks!