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.

And again, you raced userspace and lost :(

thanks,

greg k-h

Reply via email to