Re: [PATCH] hid: Logitech G13 driver 0.0.3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 7 Jan 2010, Rick L. Vinyard, Jr. wrote:

> >> +static ssize_t g13_mled_store(struct device *dev,
> >> +                             struct device_attribute *attr,
> >> +        const char *buf, size_t count)
> >> +{
> >> +       struct hid_device *hdev;
> >> +       int i;
> >> +       unsigned m[4];
> >> +       unsigned mled;
> >> +       ssize_t set_result;
> >> +
> >> +       /* Get the hid associated with the device */
> >> +       hdev = container_of(dev, struct hid_device, dev);
> >> +
> >> +       /* If we have an invalid pointer we'll return ENODATA */
> >> +       if (hdev == NULL || &(hdev->dev) != dev)
> >> +               return -ENODATA;
> >> +
> >> +       i = sscanf(buf, "%u %u %u %u", m, m+1, m+2, m+3);
> >> +       if (!(i == 4 || i == 1)) {
> >> +               printk(KERN_ERR "unrecognized input: %s", buf);
> >> +               return -1;
> >> +       }
> >> +
> >> +       if (i == 1)
> >> +               mled = m[0];
> >> +       else
> >> +               mled = (m[0] ? 1 : 0) | (m[1] ? 2 : 0) |
> >> +                               (m[2] ? 4 : 0) | (m[3] ? 8 : 0);
> >> +
> >> +       set_result = g13_set_mled(hdev, mled);
> >> +
> >> +       if (set_result < 0)
> >> +               return set_result;
> >> +
> >> +       return count;
> >> +}
> >> +
> >> +static DEVICE_ATTR(mled, 0666, g13_mled_show, g13_mled_store);
> >
> > Have you considered the use of the LED class driver as an alternative
> > to introducing these sysfs led controls for the device?
> >
> 
> I did, but this seemed a simpler approach to let user space (such as a
> daemon) manage the leds. In particular this could be used by a user space
> program to map the keys. The MR led could be used to indicate an active
> record mode, etc.

I finally had some time to go through the driver as well (thanks Dmitry 
for beating me with proper review).

Could you be more specific about reasons why you are hesitating to use LED 
subsystem instead of the whole mled stuff in the driver?

I don't see anything that couldn't be achieved using LED class.

Thanks,

-- 
Jiri Kosina
SUSE Labs, Novell Inc.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux