Re: [PATCH 5/6] GenWQE Sysfs interfaces

From: Frank Haverkamp
Date: Tue Dec 03 2013 - 07:53:26 EST


Hi Greg,

thanks for taking your time to review our code once more.

Am Mittwoch, den 27.11.2013, 11:22 -0800 schrieb Greg KH:
> On Wed, Nov 06, 2013 at 01:45:42PM +0100, Frank Haverkamp wrote:
> > +/**
> > + * genwqe_init_sysfs() - Setup sysfs entries of the card device
> > + */
> > +int genwqe_init_sysfs(struct genwqe_dev *cd)
> > +{
> > + int rc;
> > +
> > + rc = sysfs_create_group(&cd->dev->kobj, &genwqe_attribute_group);
> > + if (rc)
> > + return -ENXIO;
> > +
> > + return 0;
> > +}
>
> Why isn't this group the "default" one for the device? That way you
> don't have to explicitly create/remove it, the driver core handles it
> all automatically for you, and you don't race with userspace when it is
> created/announced.

I found the ..._with_groups variant of device_create:
cd->dev = device_create_with_groups(cd->class_genwqe,
&cd->pci_dev->dev,
cd->devnum_genwqe, cd,
genwqe_attribute_groups,
GENWQE_DEVNAME "%u_card",
cd->card_idx);

This works nicely for me too. Is that what you had in mind?
It saves two functions and if it gets rid of the race, nice.

> thanks,
>
> greg k-h
>
Regards

Frank


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/