pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/sysutils/hal hald-netbsd: add v4l2 support, bump PKGRE...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/6a526ef092b3
branches:  trunk
changeset: 550749:6a526ef092b3
user:      jmcneill <jmcneill%pkgsrc.org@localhost>
date:      Thu Nov 27 22:19:10 2008 +0000

description:
hald-netbsd: add v4l2 support, bump PKGREVISION

diffstat:

 sysutils/hal/Makefile                          |    4 +-
 sysutils/hal/files/hald-netbsd/Makefile.am     |    2 +-
 sysutils/hal/files/hald-netbsd/devinfo.c       |    2 +
 sysutils/hal/files/hald-netbsd/devinfo_video.c |  125 +++++++++++++++++++++++++
 sysutils/hal/files/hald-netbsd/devinfo_video.h |   36 +++++++
 5 files changed, 166 insertions(+), 3 deletions(-)

diffs (214 lines):

diff -r de8aab3709c0 -r 6a526ef092b3 sysutils/hal/Makefile
--- a/sysutils/hal/Makefile     Thu Nov 27 21:16:18 2008 +0000
+++ b/sysutils/hal/Makefile     Thu Nov 27 22:19:10 2008 +0000
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.13 2008/11/27 16:07:14 jmcneill Exp $
+# $NetBSD: Makefile,v 1.14 2008/11/27 22:19:10 jmcneill Exp $
 #
 
 DISTNAME=              hal-0.5.11
-PKGREVISION=           9
+PKGREVISION=           10
 CATEGORIES=            sysutils
 MASTER_SITES=          http://hal.freedesktop.org/releases/
 EXTRACT_SUFX=          .tar.bz2
diff -r de8aab3709c0 -r 6a526ef092b3 sysutils/hal/files/hald-netbsd/Makefile.am
--- a/sysutils/hal/files/hald-netbsd/Makefile.am        Thu Nov 27 21:16:18 2008 +0000
+++ b/sysutils/hal/files/hald-netbsd/Makefile.am        Thu Nov 27 22:19:10 2008 +0000
@@ -16,7 +16,7 @@
 
 libhald_netbsd_la_SOURCES = \
        osspec.c drvctl.c envsys.c \
-       devinfo.c devinfo_misc.c devinfo_audio.c \
+       devinfo.c devinfo_misc.c devinfo_audio.c devinfo_video.c \
        hotplug.c hal-file-monitor.c
 #      devinfo_pci.c devinfo_storage.c devinfo_usb.c
 
diff -r de8aab3709c0 -r 6a526ef092b3 sysutils/hal/files/hald-netbsd/devinfo.c
--- a/sysutils/hal/files/hald-netbsd/devinfo.c  Thu Nov 27 21:16:18 2008 +0000
+++ b/sysutils/hal/files/hald-netbsd/devinfo.c  Thu Nov 27 22:19:10 2008 +0000
@@ -29,6 +29,7 @@
 #include "hotplug.h"
 #include "devinfo.h"
 #include "devinfo_audio.h"
+#include "devinfo_video.h"
 #include "devinfo_pci.h"
 #include "devinfo_storage.h"
 #include "devinfo_usb.h"
@@ -151,6 +152,7 @@
        &devinfo_audio_handler,
        &devinfo_audio_mixer_handler,
        &devinfo_audio_dsp_handler,
+       &devinfo_video_handler,
        &devinfo_default_handler,
        NULL
 };
diff -r de8aab3709c0 -r 6a526ef092b3 sysutils/hal/files/hald-netbsd/devinfo_video.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sysutils/hal/files/hald-netbsd/devinfo_video.c    Thu Nov 27 22:19:10 2008 +0000
@@ -0,0 +1,125 @@
+/* $NetBSD: devinfo_video.c,v 1.1 2008/11/27 22:19:10 jmcneill Exp $ */
+
+/*-
+ * Copyright (c) 2008 Jared D. McNeill <jmcneill%invisible.ca@localhost>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <sys/videoio.h>
+#include <sys/ioctl.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <string.h>
+#include <paths.h>
+#include <unistd.h>
+
+#include "../osspec.h"
+#include "../logger.h"
+#include "../hald.h"
+#include "../hald_dbus.h"
+#include "../device_info.h"
+#include "../util.h"
+#include "../ids.h"
+#include "hotplug.h"
+#include "devinfo.h"
+#include "devinfo_video.h"
+#include "drvctl.h"
+
+HalDevice *devinfo_video_add(HalDevice *parent, const char *devnode, char *devfs_path, char *device_type);
+
+DevinfoDevHandler devinfo_video_handler = {
+       devinfo_video_add,
+       NULL,
+       NULL,
+       NULL,
+       NULL,
+       NULL
+};
+
+HalDevice *
+devinfo_video_add(HalDevice *parent, const char *devnode, char *devfs_path, char *device_type)
+{
+       HalDevice *d = NULL;
+       prop_dictionary_t dict;
+       const char *driver, *parent_udi;
+       char *videodev;
+       int16_t unit;
+       struct v4l2_capability caps;
+       int fd;
+
+       if (drvctl_find_device (devnode, &dict) == FALSE || dict == NULL)
+               return NULL;
+
+       if (prop_dictionary_get_int16 (dict, "device-unit", &unit) == false ||
+           prop_dictionary_get_cstring_nocopy (dict, "device-driver", &driver) == false) {
+               prop_object_release (dict);
+               return NULL;
+       }
+
+       prop_object_release (dict);
+
+       if (strcmp (driver, "video") != 0)
+               return NULL;
+
+       videodev = g_strdup_printf ("/dev/video%d", unit);
+       fd = open (videodev, O_RDONLY);
+       if (fd < 0) {
+               HAL_WARNING (("couldn't open %s: %s", videodev, strerror(errno)));
+               goto done;
+       }
+
+       if (ioctl (fd, VIDIOC_QUERYCAP, &caps) == -1) {
+               HAL_WARNING (("couldn't query %s: %s", videodev, strerror(errno)));
+               close (fd);
+               goto done;
+       }
+
+       close (fd);
+
+       d = hal_device_new ();
+
+       devinfo_set_default_properties (d, parent, devnode, devfs_path);
+       hal_device_add_capability (d, "video4linux");
+       if (caps.capabilities & V4L2_CAP_VIDEO_CAPTURE)
+               hal_device_add_capability (d, "video4linux.video_capture");
+       hal_device_property_set_string (d, "info.category", "video4linux");
+       hal_device_property_set_string (d, "info.subsystem", "video4linux");
+
+       hal_device_property_set_string (d, "video4linux.device", videodev);
+       hal_device_property_set_int (d, "video4linux.version", 2);
+       hal_device_property_set_string (d, "info.product", caps.card);
+
+       devinfo_add_enqueue (d, devfs_path, &devinfo_video_handler);
+
+done:
+       if (videodev)
+               g_free (videodev);
+
+       return d;
+}
diff -r de8aab3709c0 -r 6a526ef092b3 sysutils/hal/files/hald-netbsd/devinfo_video.h
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sysutils/hal/files/hald-netbsd/devinfo_video.h    Thu Nov 27 22:19:10 2008 +0000
@@ -0,0 +1,36 @@
+/* $NetBSD: devinfo_video.h,v 1.1 2008/11/27 22:19:10 jmcneill Exp $ */
+
+/*-
+ * Copyright (c) 2008 Jared D. McNeill <jmcneill%invisible.ca@localhost>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef DEVINFO_VIDEO_H
+#define DEVINFO_VIDEO_H
+
+#include "devinfo.h"
+
+extern DevinfoDevHandler devinfo_video_handler;
+
+#endif /* DEVINFO_VIDEO_H */



Home | Main Index | Thread Index | Old Index