Commit 5cc8ae00 authored by David Hardeman's avatar David Hardeman Committed by Mauro Carvalho Chehab

V4L/DVB (4876): budget-ci IR: support EVIOCGPHYS

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: default avatarDarren Salt <linux@youmustbejoking.demon.co.uk>
Signed-off-by: default avatarDavid Hardeman <david@hardeman.nu>
Signed-off-by: default avatarAndrew de Quincey <adq_dvb@lidskialf.net>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent dd2f398c
...@@ -76,6 +76,7 @@ struct budget_ci_ir { ...@@ -76,6 +76,7 @@ struct budget_ci_ir {
struct input_dev *dev; struct input_dev *dev;
struct tasklet_struct msp430_irq_tasklet; struct tasklet_struct msp430_irq_tasklet;
char name[72]; /* 40 + 32 for (struct saa7146_dev).name */ char name[72]; /* 40 + 32 for (struct saa7146_dev).name */
char phys[32];
}; };
struct budget_ci { struct budget_ci {
...@@ -205,8 +206,27 @@ static int msp430_ir_init(struct budget_ci *budget_ci) ...@@ -205,8 +206,27 @@ static int msp430_ir_init(struct budget_ci *budget_ci)
snprintf(budget_ci->ir.name, sizeof(budget_ci->ir.name), snprintf(budget_ci->ir.name, sizeof(budget_ci->ir.name),
"Budget-CI dvb ir receiver %s", saa->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; input_dev->name = budget_ci->ir.name;
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
set_bit(EV_KEY, input_dev->evbit); set_bit(EV_KEY, input_dev->evbit);
for (i = 0; i < ARRAY_SIZE(key_map); i++) for (i = 0; i < ARRAY_SIZE(key_map); i++)
if (key_map[i]) if (key_map[i])
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment