Messages in this thread | | | Date | Fri, 15 Dec 2023 18:35:14 +0200 | From | Andy Shevchenko <> | Subject | Re: [PATCH v3 1/5] gpiolib: cdev: relocate debounce_period_us from struct gpio_desc |
| |
On Fri, Dec 15, 2023 at 10:38:01AM +0800, Kent Gibson wrote: > Store the debounce period for a requested line locally, rather than in > the debounce_period_us field in the gpiolib struct gpio_desc. > > Add a global tree of lines containing supplemental line information > to make the debounce period available to be reported by the > GPIO_V2_GET_LINEINFO_IOCTL and the line change notifier.
LGTM, a few minor comments below.
...
> +/*
(now you can have a kernel doc :-)
> + * a rbtree of the struct lines containing supplemental info. > + * Used to populate gpio_v2_line_info with cdev specific fields not contained > + * in the struct gpio_desc. > + * A line is determined to contain supplemental information by > + * line_is_supplemental(). > + */ > +static struct rb_root supinfo_tree = RB_ROOT; > +/* covers supinfo_tree */ > +DEFINE_SPINLOCK(supinfo_lock);
Shouldn't this also be static?
...
> + guard(spinlock)(&supinfo_lock);
+ cleanup.h ?
...
> +static void supinfo_to_lineinfo(struct gpio_desc *desc, > + struct gpio_v2_line_info *info) > +{ > + struct gpio_v2_line_attribute *attr; > + struct line *line; > + > + guard(spinlock)(&supinfo_lock); > + > + line = supinfo_find(desc); > + if (line) {
if (!line) return;
?
> + attr = &info->attrs[info->num_attrs]; > + attr->id = GPIO_V2_LINE_ATTR_ID_DEBOUNCE; > + attr->debounce_period_us = READ_ONCE(line->debounce_period_us); > + info->num_attrs++; > + } > +}
-- With Best Regards, Andy Shevchenko
| |