[RFC] virtio_console: Add DRIVER and INTERFACE to uevent.

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

 



From: Sjur Brændeland <sjur.brandeland@xxxxxxxxxxxxxx>

Add information so rproc-serial can be easily recogniced
from user space. Add the following information to uevent:
DRIVER=virtio_console|virtio_rproc_serial
INTERFACE=grand-parent/parent/name

Signed-off-by: Sjur Brændeland <sjur.brandeland@xxxxxxxxxxxxxx>
---
Hi,

I need some way to identify the major/minor number for
the rproc-serial device, given the udev event. 
Review comments are welcomed.

Thanks,
Sjur

 drivers/char/virtio_console.c |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index 031be0b..96c5ed9 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -2190,6 +2190,27 @@ static struct virtio_driver virtio_rproc_serial = {
 	.remove =	virtcons_remove,
 };
 
+int class_virtio_ports_uevent(struct device *_dev, struct kobj_uevent_env *env)
+{
+	struct port *port = dev_get_drvdata(_dev);
+	struct device *dev;
+	int err;
+
+	if (!port || !port->portdev || !port->portdev->vdev)
+		return 0;
+
+	dev = &port->portdev->vdev->dev;
+	err = add_uevent_var(env, "DRIVER=%s", dev->driver->name);
+	if (err)
+		return err;
+
+	return add_uevent_var(env, "INTERFACE=%s/%s/%s",
+			      dev->parent->parent ?
+					dev_name(dev->parent->parent) : "",
+			      dev->parent ? dev_name(dev->parent) : "",
+			      dev_name(dev));
+}
+
 static int __init init(void)
 {
 	int err;
@@ -2201,6 +2222,7 @@ static int __init init(void)
 		return err;
 	}
 
+	pdrvdata.class->dev_uevent = class_virtio_ports_uevent;
 	pdrvdata.debugfs_dir = debugfs_create_dir("virtio-ports", NULL);
 	if (!pdrvdata.debugfs_dir) {
 		pr_warning("Error %ld creating debugfs dir for virtio-ports\n",
-- 
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