Dan Williams <dan.j.williams@xxxxxxxxx> writes: > Move the open coded release method and attribute groups to a 'struct > device_type' instance. > Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx> > Cc: Ira Weiny <ira.weiny@xxxxxxxxx> > Cc: Vishal Verma <vishal.l.verma@xxxxxxxxx> > Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> > --- > drivers/dax/bus.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c > index 8fafbeab510a..f3e6e00ece40 100644 > --- a/drivers/dax/bus.c > +++ b/drivers/dax/bus.c > @@ -373,6 +373,11 @@ static void dev_dax_release(struct device *dev) > kfree(dev_dax); > } > > +static const struct device_type dev_dax_type = { > + .release = dev_dax_release, > + .groups = dax_attribute_groups, > +}; > + > static void unregister_dev_dax(void *dev) > { > struct dev_dax *dev_dax = to_dev_dax(dev); > @@ -430,8 +435,7 @@ struct dev_dax *__devm_create_dev_dax(struct dax_region *dax_region, int id, > else > dev->class = dax_class; > dev->parent = parent; > - dev->groups = dax_attribute_groups; > - dev->release = dev_dax_release; > + dev->type = &dev_dax_type; > dev_set_name(dev, "dax%d.%d", dax_region->id, id); > > rc = device_add(dev);