[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220901224345.fy6xvbpdn4axtlks@Rockosov-MBP>
Date: Fri, 2 Sep 2022 01:43:45 +0300
From: Dmitry Rokosov <ddrokosov@...rdevices.ru>
To: Andy Shevchenko <andy.shevchenko@...il.com>
CC: Martin Kurbanov <mmkurbanov@...rdevices.ru>,
Pavel Machek <pavel@....cz>,
Raphael Teysseyre <rteysseyre@...il.com>,
Baolin Wang <baolin.wang@...aro.org>,
Linux LED Subsystem <linux-leds@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
kernel <kernel@...rdevices.ru>
Subject: Re: [PATCH v1] leds: trigger: pattern: notify userpace if pattern
finished
[...]
> > +static int pattern_trig_add_pattern_ended(struct led_classdev *led_cdev)
> > +{
> > + struct pattern_trig_data *data = led_get_trigger_data(led_cdev);
> > + struct device *dev = led_cdev->dev;
> > + int ret;
> > +
> > + ret = device_create_file(dev, &dev_attr_pattern_ended);
> > + if (ret) {
> > + dev_err(dev,
> > + "Error creating pattern_ended (%pe)\n", ERR_PTR(ret));
> > + return ret;
> > + }
> > +
> > + data->pattern_ended = sysfs_get_dirent(dev->kobj.sd, "pattern_ended");
> > + if (!data->pattern_ended) {
> > + dev_err(dev, "Error getting pattern_ended kernelfs\n");
> > + device_remove_file(dev, &dev_attr_pattern_ended);
> > + return -ENXIO;
> > + }
> > +
> > + return 0;
> > +}
> > +
> > +static void pattern_trig_remove_pattern_ended(struct led_classdev *led_cdev)
> > +{
> > + struct pattern_trig_data *data = led_get_trigger_data(led_cdev);
> > +
> > + sysfs_put(data->pattern_ended);
> > + device_remove_file(led_cdev->dev, &dev_attr_pattern_ended);
> > +}
>
> I'm wondering if you can always have a file and instead provide a
> value there, so user space may use epoll() mechanism on that. It will
> simplify your code here.
Could you please explain what you mean? In the current implementation
userspace can use epoll() already.
--
Thank you,
Dmitry
Powered by blists - more mailing lists