diff mbox series

[-next] iio:ad7797: Use correct attribute_group

Message ID 20200302133249.23152-1-yuehaibing@huawei.com (mailing list archive)
State New, archived
Headers show
Series [-next] iio:ad7797: Use correct attribute_group | expand

Commit Message

YueHaibing March 2, 2020, 1:32 p.m. UTC
It seems ad7797_attribute_group should be used in ad7797_info,
according to commit ("iio:ad7793: Add support for the ad7796 and ad7797").

Fixes: fd1a8b912841 ("iio:ad7793: Add support for the ad7796 and ad7797")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
 drivers/iio/adc/ad7793.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alexandru Ardelean March 4, 2020, 6:35 a.m. UTC | #1
On Mon, 2020-03-02 at 21:32 +0800, YueHaibing wrote:
> [External]
> 
> It seems ad7797_attribute_group should be used in ad7797_info,
> according to commit ("iio:ad7793: Add support for the ad7796 and ad7797").

While the change looks good at first, I am thinking that this might introduce
another issue while fixing this one.

It looks like the ad7797_attributes[] array may also require the
&iio_dev_attr_in_m_in_scale_available.dev_attr.attr attribute as well.
It looks like the available scales should be printed for AD7997 as well.

That being said, this patch is fine as-is.
But it would require a patch [before-this-patch] to fix the ad7797_attributes
array.

Something like this:

static struct attribute *ad7797_attributes[] = {
        &iio_const_attr_sampling_frequency_available_ad7797.dev_attr.attr,
+       &iio_dev_attr_in_m_in_scale_available.dev_attr.attr,
       NULL
};

I'm hoping I'm right about this one. I sometimes don't notice things too well.

> 
> Fixes: fd1a8b912841 ("iio:ad7793: Add support for the ad7796 and ad7797")
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> ---
>  drivers/iio/adc/ad7793.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/adc/ad7793.c b/drivers/iio/adc/ad7793.c
> index b747db9..e5691e3 100644
> --- a/drivers/iio/adc/ad7793.c
> +++ b/drivers/iio/adc/ad7793.c
> @@ -542,7 +542,7 @@ static const struct iio_info ad7797_info = {
>  	.read_raw = &ad7793_read_raw,
>  	.write_raw = &ad7793_write_raw,
>  	.write_raw_get_fmt = &ad7793_write_raw_get_fmt,
> -	.attrs = &ad7793_attribute_group,
> +	.attrs = &ad7797_attribute_group,
>  	.validate_trigger = ad_sd_validate_trigger,
>  };
>
Jonathan Cameron March 7, 2020, 1:10 p.m. UTC | #2
On Wed, 4 Mar 2020 06:35:28 +0000
"Ardelean, Alexandru" <alexandru.Ardelean@analog.com> wrote:

> On Mon, 2020-03-02 at 21:32 +0800, YueHaibing wrote:
> > [External]
> > 
> > It seems ad7797_attribute_group should be used in ad7797_info,
> > according to commit ("iio:ad7793: Add support for the ad7796 and ad7797").  
> 
> While the change looks good at first, I am thinking that this might introduce
> another issue while fixing this one.
> 
> It looks like the ad7797_attributes[] array may also require the
> &iio_dev_attr_in_m_in_scale_available.dev_attr.attr attribute as well.
> It looks like the available scales should be printed for AD7997 as well.
> 
> That being said, this patch is fine as-is.
> But it would require a patch [before-this-patch] to fix the ad7797_attributes
> array.
> 
> Something like this:
> 
> static struct attribute *ad7797_attributes[] = {
>         &iio_const_attr_sampling_frequency_available_ad7797.dev_attr.attr,
> +       &iio_dev_attr_in_m_in_scale_available.dev_attr.attr,
>        NULL
> };
> 
> I'm hoping I'm right about this one. I sometimes don't notice things too well.

Agreed. Should have that addition as well.  If not we'll successfully fix
one issue but drop a valid interface at the same time...

Thanks,

Jonathan

> 
> > 
> > Fixes: fd1a8b912841 ("iio:ad7793: Add support for the ad7796 and ad7797")
> > Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> > ---
> >  drivers/iio/adc/ad7793.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/iio/adc/ad7793.c b/drivers/iio/adc/ad7793.c
> > index b747db9..e5691e3 100644
> > --- a/drivers/iio/adc/ad7793.c
> > +++ b/drivers/iio/adc/ad7793.c
> > @@ -542,7 +542,7 @@ static const struct iio_info ad7797_info = {
> >  	.read_raw = &ad7793_read_raw,
> >  	.write_raw = &ad7793_write_raw,
> >  	.write_raw_get_fmt = &ad7793_write_raw_get_fmt,
> > -	.attrs = &ad7793_attribute_group,
> > +	.attrs = &ad7797_attribute_group,
> >  	.validate_trigger = ad_sd_validate_trigger,
> >  };
> >
YueHaibing March 9, 2020, 1:38 a.m. UTC | #3
On 2020/3/7 21:10, Jonathan Cameron wrote:
> On Wed, 4 Mar 2020 06:35:28 +0000
> "Ardelean, Alexandru" <alexandru.Ardelean@analog.com> wrote:
> 
>> On Mon, 2020-03-02 at 21:32 +0800, YueHaibing wrote:
>>> [External]
>>>
>>> It seems ad7797_attribute_group should be used in ad7797_info,
>>> according to commit ("iio:ad7793: Add support for the ad7796 and ad7797").  
>>
>> While the change looks good at first, I am thinking that this might introduce
>> another issue while fixing this one.
>>
>> It looks like the ad7797_attributes[] array may also require the
>> &iio_dev_attr_in_m_in_scale_available.dev_attr.attr attribute as well.
>> It looks like the available scales should be printed for AD7997 as well.
>>
>> That being said, this patch is fine as-is.
>> But it would require a patch [before-this-patch] to fix the ad7797_attributes
>> array.
>>
>> Something like this:
>>
>> static struct attribute *ad7797_attributes[] = {
>>         &iio_const_attr_sampling_frequency_available_ad7797.dev_attr.attr,
>> +       &iio_dev_attr_in_m_in_scale_available.dev_attr.attr,
>>        NULL
>> };
>>
>> I'm hoping I'm right about this one. I sometimes don't notice things too well.
> 
> Agreed. Should have that addition as well.  If not we'll successfully fix
> one issue but drop a valid interface at the same time...
> 

Ok, will send v2 with this addtion, thanks!

> Thanks,
> 
> Jonathan
> 
>>
>>>
>>> Fixes: fd1a8b912841 ("iio:ad7793: Add support for the ad7796 and ad7797")
>>> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
>>> ---
>>>  drivers/iio/adc/ad7793.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/iio/adc/ad7793.c b/drivers/iio/adc/ad7793.c
>>> index b747db9..e5691e3 100644
>>> --- a/drivers/iio/adc/ad7793.c
>>> +++ b/drivers/iio/adc/ad7793.c
>>> @@ -542,7 +542,7 @@ static const struct iio_info ad7797_info = {
>>>  	.read_raw = &ad7793_read_raw,
>>>  	.write_raw = &ad7793_write_raw,
>>>  	.write_raw_get_fmt = &ad7793_write_raw_get_fmt,
>>> -	.attrs = &ad7793_attribute_group,
>>> +	.attrs = &ad7797_attribute_group,
>>>  	.validate_trigger = ad_sd_validate_trigger,
>>>  };
>>>    
> 
> 
> .
>
Lars-Peter Clausen March 9, 2020, 10:10 a.m. UTC | #4
On 3/4/20 7:35 AM, Ardelean, Alexandru wrote:
> On Mon, 2020-03-02 at 21:32 +0800, YueHaibing wrote:
>> [External]
>>
>> It seems ad7797_attribute_group should be used in ad7797_info,
>> according to commit ("iio:ad7793: Add support for the ad7796 and ad7797").
> While the change looks good at first, I am thinking that this might introduce
> another issue while fixing this one.
>
> It looks like the ad7797_attributes[] array may also require the
> &iio_dev_attr_in_m_in_scale_available.dev_attr.attr attribute as well.
> It looks like the available scales should be printed for AD7997 as well.
>
> That being said, this patch is fine as-is.
> But it would require a patch [before-this-patch] to fix the ad7797_attributes
> array.
>
> Something like this:
>
> static struct attribute *ad7797_attributes[] = {
>          &iio_const_attr_sampling_frequency_available_ad7797.dev_attr.attr,
> +       &iio_dev_attr_in_m_in_scale_available.dev_attr.attr,
>         NULL
> };
>
> I'm hoping I'm right about this one. I sometimes don't notice things too well.
>
Scale is fixed for the ad7796 and not programmable. Usually we only have 
the scale attribute itself in that case and no scale_available attribute.

- Lars
Lars-Peter Clausen March 9, 2020, 10:12 a.m. UTC | #5
On 3/9/20 2:38 AM, Yuehaibing wrote:
> On 2020/3/7 21:10, Jonathan Cameron wrote:
>> On Wed, 4 Mar 2020 06:35:28 +0000
>> "Ardelean, Alexandru" <alexandru.Ardelean@analog.com> wrote:
>>
>>> On Mon, 2020-03-02 at 21:32 +0800, YueHaibing wrote:
>>>> [External]
>>>>
>>>> It seems ad7797_attribute_group should be used in ad7797_info,
>>>> according to commit ("iio:ad7793: Add support for the ad7796 and ad7797").
>>> While the change looks good at first, I am thinking that this might introduce
>>> another issue while fixing this one.
>>>
>>> It looks like the ad7797_attributes[] array may also require the
>>> &iio_dev_attr_in_m_in_scale_available.dev_attr.attr attribute as well.
>>> It looks like the available scales should be printed for AD7997 as well.
>>>
>>> That being said, this patch is fine as-is.
>>> But it would require a patch [before-this-patch] to fix the ad7797_attributes
>>> array.
>>>
>>> Something like this:
>>>
>>> static struct attribute *ad7797_attributes[] = {
>>>          &iio_const_attr_sampling_frequency_available_ad7797.dev_attr.attr,
>>> +       &iio_dev_attr_in_m_in_scale_available.dev_attr.attr,
>>>         NULL
>>> };
>>>
>>> I'm hoping I'm right about this one. I sometimes don't notice things too well.
>> Agreed. Should have that addition as well.  If not we'll successfully fix
>> one issue but drop a valid interface at the same time...
>>
> Ok, will send v2 with this addtion, thanks!
>
I believe the original patch is OK the way it was. The part does not 
have a programmable gain, hence should not have the scale_available 
attribute.

You can add my reviewed by to the original patch.

Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>

- Lars
diff mbox series

Patch

diff --git a/drivers/iio/adc/ad7793.c b/drivers/iio/adc/ad7793.c
index b747db9..e5691e3 100644
--- a/drivers/iio/adc/ad7793.c
+++ b/drivers/iio/adc/ad7793.c
@@ -542,7 +542,7 @@  static const struct iio_info ad7797_info = {
 	.read_raw = &ad7793_read_raw,
 	.write_raw = &ad7793_write_raw,
 	.write_raw_get_fmt = &ad7793_write_raw_get_fmt,
-	.attrs = &ad7793_attribute_group,
+	.attrs = &ad7797_attribute_group,
 	.validate_trigger = ad_sd_validate_trigger,
 };