[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [patch] Video4Linux HAL class
- From: Matthew Mastracci <matt aclaro com>
- To: David Zeuthen <david fubar dk>
- Cc: xdg-list freedesktop org
- Subject: Re: [patch] Video4Linux HAL class
- Date: Thu, 15 Jan 2004 22:55:28 -0700
Sorry for the deluge of mail lately, but I realized that I forgot -u in
my CVS diff and that I should probably be providing GNU-style changelog
entries to make your life easier.
Attached, find the updated patch.
* tools/device-manager/Const.py.in (BUS_NAMES): add video4linux,
fix I2C capitalization
* hald/linux/linux_osspec.c (visit_class_device): add support
for video4linux, minor I2C fixes
(visit_class_device): add support for video4linux
(visit_class_device): use class device path for I2C
(handle_hotplug): hotplug support for video4linux
* hald/Makefile.am (hald_SOURCES): Add
linux_class_video4linux.[ch]
* hald/linux/linux_class_video4linux.[ch]: new files
Matt.
On Thu, 2004-01-15 at 18:11, Matthew Mastracci wrote:
> The attached patch + new files adds virtual video4linux class devices to
> the HAL tree (and fixes a small bug with the i2c adapters not being
> removed properly on hotplug remove). The V4L devices add the following
> multimedia capabilities to their parent device (ie: a bttv-based tv
> capture card):
>
> V4L Device | Capability | Name
> radio | multimedia.radio | Video4Linux Radio Interface
> video | multimedia.vidio | Video4Linux Video Input Interface
> vbi | multimedia.vbi | Video4Linux VBI Interface
> vout | multimedia.vout | Video4Linux Video Output Interface
>
> Note that multimedia.vout is different than video.* - v4l video out
> devices are accessed through the v4l API.
--
Matthew Mastracci <matt aclaro com>
Index: hald/Makefile.am
===================================================================
RCS file: /cvs/hal/hal/hald/Makefile.am,v
retrieving revision 1.10
diff -u -r1.10 Makefile.am
--- hald/Makefile.am 12 Jan 2004 23:30:36 -0000 1.10
+++ hald/Makefile.am 16 Jan 2004 05:50:14 -0000
@@ -29,6 +29,7 @@
linux/linux_class_scsi.h linux/linux_class_scsi.c \
linux/linux_class_net.h linux/linux_class_net.c \
linux/linux_class_i2c_adapter.h linux/linux_class_i2c_adapter.c \
+ linux/linux_class_v4l.h linux/linux_class_v4l.c \
linux/linux_class_input.h linux/linux_class_input.c
hald_SOURCES += \
Index: hald/linux/linux_osspec.c
===================================================================
RCS file: /cvs/hal/hal/hald/linux/linux_osspec.c,v
retrieving revision 1.11
diff -u -r1.11 linux_osspec.c
--- hald/linux/linux_osspec.c 12 Jan 2004 23:30:36 -0000 1.11
+++ hald/linux/linux_osspec.c 16 Jan 2004 05:50:15 -0000
@@ -49,6 +49,7 @@
#include "linux_class_block.h"
#include "linux_class_scsi.h"
#include "linux_class_i2c_adapter.h"
+#include "linux_class_v4l.h"
#include "linux_class_net.h"
#include "linux_class_input.h"
@@ -103,6 +104,8 @@
visit_class_device_scsi_device(path, class_device);
else if( strcmp(class_device->classname, "i2c-adapter")==0 )
visit_class_device_i2c_adapter(path, class_device);
+ else if( strcmp(class_device->classname, "video4linux")==0 )
+ visit_class_device_v4l(path, class_device);
else if( strcmp(class_device->classname, "block")==0 )
visit_class_device_block(path, class_device);
else if( strcmp(class_device->classname, "net")==0 )
@@ -214,7 +217,7 @@
{
printf("device->bus_id = %s, cls->name = %s\n", device->bus_id, class_device->name);
if ( strcmp(device->bus_id, class_device->name) == 0 )
- visit_class_device_i2c_adapter(path, class_device);
+ visit_class_device_i2c_adapter(class_device->path, class_device);
}
}
sysfs_close_class(cls);
@@ -263,6 +266,7 @@
linux_pci_init();
linux_usb_init();
linux_ide_init();
+ linux_class_v4l_init();
linux_class_scsi_init();
linux_class_block_init();
linux_class_net_init();
@@ -315,6 +319,9 @@
}
sysfs_close_directory(dir);
+ /* visit class devices in /sys/class/video4linux */
+ visit_class("video4linux", TRUE);
+
/* visit class devices in /sys/class/scsi_host */
visit_class("scsi_host", FALSE);
@@ -485,7 +492,8 @@
strcmp(subsystem, "block")==0 ||
strcmp(subsystem, "scsi_host")==0 ||
strcmp(subsystem, "scsi_device")==0 ||
- strcmp(subsystem, "i2c-adapter")==0) )
+ strcmp(subsystem, "i2c-adapter")==0 ||
+ strcmp(subsystem, "video4linux")==0 ))
{
if( is_add )
{
Index: tools/device-manager/Const.py.in
===================================================================
RCS file: /cvs/hal/hal/tools/device-manager/Const.py.in,v
retrieving revision 1.5
diff -u -r1.5 Const.py.in
--- tools/device-manager/Const.py.in 12 Jan 2004 23:30:36 -0000 1.5
+++ tools/device-manager/Const.py.in 16 Jan 2004 05:50:15 -0000
@@ -20,7 +20,8 @@
"usbif" : "USB Interface",
"pci" : "PCI",
"i2c" : "I2C",
- "i2c_adapter" : "I2C adapter",
+ "i2c_adapter" : "I2C Adapter",
+ "video4linux" : "Video4Linux",
"scsi_host" : "SCSI Host",
"scsi_device" : "SCSI",
"block" : "Block",
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]