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 |
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, > }; >
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, > > }; > >
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, >>> }; >>> > > > . >
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
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 --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, };
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(-)