Re: [PATCH 5/9] driver core: remove device_create_vargs

From: Jan Kara
Date: Wed Apr 22 2020 - 05:09:36 EST


On Wed 22-04-20 09:38:47, Christoph Hellwig wrote:
> All external users of device_create_vargs are gone, so remove it and
> open code it in the only caller.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

Looks good to me. You can add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

Honza

> ---
> drivers/base/core.c | 37 ++-----------------------------------
> include/linux/device.h | 4 ----
> 2 files changed, 2 insertions(+), 39 deletions(-)
>
> diff --git a/drivers/base/core.c b/drivers/base/core.c
> index 139cdf7e7327..fb8ae248e5aa 100644
> --- a/drivers/base/core.c
> +++ b/drivers/base/core.c
> @@ -3188,40 +3188,6 @@ device_create_groups_vargs(struct class *class, struct device *parent,
> return ERR_PTR(retval);
> }
>
> -/**
> - * device_create_vargs - creates a device and registers it with sysfs
> - * @class: pointer to the struct class that this device should be registered to
> - * @parent: pointer to the parent struct device of this new device, if any
> - * @devt: the dev_t for the char device to be added
> - * @drvdata: the data to be added to the device for callbacks
> - * @fmt: string for the device's name
> - * @args: va_list for the device's name
> - *
> - * This function can be used by char device classes. A struct device
> - * will be created in sysfs, registered to the specified class.
> - *
> - * A "dev" file will be created, showing the dev_t for the device, if
> - * the dev_t is not 0,0.
> - * If a pointer to a parent struct device is passed in, the newly created
> - * struct device will be a child of that device in sysfs.
> - * The pointer to the struct device will be returned from the call.
> - * Any further sysfs files that might be required can be created using this
> - * pointer.
> - *
> - * Returns &struct device pointer on success, or ERR_PTR() on error.
> - *
> - * Note: the struct class passed to this function must have previously
> - * been created with a call to class_create().
> - */
> -struct device *device_create_vargs(struct class *class, struct device *parent,
> - dev_t devt, void *drvdata, const char *fmt,
> - va_list args)
> -{
> - return device_create_groups_vargs(class, parent, devt, drvdata, NULL,
> - fmt, args);
> -}
> -EXPORT_SYMBOL_GPL(device_create_vargs);
> -
> /**
> * device_create - creates a device and registers it with sysfs
> * @class: pointer to the struct class that this device should be registered to
> @@ -3253,7 +3219,8 @@ struct device *device_create(struct class *class, struct device *parent,
> struct device *dev;
>
> va_start(vargs, fmt);
> - dev = device_create_vargs(class, parent, devt, drvdata, fmt, vargs);
> + dev = device_create_groups_vargs(class, parent, devt, drvdata, NULL,
> + fmt, vargs);
> va_end(vargs);
> return dev;
> }
> diff --git a/include/linux/device.h b/include/linux/device.h
> index ac8e37cd716a..15460a5ac024 100644
> --- a/include/linux/device.h
> +++ b/include/linux/device.h
> @@ -884,10 +884,6 @@ extern bool device_is_bound(struct device *dev);
> /*
> * Easy functions for dynamically creating devices on the fly
> */
> -extern __printf(5, 0)
> -struct device *device_create_vargs(struct class *cls, struct device *parent,
> - dev_t devt, void *drvdata,
> - const char *fmt, va_list vargs);
> extern __printf(5, 6)
> struct device *device_create(struct class *cls, struct device *parent,
> dev_t devt, void *drvdata,
> --
> 2.26.1
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR