2020-04-16 00:08:45

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: [PATCH] i2c: drivers: Avoid unnecessary check in efm32_i2c_probe()

Hello,

On Wed, Apr 15, 2020 at 10:06:40PM +0800, Tang Bin wrote:
> The function efm32_i2c_probe() is only called with an
> openfirmware platform device.Therefore there is no need
> to check that it has an openfirmware node.
>
> Signed-off-by: Tang Bin <[email protected]>
> Signed-off-by: Shengju Zhang <[email protected]>

Same things apply as in the previous patch. (space after punctuation,
Sob of sender should be last)

> ---
> drivers/i2c/busses/i2c-efm32.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-efm32.c b/drivers/i2c/busses/i2c-efm32.c
> index 4de31fae7..4786ef6b2 100644
> --- a/drivers/i2c/busses/i2c-efm32.c
> +++ b/drivers/i2c/busses/i2c-efm32.c
> @@ -312,9 +312,6 @@ static int efm32_i2c_probe(struct platform_device *pdev)
> int ret;
> u32 clkdiv;
>
> - if (!np)
> - return -EINVAL;
> -

I don't care much about this change. While the statement that this
driver is only instantiated on dt platforms is probably right,
explicitly checking for it might still prevent surprises later, serves
as explicit statement for the driver reader that non-dt isn't supposed
to work and given that the check is cheap I tend slightly to just keep
it.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | https://www.pengutronix.de/ |


2020-04-16 01:32:35

by Tang Bin

[permalink] [raw]
Subject: Re: [PATCH] i2c: drivers: Avoid unnecessary check inefm32_i2c_probe()

Hi Uwe:

On 2020/4/15 22:31, Uwe Kleine-König wrote:
> Same things apply as in the previous patch. (space after punctuation,
> Sob of sender should be last)
I will notice this problem next time, thanks.
>> ---
>> drivers/i2c/busses/i2c-efm32.c | 3 ---
>> 1 file changed, 3 deletions(-)
>>
>> diff --git a/drivers/i2c/busses/i2c-efm32.c b/drivers/i2c/busses/i2c-efm32.c
>> index 4de31fae7..4786ef6b2 100644
>> --- a/drivers/i2c/busses/i2c-efm32.c
>> +++ b/drivers/i2c/busses/i2c-efm32.c
>> @@ -312,9 +312,6 @@ static int efm32_i2c_probe(struct platform_device *pdev)
>> int ret;
>> u32 clkdiv;
>>
>> - if (!np)
>> - return -EINVAL;
>> -
> I don't care much about this change. While the statement that this
> driver is only instantiated on dt platforms is probably right,
> explicitly checking for it might still prevent surprises later, serves
> as explicit statement for the driver reader that non-dt isn't supposed
> to work and given that the check is cheap I tend slightly to just keep
> it.
>
In this driver, the function efm32_i2c_probe() can be triggered only if
the platform_device and platform_driver matches,  and the matching
condition is DTS. It's my opinion.

Tnanks,

Tang Bin



2020-04-16 06:53:54

by Uwe Kleine-König

[permalink] [raw]
Subject: Re: [PATCH] i2c: drivers: Avoid unnecessary check inefm32_i2c_probe()

On Thu, Apr 16, 2020 at 09:30:22AM +0800, Tang Bin wrote:
> Hi Uwe:
>
> On 2020/4/15 22:31, Uwe Kleine-K?nig wrote:
> > Same things apply as in the previous patch. (space after punctuation,
> > Sob of sender should be last)
> I will notice this problem next time, thanks.
> > > ---
> > > drivers/i2c/busses/i2c-efm32.c | 3 ---
> > > 1 file changed, 3 deletions(-)
> > >
> > > diff --git a/drivers/i2c/busses/i2c-efm32.c b/drivers/i2c/busses/i2c-efm32.c
> > > index 4de31fae7..4786ef6b2 100644
> > > --- a/drivers/i2c/busses/i2c-efm32.c
> > > +++ b/drivers/i2c/busses/i2c-efm32.c
> > > @@ -312,9 +312,6 @@ static int efm32_i2c_probe(struct platform_device *pdev)
> > > int ret;
> > > u32 clkdiv;
> > > - if (!np)
> > > - return -EINVAL;
> > > -
> > I don't care much about this change. While the statement that this
> > driver is only instantiated on dt platforms is probably right,
> > explicitly checking for it might still prevent surprises later, serves
> > as explicit statement for the driver reader that non-dt isn't supposed
> > to work and given that the check is cheap I tend slightly to just keep
> > it.
> >
> In this driver, the function efm32_i2c_probe() can be triggered only if the
> platform_device and platform_driver matches,? and the matching condition is
> DTS. It's my opinion.

I admit I didn't recheck, but I think the driver will also be matched on
non-dt platforms that provide an "efm32-i2c" device.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | https://www.pengutronix.de/ |

2020-04-16 09:05:05

by Tang Bin

[permalink] [raw]
Subject: Re: [PATCH] i2c: drivers: Avoid unnecessary check inefm32_i2c_probe()

Hi Uwe:

On 2020/4/16 14:50, Uwe Kleine-König wrote:
>>>> diff --git a/drivers/i2c/busses/i2c-efm32.c b/drivers/i2c/busses/i2c-efm32.c
>>>> index 4de31fae7..4786ef6b2 100644
>>>> --- a/drivers/i2c/busses/i2c-efm32.c
>>>> +++ b/drivers/i2c/busses/i2c-efm32.c
>>>> @@ -312,9 +312,6 @@ static int efm32_i2c_probe(struct platform_device *pdev)
>>>> int ret;
>>>> u32 clkdiv;
>>>> - if (!np)
>>>> - return -EINVAL;
>>>> -
>>> I don't care much about this change. While the statement that this
>>> driver is only instantiated on dt platforms is probably right,
>>> explicitly checking for it might still prevent surprises later, serves
>>> as explicit statement for the driver reader that non-dt isn't supposed
>>> to work and given that the check is cheap I tend slightly to just keep
>>> it.
>>>
>> In this driver, the function efm32_i2c_probe() can be triggered only if the
>> platform_device and platform_driver matches,  and the matching condition is
>> DTS. It's my opinion.
> I admit I didn't recheck, but I think the driver will also be matched on
> non-dt platforms that provide an "efm32-i2c" device.

Year, I agree with you, the driver should be matched on dt or non-dt
platforms. But for non-dt platforms, I think this driver may need minor
changes, after all, it is just suitable for the dt platforms right now.
That's my shallow opinions.

Thanks for your patient guidance and reply, thank you. I think you are
also a good teacher, thanks.

Tang Bin

>