Re: [PATCH net-next 19/19] mtty: Optionally support mtty alias

Leon Romanovsky
2019-11-08T06:26:39Z

On Thu, Nov 07, 2019 at 10:08:34AM -0600, Parav Pandit wrote:
> Provide a module parameter to set alias length to optionally generate
> mdev alias.

Why do we need it?

>
> Example to request mdev alias.
> $ modprobe mtty alias_length=12
>
> Make use of mtty_alias() API when alias_length module parameter is set.
>
> Signed-off-by: Parav Pandit <parav@mellanox.com>
> ---
> samples/vfio-mdev/mtty.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/samples/vfio-mdev/mtty.c b/samples/vfio-mdev/mtty.c
> index ce84a300a4da..5a69121ed5ec 100644
> --- a/samples/vfio-mdev/mtty.c
> +++ b/samples/vfio-mdev/mtty.c
> @@ -150,6 +150,10 @@ static const struct file_operations vd_fops = {
> .owner = THIS_MODULE,
> };
>
> +static unsigned int mtty_alias_length;
> +module_param_named(alias_length, mtty_alias_length, uint, 0444);
> +MODULE_PARM_DESC(alias_length, "mdev alias length; default=0");
> +
> /* function prototypes */
>
> static int mtty_trigger_interrupt(struct mdev_state *mdev_state);
> @@ -755,6 +759,9 @@ static int mtty_create(struct kobject *kobj, struct mdev_device *mdev)
> list_add(&mdev_state->next, &mdev_devices_list);
> mutex_unlock(&mdev_list_lock);
>
> + if (mtty_alias_length)
> + dev_dbg(mdev_dev(mdev), "alias is %s\n", mdev_alias(mdev));
> +
> return 0;
> }
>
> @@ -1387,6 +1394,11 @@ static struct attribute_group *mdev_type_groups[] = {
> NULL,
> };
>
> +static unsigned int mtty_get_alias_length(void)
> +{
> + return mtty_alias_length;
> +}
> +
> static const struct mdev_parent_ops mdev_fops = {
> .owner = THIS_MODULE,
> .dev_attr_groups = mtty_dev_groups,
> @@ -1399,6 +1411,7 @@ static const struct mdev_parent_ops mdev_fops = {
> .read = mtty_read,
> .write = mtty_write,
> .ioctl = mtty_ioctl,
> + .get_alias_length = mtty_get_alias_length
> };
>
> static void mtty_device_release(struct device *dev)
> --
> 2.19.2
>