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? Thanks in advance. Hao > > thanks, > > greg k-h