On Wed, Aug 07, 2019 at 04:08:25PM +0800, Wu Hao wrote: > On Wed, Aug 07, 2019 at 10:45:22AM +0800, Wu Hao wrote: > > On Mon, Aug 05, 2019 at 05:56:26PM +0200, Greg KH wrote: > > > On Sun, Aug 04, 2019 at 06:20:21PM +0800, Wu Hao wrote: > > > > +static int fme_global_err_init(struct platform_device *pdev, > > > > + struct dfl_feature *feature) > > > > +{ > > > > + struct device *dev; > > > > + int ret = 0; > > > > + > > > > + dev = kzalloc(sizeof(*dev), GFP_KERNEL); > > > > + if (!dev) > > > > + return -ENOMEM; > > > > + > > > > + dev->parent = &pdev->dev; > > > > + dev->release = err_dev_release; > > > > + dev_set_name(dev, "errors"); > > > > + > > > > + fme_error_enable(feature); > > > > + > > > > + ret = device_register(dev); > > > > + if (ret) { > > > > + put_device(dev); > > > > + return ret; > > > > + } > > > > + > > > > + ret = device_add_groups(dev, error_groups); > > > > > > cute, but no, you do not create a whole struct device for a subdir. Use > > > the attribute group name like you did on earlier patches. > > > > Sure, let me fix it in the next version. > > > > > > > > And again, you raced userspace and lost :( > > > > Same here, could you please give some more hints here? > > Oh.. I see.. > > I should follow [1] as this is a platform driver. I will fix it. Thanks! > > [PATCH 00/11] Platform drivers, provide a way to add sysfs groups easily > > [1]https://lkml.org/lkml/2019/7/4/181 Yes, that is the correct thing to do. thanks, greg k-h