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