V4L/DVB (5157): Set phys, bustype, version, vendor and product for input device
authorMatthias Schwarzott <zzam@gentoo.org>
Wed, 24 Jan 2007 23:49:58 +0000 (20:49 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 21 Feb 2007 15:35:08 +0000 (13:35 -0200)
Add phys-string, bustype, version, vendor and product to help udev and
others using EVIOCPHYS ioctl to identify the input device node.
Code taken (with little changes) from budget-ci.c

Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/ttpci/av7110_ir.c

index e4544ea2b89b60e0a95b63160ce261a628bb40dc..744d87e563cd29651d0fd31057da9f34095130d7 100644 (file)
@@ -16,6 +16,7 @@
 static int av_cnt;
 static struct av7110 *av_list[4];
 static struct input_dev *input_dev;
+static char input_phys[32];
 
 static u8 delay_timer_finished;
 
@@ -231,8 +232,22 @@ int __devinit av7110_ir_init(struct av7110 *av7110)
                if (!input_dev)
                        return -ENOMEM;
 
+               snprintf(input_phys, sizeof(input_phys),
+                       "pci-%s/ir0", pci_name(av7110->dev->pci));
+
                input_dev->name = "DVB on-card IR receiver";
 
+               input_dev->phys = input_phys;
+               input_dev->id.bustype = BUS_PCI;
+               input_dev->id.version = 1;
+               if (av7110->dev->pci->subsystem_vendor) {
+                       input_dev->id.vendor = av7110->dev->pci->subsystem_vendor;
+                       input_dev->id.product = av7110->dev->pci->subsystem_device;
+               } else {
+                       input_dev->id.vendor = av7110->dev->pci->vendor;
+                       input_dev->id.product = av7110->dev->pci->device;
+               }
+               input_dev->cdev.dev = &av7110->dev->pci->dev;
                set_bit(EV_KEY, input_dev->evbit);
                set_bit(EV_REP, input_dev->evbit);
                input_register_keys();