Re: [PATCH 09/16] dax: Create a dax device_type

From: Aneesh Kumar K.V
Date: Tue Nov 12 2019 - 06:49:38 EST


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);