Re: [PATCH] virtio_console: Use virtio device index to generate port name

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



sjur.brandeland@xxxxxxxxxxxxxx writes:
> From: Sjur Brændeland <sjur.brandeland@xxxxxxxxxxxxxx>
>
> Use virtio device index for creating unique device port names.
> Current index allocation in virtio is based on a monotonically
> increasing variable "index". A better handling of this is to
> use device index which is allocated by ida.
>
> Signed-off-by: Sjur Brændeland <sjur.brandeland@xxxxxxxxxxxxxx>

This seems to make sense, but I'd need Amit's Ack to verify that the
current numbering isn't important for anyone.

Thanks,
Rusty.

> ---
>  drivers/char/virtio_console.c |   16 +++-------------
>  1 files changed, 3 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
> index c17b053..031be0b 100644
> --- a/drivers/char/virtio_console.c
> +++ b/drivers/char/virtio_console.c
> @@ -61,9 +61,6 @@ struct ports_driver_data {
>  	/* List of all the devices we're handling */
>  	struct list_head portdevs;
>  
> -	/* Number of devices this driver is handling */
> -	unsigned int index;
> -
>  	/*
>  	 * This is used to keep track of the number of hvc consoles
>  	 * spawned by this driver.  This number is given as the first
> @@ -169,9 +166,6 @@ struct ports_device {
>  	/* Array of per-port IO virtqueues */
>  	struct virtqueue **in_vqs, **out_vqs;
>  
> -	/* Used for numbering devices for sysfs and debugfs */
> -	unsigned int drv_index;
> -
>  	/* Major number for this device.  Ports will be created as minors. */
>  	int chr_major;
>  };
> @@ -1415,7 +1409,7 @@ static int add_port(struct ports_device *portdev, u32 id)
>  	}
>  	port->dev = device_create(pdrvdata.class, &port->portdev->vdev->dev,
>  				  devt, port, "vport%up%u",
> -				  port->portdev->drv_index, id);
> +				  port->portdev->vdev->index, id);
>  	if (IS_ERR(port->dev)) {
>  		err = PTR_ERR(port->dev);
>  		dev_err(&port->portdev->vdev->dev,
> @@ -1470,7 +1464,7 @@ static int add_port(struct ports_device *portdev, u32 id)
>  		 * inspect a port's state at any time
>  		 */
>  		sprintf(debugfs_name, "vport%up%u",
> -			port->portdev->drv_index, id);
> +			port->portdev->vdev->index, id);
>  		port->debugfs_file = debugfs_create_file(debugfs_name, 0444,
>  							 pdrvdata.debugfs_dir,
>  							 port,
> @@ -1961,16 +1955,12 @@ static int virtcons_probe(struct virtio_device *vdev)
>  	portdev->vdev = vdev;
>  	vdev->priv = portdev;
>  
> -	spin_lock_irq(&pdrvdata_lock);
> -	portdev->drv_index = pdrvdata.index++;
> -	spin_unlock_irq(&pdrvdata_lock);
> -
>  	portdev->chr_major = register_chrdev(0, "virtio-portsdev",
>  					     &portdev_fops);
>  	if (portdev->chr_major < 0) {
>  		dev_err(&vdev->dev,
>  			"Error %d registering chrdev for device %u\n",
> -			portdev->chr_major, portdev->drv_index);
> +			portdev->chr_major, vdev->index);
>  		err = portdev->chr_major;
>  		goto free;
>  	}
> -- 
> 1.7.5.4
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization



[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux