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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to