This patch adds a 'phys' string, of the same form as used by various other
DVB cards' IR drivers, for access by any program which uses the EVIOCPHYS
ioctl or may read /sys/class/input/*/phys (e.g. udev) to identify input
device nodes.

Taken from Darren Salt's dvb-ir patchset.

Signed-off-by: Darren Salt <[EMAIL PROTECTED]>
Signed-off-by: David Härdeman <[EMAIL PROTECTED]>


Index: v4l-dvb/linux/drivers/media/dvb/ttpci/budget-ci.c
===================================================================
--- v4l-dvb.orig/linux/drivers/media/dvb/ttpci/budget-ci.c      2006-10-02 
01:59:42.000000000 +0200
+++ v4l-dvb/linux/drivers/media/dvb/ttpci/budget-ci.c   2006-10-02 
17:54:31.000000000 +0200
@@ -69,6 +69,7 @@
        struct input_dev *dev;
        struct tasklet_struct msp430_irq_tasklet;
        char name[72]; /* 40 + 32 for (struct saa7146_dev).name */
+       char phys[32];
 };
 
 struct budget_ci {
@@ -198,8 +199,29 @@
 
        snprintf(budget_ci->ir.name, sizeof(budget_ci->ir.name),
                 "Budget-CI dvb ir receiver %s", saa->name);
+       snprintf(budget_ci->ir.phys, sizeof(budget_ci->ir.phys),
+                "pci-%s/ir0", pci_name(saa->pci));
+
        input_dev->name = budget_ci->ir.name;
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
+       input_dev->phys = budget_ci->ir.phys;
+       input_dev->id.bustype = BUS_PCI;
+       input_dev->id.version = 1;
+       if (saa->pci->subsystem_vendor) {
+               input_dev->id.vendor = saa->pci->subsystem_vendor;
+               input_dev->id.product = saa->pci->subsystem_device;
+       } else {
+               input_dev->id.vendor = saa->pci->vendor;
+               input_dev->id.product = saa->pci->device;
+       }
+# if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
+       input_dev->cdev.dev = &saa->pci->dev;
+# else
+       input_dev->dev = &saa->pci->dev;
+# endif
+#endif
+
        set_bit(EV_KEY, input_dev->evbit);
        for (i = 0; i < ARRAY_SIZE(key_map); i++)
                if (key_map[i])

--
David Härdeman


_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

Reply via email to