diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2009-05-30 07:22:25 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2009-05-30 07:22:25 +0000 |
commit | 372eb252aee49b329beaeace16777fac1e1aff87 (patch) | |
tree | 685860e7dfc4e855afed053d3ae510db21bc67de | |
parent | edb4caa644bab7109e24f811899e96f5dbc2298b (diff) | |
download | ports-372eb252aee49b329beaeace16777fac1e1aff87.tar.gz ports-372eb252aee49b329beaeace16777fac1e1aff87.zip |
Notes
-rw-r--r-- | sysutils/hal/files/patch-hald_freebsd_hf-devd.c | 18 | ||||
-rw-r--r-- | sysutils/hal/files/patch-hald_freebsd_hf-usb.c | 140 | ||||
-rw-r--r-- | sysutils/hal/files/patch-hald_freebsd_osspec.c | 16 | ||||
-rw-r--r-- | sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-device.c | 10 |
4 files changed, 145 insertions, 39 deletions
diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-devd.c b/sysutils/hal/files/patch-hald_freebsd_hf-devd.c index 263343c80477..29ed38a7e443 100644 --- a/sysutils/hal/files/patch-hald_freebsd_hf-devd.c +++ b/sysutils/hal/files/patch-hald_freebsd_hf-devd.c @@ -1,6 +1,14 @@ --- hald/freebsd/hf-devd.c.orig 2008-05-07 19:23:59.000000000 -0400 -+++ hald/freebsd/hf-devd.c 2009-02-23 01:44:32.000000000 -0500 -@@ -40,7 +40,11 @@ ++++ hald/freebsd/hf-devd.c 2009-05-30 03:15:33.000000000 -0400 +@@ -28,6 +28,7 @@ + #include <string.h> + #include <errno.h> + #include <unistd.h> ++#include <sys/param.h> + #include <sys/types.h> + #include <sys/socket.h> + #include <sys/un.h> +@@ -40,7 +41,11 @@ #include "hf-acpi.h" #include "hf-net.h" #include "hf-pcmcia.h" @@ -12,14 +20,16 @@ #include "hf-util.h" #define HF_DEVD_SOCK_PATH "/var/run/devd.pipe" -@@ -51,10 +55,14 @@ +@@ -51,10 +56,16 @@ #define HF_DEVD_EVENT_NOMATCH '?' static HFDevdHandler *handlers[] = { +#ifdef HAVE_LIBUSB20 + &hf_usb2_devd_handler, +#endif ++#if __FreeBSD_version < 800092 &hf_usb_devd_handler, ++#endif &hf_net_devd_handler, &hf_acpi_devd_handler, - &hf_pcmcia_devd_handler @@ -28,7 +38,7 @@ }; static gboolean hf_devd_inited = FALSE; -@@ -381,13 +389,13 @@ hf_devd_event_cb (GIOChannel *source, GI +@@ -381,13 +392,13 @@ hf_devd_event_cb (GIOChannel *source, GI status = g_io_channel_read_line(source, &event, NULL, &terminator, NULL); diff --git a/sysutils/hal/files/patch-hald_freebsd_hf-usb.c b/sysutils/hal/files/patch-hald_freebsd_hf-usb.c index 07424b61ea45..a3289fbabfeb 100644 --- a/sysutils/hal/files/patch-hald_freebsd_hf-usb.c +++ b/sysutils/hal/files/patch-hald_freebsd_hf-usb.c @@ -1,6 +1,6 @@ ---- hald/freebsd/hf-usb.c.orig 2008-05-08 01:24:02.000000000 +0200 -+++ hald/freebsd/hf-usb.c 2009-03-02 04:23:32.000000000 +0100 -@@ -25,13 +25,18 @@ +--- hald/freebsd/hf-usb.c.orig 2008-05-07 19:24:02.000000000 -0400 ++++ hald/freebsd/hf-usb.c 2009-05-30 03:20:24.000000000 -0400 +@@ -25,13 +25,20 @@ # include <config.h> #endif @@ -11,17 +11,21 @@ #include <fcntl.h> #include <sys/ioctl.h> #include <unistd.h> ++#if __FreeBSD_version < 800092 +#if __FreeBSD_version >= 800064 +#include <legacy/dev/usb/usb.h> +#else #include <dev/usb/usb.h> +#endif ++#endif #include "../logger.h" #include "../osspec.h" -@@ -41,6 +46,11 @@ +@@ -40,7 +47,13 @@ + #include "hf-devtree.h" #include "hf-util.h" ++#if __FreeBSD_version < 800092 #define HF_USB_DEVICE "/dev/usb" +#if __FreeBSD_version < 800066 +#define HF_USB2_DEVICE "/dev/usb " @@ -31,32 +35,59 @@ typedef struct { -@@ -231,7 +241,7 @@ - * Adapted from usb_compute_udi() in linux2/physdev.c and - * usbclass_compute_udi() in linux2/classdev.c. - */ --static void -+void - hf_usb_device_compute_udi (HalDevice *device) - { - g_return_if_fail(HAL_IS_DEVICE(device)); -@@ -250,12 +260,13 @@ - hf_device_set_udi(device, "usb_device_%x_%x_%s", - hal_device_property_get_int(device, "usb_device.vendor_id"), - hal_device_property_get_int(device, "usb_device.product_id"), -- hal_device_has_property(device, "usb_device.serial") -+ (hal_device_has_property(device, "usb_device.serial") && -+ strcmp(hal_device_property_get_string(device, "usb_device.serial"), "")) - ? hal_device_property_get_string(device, "usb_device.serial") - : "noserial"); +@@ -227,51 +240,6 @@ hf_usb_get_full_config_descriptor (int f + return NULL; } +-/* +- * Adapted from usb_compute_udi() in linux2/physdev.c and +- * usbclass_compute_udi() in linux2/classdev.c. +- */ -static void -+void - hf_usb_add_webcam_properties (HalDevice *device) - { - int unit; -@@ -424,7 +435,7 @@ +-hf_usb_device_compute_udi (HalDevice *device) +-{ +- g_return_if_fail(HAL_IS_DEVICE(device)); +- +- if (hal_device_has_capability(device, "hiddev")) +- hf_device_set_full_udi(device, "%s_hiddev", +- hal_device_property_get_string(device, "info.parent")); +- else if (hal_device_has_capability(device, "video4linux")) +- hf_device_set_full_udi(device, "%s_video4linux", +- hal_device_property_get_string(device, "info.parent")); +- else if (hal_device_has_property(device, "usb.interface.number")) +- hf_device_set_full_udi(device, "%s_if%i", +- hal_device_property_get_string(device, "info.parent"), +- hal_device_property_get_int(device, "usb.interface.number")); +- else +- hf_device_set_udi(device, "usb_device_%x_%x_%s", +- hal_device_property_get_int(device, "usb_device.vendor_id"), +- hal_device_property_get_int(device, "usb_device.product_id"), +- hal_device_has_property(device, "usb_device.serial") +- ? hal_device_property_get_string(device, "usb_device.serial") +- : "noserial"); +-} +- +-static void +-hf_usb_add_webcam_properties (HalDevice *device) +-{ +- int unit; +- +- g_return_if_fail(HAL_IS_DEVICE(device)); +- +- unit = hal_device_property_get_int(device, "freebsd.unit"); +- if (unit < 0) +- unit = 0; +- +- hal_device_property_set_string(device, "info.category", "video4linux"); +- hal_device_add_capability(device, "video4linux"); +- hf_device_property_set_string_printf(device, "video4linux.device", "/dev/video%i", unit); +- hal_device_property_set_string(device, "info.product", "Video Device"); +-} +- + /* adapted from usbif_set_name() in linux2/physdev.c */ + static const char * + hf_usb_get_interface_name (const usb_interface_descriptor_t *desc) +@@ -424,7 +392,7 @@ hf_usb_device_new (HalDevice *parent, hf_devtree_device_set_name(device, di->udi_devnames[0]); if ((devname = hf_usb_get_devname(di, "ukbd"))) /* USB keyboard */ @@ -65,7 +96,7 @@ else if ((devname = hf_usb_get_devname(di, "ums"))) /* USB mouse */ hf_device_set_input(device, "mouse", devname); else if ((devname = hf_usb_get_devname(di, "uhid"))) /* UHID device */ -@@ -575,6 +586,8 @@ +@@ -575,6 +543,8 @@ hf_usb_probe_device (HalDevice *parent, { if (hal_device_has_capability(device, "hiddev")) hf_runner_run_sync(device, 0, "hald-probe-hiddev", NULL); @@ -74,7 +105,7 @@ hf_device_add(device); } -@@ -633,9 +646,18 @@ +@@ -633,9 +603,18 @@ hf_usb_privileged_init (void) { int i; @@ -94,3 +125,54 @@ for (i = 0; i < 16; i++) { +@@ -885,3 +864,50 @@ HFDevdHandler hf_usb_devd_handler = { + .add = hf_usb_devd_add, + .remove = hf_usb_devd_remove + }; ++#endif ++ ++/* ++ * Adapted from usb_compute_udi() in linux2/physdev.c and ++ * usbclass_compute_udi() in linux2/classdev.c. ++ */ ++void ++hf_usb_device_compute_udi (HalDevice *device) ++{ ++ g_return_if_fail(HAL_IS_DEVICE(device)); ++ ++ if (hal_device_has_capability(device, "hiddev")) ++ hf_device_set_full_udi(device, "%s_hiddev", ++ hal_device_property_get_string(device, "info.parent")); ++ else if (hal_device_has_capability(device, "video4linux")) ++ hf_device_set_full_udi(device, "%s_video4linux", ++ hal_device_property_get_string(device, "info.parent")); ++ else if (hal_device_has_property(device, "usb.interface.number")) ++ hf_device_set_full_udi(device, "%s_if%i", ++ hal_device_property_get_string(device, "info.parent"), ++ hal_device_property_get_int(device, "usb.interface.number")); ++ else ++ hf_device_set_udi(device, "usb_device_%x_%x_%s", ++ hal_device_property_get_int(device, "usb_device.vendor_id"), ++ hal_device_property_get_int(device, "usb_device.product_id"), ++ (hal_device_has_property(device, "usb_device.serial") && ++ strcmp(hal_device_property_get_string(device, "usb_device.serial"), "")) ++ ? hal_device_property_get_string(device, "usb_device.serial") ++ : "noserial"); ++} ++ ++void ++hf_usb_add_webcam_properties (HalDevice *device) ++{ ++ int unit; ++ ++ g_return_if_fail(HAL_IS_DEVICE(device)); ++ ++ unit = hal_device_property_get_int(device, "freebsd.unit"); ++ if (unit < 0) ++ unit = 0; ++ ++ hal_device_property_set_string(device, "info.category", "video4linux"); ++ hal_device_add_capability(device, "video4linux"); ++ hf_device_property_set_string_printf(device, "video4linux.device", "/dev/video%i", unit); ++ hal_device_property_set_string(device, "info.product", "Video Device"); ++} diff --git a/sysutils/hal/files/patch-hald_freebsd_osspec.c b/sysutils/hal/files/patch-hald_freebsd_osspec.c index 01c07099cc55..ade6d2a730ad 100644 --- a/sysutils/hal/files/patch-hald_freebsd_osspec.c +++ b/sysutils/hal/files/patch-hald_freebsd_osspec.c @@ -1,6 +1,14 @@ --- hald/freebsd/osspec.c.orig 2008-05-07 19:24:01.000000000 -0400 -+++ hald/freebsd/osspec.c 2009-02-18 00:24:42.000000000 -0500 -@@ -46,6 +46,9 @@ ++++ hald/freebsd/osspec.c 2009-05-30 03:14:33.000000000 -0400 +@@ -25,6 +25,7 @@ + # include <config.h> + #endif + ++#include <sys/param.h> + #include <string.h> + + #include "../ids.h" +@@ -46,13 +47,21 @@ #include "hf-sound.h" #include "hf-storage.h" #include "hf-usb.h" @@ -10,10 +18,12 @@ #include "hf-volume.h" /* the order matters: PCI devices must be created before their children, etc */ -@@ -53,6 +56,9 @@ static HFHandler *handlers[] = { + static HFHandler *handlers[] = { &hf_pci_handler, &hf_devtree_handler, ++#if __FreeBSD_version < 800092 &hf_usb_handler, ++#endif +#ifdef HAVE_LIBUSB20 + &hf_usb2_handler, +#endif diff --git a/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-device.c b/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-device.c index f36ad02ae094..5cae11b6b9b8 100644 --- a/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-device.c +++ b/sysutils/hal/files/patch-hald_freebsd_probing_probe-usb2-device.c @@ -1,6 +1,6 @@ ---- hald/freebsd/probing/probe-usb2-device.c.orig 2009-05-23 15:56:54.000000000 -0400 -+++ hald/freebsd/probing/probe-usb2-device.c 2009-05-23 17:14:06.000000000 -0400 -@@ -0,0 +1,204 @@ +--- hald/freebsd/probing/probe-usb2-device.c.orig 2009-05-30 03:09:03.000000000 -0400 ++++ hald/freebsd/probing/probe-usb2-device.c 2009-05-30 03:10:48.000000000 -0400 +@@ -0,0 +1,208 @@ +/*************************************************************************** + * CVSID: $Id$ + * @@ -76,7 +76,11 @@ + { + struct LIBUSB20_DEVICE_DESC_DECODED *ddesc; + struct LIBUSB20_CONFIG_DESC_DECODED *cdesc; ++#if __FreeBSD_version >= 800092 ++ struct usb_device_info di; ++#else + struct usb2_device_info di; ++#endif + struct libusb20_config *pcfg = NULL; + int curr_config; + int bcdspeed = 0; |