Bladeren bron

V4L/DVB (5157): Set phys, bustype, version, vendor and product for input device

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>
Matthias Schwarzott 18 jaren geleden
bovenliggende
commit
357a268d59
1 gewijzigde bestanden met toevoegingen van 15 en 0 verwijderingen
  1. 15 0
      drivers/media/dvb/ttpci/av7110_ir.c

+ 15 - 0
drivers/media/dvb/ttpci/av7110_ir.c

@@ -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();