You could try adding the following line:
qc->vdev.dev = &usbdev->dev;
just before the call to: r = video_register_device(&qc->vdev, VFL_TYPE_GRABBER, video_nr); at around line 3160 of the qc-driver.c file in the qc-usb source and recompile the driver.
As a diff:
--- qc-driver.c.orig 2006-10-24 03:06:19.000000000 +0100 +++ qc-driver.c 2008-07-01 20:43:39.000000000 +0100 @@ -3155,6 +3155,7 @@
/* Register V4L video device */ memcpy(&qc->vdev, &qc_v4l_template, sizeof(qc_v4l_template)); + qc->vdev.dev = &usbdev->dev; qc->vdev.priv = qc; r = video_register_device(&qc->vdev, VFL_TYPE_GRABBER, video_nr); if (r<0) goto fail3;
This has the effect of setting the video devices parent device, and then HAL will create the correct entry:
udi = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial_video4linux' info.capabilities = {'video4linux', 'video4linux.video_capture'} (string list) info.category = 'video4linux' (string) info.parent = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial' (string) info.product = 'Logitech QuickCam USB' (string) info.subsystem = 'video4linux' (string) info.udi = '/org/freedesktop/Hal/devices/usb_device_46d_840_noserial_video4linux' (string) linux.device_file = '/dev/v4l/video0' (string) linux.hotplug_type = 2 (0x2) (int) linux.subsystem = 'video4linux' (string) linux.sysfs_path = '/sys/class/video4linux/video0' (string) video4linux.device = '/dev/v4l/video0' (string) video4linux.version = '1' (string)
You could try adding the following line:
just before the call to: device( &qc->vdev, VFL_TYPE_GRABBER, video_nr);
r = video_register_
at around line 3160 of the qc-driver.c file in the qc-usb source and recompile the driver.
As a diff:
--- qc-driver.c.orig 2006-10-24 03:06:19.000000000 +0100
+++ qc-driver.c 2008-07-01 20:43:39.000000000 +0100
@@ -3155,6 +3155,7 @@
/* Register V4L video device */
memcpy( &qc->vdev, &qc_v4l_template, sizeof( qc_v4l_ template) );
qc->vdev. priv = qc; device( &qc->vdev, VFL_TYPE_GRABBER, video_nr);
+ qc->vdev.dev = &usbdev->dev;
r = video_register_
if (r<0) goto fail3;
This has the effect of setting the video devices parent device, and then HAL will create the correct entry:
udi = '/org/freedeskt op/Hal/ devices/ usb_device_ 46d_840_ noserial_ video4linux' video_capture' } (string list) op/Hal/ devices/ usb_device_ 46d_840_ noserial' (string) op/Hal/ devices/ usb_device_ 46d_840_ noserial_ video4linux' (string) hotplug_ type = 2 (0x2) (int) video4linux/ video0' (string) device = '/dev/v4l/video0' (string) version = '1' (string)
info.capabilities = {'video4linux', 'video4linux.
info.category = 'video4linux' (string)
info.parent = '/org/freedeskt
info.product = 'Logitech QuickCam USB' (string)
info.subsystem = 'video4linux' (string)
info.udi = '/org/freedeskt
linux.device_file = '/dev/v4l/video0' (string)
linux.
linux.subsystem = 'video4linux' (string)
linux.sysfs_path = '/sys/class/
video4linux.
video4linux.