Re: [PATCH v7 1/1] gpio: add sloppy logic analyzer using polling

From: Wolfram Sang
Date: Mon Mar 28 2022 - 05:37:42 EST


Hi Andy,

> > + for (i = 0; i < priv->trig_len; i+= 2) {
>
> Missed space.

Yes.

> > +static int fops_buf_size_set(void *data, u64 val)
> > +{
> > + struct gpio_la_poll_priv *priv = data;
>
> > + int ret = 0;
>
> Instead of this assignment and other related things, can we do the following?
>
> > + void *p;
> > +
> > + if (!val)
> > + return -EINVAL;
> > +
> > + mutex_lock(&priv->lock);
> > +
> > + vfree(priv->blob.data);
>
> priv->blob.data = NULL;
> priv->blob.size = 0;
>
> > + p = vzalloc(val);
> > + if (!p) {
> > + val = 0;
> > + ret = -ENOMEM;
> > + }
>
> p = vzalloc(val);
> if (!p)
> return -ENOMEM;
>
> > + priv->blob.data = p;
> > + priv->blob.size = val;

I don't like assigning 'priv' memebers twice, so I'd like to keep it as
is.

> > +static const struct file_operations fops_trigger = {
> > + .owner = THIS_MODULE,
> > + .open = trigger_open,
> > + .write = trigger_write,
> > + .llseek = no_llseek,
> > + .release = single_release,
> > +};
>
> Can it be wrapped by DEFINE_SHOW_ATTRIBUTE()?

I don't see a way. Do you?

> > + dev_info(dev, "initialized");
>
> Not sure how this one would be helpful.

Then please check my comments on your previous reviews.

All the best,

Wolfram

Attachment: signature.asc
Description: PGP signature