[PATCH 3/6] iio:pressure:ms5637: limit available sample frequencies

Jonathan Cameron jic23 at kernel.org
Sun Dec 13 12:17:40 EST 2020


On Sat, 12 Dec 2020 20:26:16 +0200
Andy Shevchenko <andy.shevchenko at gmail.com> wrote:

> On Thu, Dec 10, 2020 at 2:03 AM Alexandre Belloni
> <alexandre.belloni at bootlin.com> wrote:
> >
> > Avoid exposing all the sampling frequencies for chip that only support a
> > subset.  
> 
> > +static ssize_t ms5637_show_samp_freq(struct device *dev, struct device_attribute *attr, char *buf)
> > +{
> > +       struct iio_dev *indio_dev = dev_to_iio_dev(dev);
> > +       struct ms_tp_dev *dev_data = iio_priv(indio_dev);
> > +       int i, len = 0;
> > +
> > +       for (i = 0; i <= dev_data->hw->max_res_index; i++)
> > +               len += scnprintf(buf + len, PAGE_SIZE - len, "%u ", ms5637_samp_freq[i]);  
> 
> Doesn't IIO core have a helper?
read_avail() callback and matching masks provide the infrastructure to do this.
It's not a huge saving in code by the time you've wired it up, but has the
advantage that consumer drivers can get hold of the values.  Mind you
I'm not sure what consumers we are likely to get for pressure drivers any
time soon.

> Also, it's better to use sysfs_emit().

New one to me. Thanks.  sysfs_emit_at() here I guess.

Nice.

Jonathan

> 
> > +       buf[len - 1] = '\n';
> > +
> > +       return len;
> > +}  
> 




More information about the linux-arm-kernel mailing list