diff mbox series

[8/9] i2c: imx-lpi2c: Use dev_err_probe in probe function

Message ID 20230728013148.1720978-9-liaochang1@huawei.com
State Superseded
Headers show
Series Use dev_err_probe in i2c probe function | expand

Commit Message

Liao Chang July 28, 2023, 1:31 a.m. UTC
Use the dev_err_probe function instead of dev_err in the probe function
so that the printed messge includes the return value and also handles
-EPROBE_DEFER nicely.

Signed-off-by: Liao Chang <liaochang1@huawei.com>
---
 drivers/i2c/busses/i2c-imx-lpi2c.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Uwe Kleine-König July 28, 2023, 5:55 a.m. UTC | #1
Hello,

On Fri, Jul 28, 2023 at 09:31:47AM +0800, Liao Chang wrote:
> Use the dev_err_probe function instead of dev_err in the probe function
> so that the printed messge includes the return value and also handles
> -EPROBE_DEFER nicely.
> 
> Signed-off-by: Liao Chang <liaochang1@huawei.com>
> ---
>  drivers/i2c/busses/i2c-imx-lpi2c.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
> index c3287c887c6f..9021b8064ae4 100644
> --- a/drivers/i2c/busses/i2c-imx-lpi2c.c
> +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
> @@ -569,10 +569,8 @@ static int lpi2c_imx_probe(struct platform_device *pdev)
>  		sizeof(lpi2c_imx->adapter.name));
>  
>  	ret = devm_clk_bulk_get_all(&pdev->dev, &lpi2c_imx->clks);
> -	if (ret < 0) {
> -		dev_err(&pdev->dev, "can't get I2C peripheral clock, ret=%d\n", ret);
> -		return ret;
> -	}
> +	if (ret < 0)
> +		return dev_err_probe(&pdev->dev, ret, "can't get I2C peripheral clock\n");

The change looks good, however I wonder why you didn't convert the other
dev_err() called by lpi2c_imx_probe() in the same way.

Best regards
Uwe
Liao Chang July 31, 2023, 2:16 a.m. UTC | #2
在 2023/7/28 13:55, Uwe Kleine-König 写道:
> Hello,
> 
> On Fri, Jul 28, 2023 at 09:31:47AM +0800, Liao Chang wrote:
>> Use the dev_err_probe function instead of dev_err in the probe function
>> so that the printed messge includes the return value and also handles
>> -EPROBE_DEFER nicely.
>>
>> Signed-off-by: Liao Chang <liaochang1@huawei.com>
>> ---
>>  drivers/i2c/busses/i2c-imx-lpi2c.c | 6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
>> index c3287c887c6f..9021b8064ae4 100644
>> --- a/drivers/i2c/busses/i2c-imx-lpi2c.c
>> +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
>> @@ -569,10 +569,8 @@ static int lpi2c_imx_probe(struct platform_device *pdev)
>>  		sizeof(lpi2c_imx->adapter.name));
>>  
>>  	ret = devm_clk_bulk_get_all(&pdev->dev, &lpi2c_imx->clks);
>> -	if (ret < 0) {
>> -		dev_err(&pdev->dev, "can't get I2C peripheral clock, ret=%d\n", ret);
>> -		return ret;
>> -	}
>> +	if (ret < 0)
>> +		return dev_err_probe(&pdev->dev, ret, "can't get I2C peripheral clock\n");
> 
> The change looks good, however I wonder why you didn't convert the other
> dev_err() called by lpi2c_imx_probe() in the same way.

Sorry, I am in hurry and don't clean it up as much as.

Actually, I am not sure if I should convert all dev_err calls to dev_err_probe, or just
replace the ones that print the 'return value'. I know that dev_err_probe is better
suited for printing return values, but I am nore sure if it's worth the effort to convert
all of the calls, for example, the second dev_err in lpi2c_imx_probe():

ret = devm_request_irq(&pdev->dev, irq, lpi2c_imx_isr, 0, pdev->name, lpi2c_imx);
if (ret)
    dev_err(&pdev->dev, "can't claim rqi %d\n", irq);
    return ret;
}

Thanks.

> 
> Best regards
> Uwe
>
Uwe Kleine-König July 31, 2023, 7:34 a.m. UTC | #3
Hello,

On Mon, Jul 31, 2023 at 10:16:38AM +0800, Liao, Chang wrote:
> 在 2023/7/28 13:55, Uwe Kleine-König 写道:
> > On Fri, Jul 28, 2023 at 09:31:47AM +0800, Liao Chang wrote:
> >> diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
> >> index c3287c887c6f..9021b8064ae4 100644
> >> --- a/drivers/i2c/busses/i2c-imx-lpi2c.c
> >> +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
> >> @@ -569,10 +569,8 @@ static int lpi2c_imx_probe(struct platform_device *pdev)
> >>  		sizeof(lpi2c_imx->adapter.name));
> >>  
> >>  	ret = devm_clk_bulk_get_all(&pdev->dev, &lpi2c_imx->clks);
> >> -	if (ret < 0) {
> >> -		dev_err(&pdev->dev, "can't get I2C peripheral clock, ret=%d\n", ret);
> >> -		return ret;
> >> -	}
> >> +	if (ret < 0)
> >> +		return dev_err_probe(&pdev->dev, ret, "can't get I2C peripheral clock\n");
> > 
> > The change looks good, however I wonder why you didn't convert the other
> > dev_err() called by lpi2c_imx_probe() in the same way.
> 
> Sorry, I am in hurry and don't clean it up as much as.
> 
> Actually, I am not sure if I should convert all dev_err calls to dev_err_probe, or just
> replace the ones that print the 'return value'. I know that dev_err_probe is better
> suited for printing return values, but I am nore sure if it's worth the effort to convert
> all of the calls, for example, the second dev_err in lpi2c_imx_probe():
> 
> ret = devm_request_irq(&pdev->dev, irq, lpi2c_imx_isr, 0, pdev->name, lpi2c_imx);
> if (ret)
>     dev_err(&pdev->dev, "can't claim rqi %d\n", irq);
>     return ret;
> }

I'd say yes. The return value of devm_request_irq() might be interesting
in the error message. Also emitting error messages in a consistent style
is nice.

Best regards
Uwe
Liao Chang Aug. 1, 2023, 1:23 a.m. UTC | #4
在 2023/7/31 15:34, Uwe Kleine-König 写道:
> Hello,
> 
> On Mon, Jul 31, 2023 at 10:16:38AM +0800, Liao, Chang wrote:
>> 在 2023/7/28 13:55, Uwe Kleine-König 写道:
>>> On Fri, Jul 28, 2023 at 09:31:47AM +0800, Liao Chang wrote:
>>>> diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
>>>> index c3287c887c6f..9021b8064ae4 100644
>>>> --- a/drivers/i2c/busses/i2c-imx-lpi2c.c
>>>> +++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
>>>> @@ -569,10 +569,8 @@ static int lpi2c_imx_probe(struct platform_device *pdev)
>>>>  		sizeof(lpi2c_imx->adapter.name));
>>>>  
>>>>  	ret = devm_clk_bulk_get_all(&pdev->dev, &lpi2c_imx->clks);
>>>> -	if (ret < 0) {
>>>> -		dev_err(&pdev->dev, "can't get I2C peripheral clock, ret=%d\n", ret);
>>>> -		return ret;
>>>> -	}
>>>> +	if (ret < 0)
>>>> +		return dev_err_probe(&pdev->dev, ret, "can't get I2C peripheral clock\n");
>>>
>>> The change looks good, however I wonder why you didn't convert the other
>>> dev_err() called by lpi2c_imx_probe() in the same way.
>>
>> Sorry, I am in hurry and don't clean it up as much as.
>>
>> Actually, I am not sure if I should convert all dev_err calls to dev_err_probe, or just
>> replace the ones that print the 'return value'. I know that dev_err_probe is better
>> suited for printing return values, but I am nore sure if it's worth the effort to convert
>> all of the calls, for example, the second dev_err in lpi2c_imx_probe():
>>
>> ret = devm_request_irq(&pdev->dev, irq, lpi2c_imx_isr, 0, pdev->name, lpi2c_imx);
>> if (ret)
>>     dev_err(&pdev->dev, "can't claim rqi %d\n", irq);
>>     return ret;
>> }
> 
> I'd say yes. The return value of devm_request_irq() might be interesting
> in the error message. Also emitting error messages in a consistent style
> is nice.

Sounds good, I will convert them all in the next revision.

Thanks.

> 
> Best regards
> Uwe
>
diff mbox series

Patch

diff --git a/drivers/i2c/busses/i2c-imx-lpi2c.c b/drivers/i2c/busses/i2c-imx-lpi2c.c
index c3287c887c6f..9021b8064ae4 100644
--- a/drivers/i2c/busses/i2c-imx-lpi2c.c
+++ b/drivers/i2c/busses/i2c-imx-lpi2c.c
@@ -569,10 +569,8 @@  static int lpi2c_imx_probe(struct platform_device *pdev)
 		sizeof(lpi2c_imx->adapter.name));
 
 	ret = devm_clk_bulk_get_all(&pdev->dev, &lpi2c_imx->clks);
-	if (ret < 0) {
-		dev_err(&pdev->dev, "can't get I2C peripheral clock, ret=%d\n", ret);
-		return ret;
-	}
+	if (ret < 0)
+		return dev_err_probe(&pdev->dev, ret, "can't get I2C peripheral clock\n");
 	lpi2c_imx->num_clks = ret;
 
 	ret = of_property_read_u32(pdev->dev.of_node,