summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2007-11-21 22:16:16 +0300
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2007-11-21 22:16:16 +0300
commitdcf65cd41c980278f98b6fc0d9da52747e7d058f (patch)
tree82506f0115e50ab09c65c2dfc12014ed25f67450
parent2e4d242ce71e82d931b4deb184ff9d96c9845ac1 (diff)
downloadlinux-dcf65cd41c980278f98b6fc0d9da52747e7d058f.tar.xz
sonypi: fit input devices into sysfs tree
Properly set up parent on input devices registered by sonypi. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Acked-by: Mattia Dongili <malattia@linux.it>
-rw-r--r--drivers/char/sonypi.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c
index 877e53dcb996..172d3e47070f 100644
--- a/drivers/char/sonypi.c
+++ b/drivers/char/sonypi.c
@@ -1163,7 +1163,7 @@ static struct acpi_driver sonypi_acpi_driver = {
};
#endif
-static int __devinit sonypi_create_input_devices(void)
+static int __devinit sonypi_create_input_devices(struct platform_device *pdev)
{
struct input_dev *jog_dev;
struct input_dev *key_dev;
@@ -1177,6 +1177,7 @@ static int __devinit sonypi_create_input_devices(void)
jog_dev->name = "Sony Vaio Jogdial";
jog_dev->id.bustype = BUS_ISA;
jog_dev->id.vendor = PCI_VENDOR_ID_SONY;
+ jog_dev->dev.parent = &pdev->dev;
jog_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REL);
jog_dev->keybit[BIT_WORD(BTN_MOUSE)] = BIT_MASK(BTN_MIDDLE);
@@ -1191,6 +1192,7 @@ static int __devinit sonypi_create_input_devices(void)
key_dev->name = "Sony Vaio Keys";
key_dev->id.bustype = BUS_ISA;
key_dev->id.vendor = PCI_VENDOR_ID_SONY;
+ key_dev->dev.parent = &pdev->dev;
/* Initialize the Input Drivers: special keys */
key_dev->evbit[0] = BIT_MASK(EV_KEY);
@@ -1385,7 +1387,7 @@ static int __devinit sonypi_probe(struct platform_device *dev)
if (useinput) {
- error = sonypi_create_input_devices();
+ error = sonypi_create_input_devices(dev);
if (error) {
printk(KERN_ERR
"sonypi: failed to create input devices\n");