On Mon, Jun 23, 2014 at 09:31:34PM +0200, Johan Hovold wrote:
> On Mon, Jun 23, 2014 at 02:24:32PM -0400, Greg KH wrote:
> > On Mon, Jun 23, 2014 at 02:23:24PM -0400, Greg KH wrote:
> > > On Mon, Jun 23, 2014 at 08:16:48PM +0300, Janne Kanniainen wrote:
> > > > + ret = sysfs_create_group(&led->hdev->dev.kobj,
> > > > >683r_attribute_group);
> > > > + if (ret) {
> > > > + hid_err(hdev, "failed to create sysfs attributes\n");
> > > > + goto fail;
> > > > + }
> > >
> > > No, you need to set the attribute group _before_ you call
> > > led_classdev_register, as that is where the device will be created in
> > > sysfs. Surely the other led drivers already do this? I'm almost afraid
> > > to go look...
> >
> > Yes, they do it already, set .dev_attr_group and you should be fine.
>
> But this isn't an attribute of the LEDs but rather of the parent HID
> device that is being probed (the led_mode is common to all three LEDs
> and thus belongs in the parent device, right?).
Then that's even worse :(
The sysfs attribute should be on the class device here for the LED, you
should not put an attribute on a device you are not the driver for.
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html