summaryrefslogtreecommitdiff
path: root/meta/packages/libusb
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/libusb')
-rw-r--r--meta/packages/libusb/libusb-0.1.10a/ARMfix.patch20
-rw-r--r--meta/packages/libusb/libusb-0.1.10a/debian-changes.patch407
-rw-r--r--meta/packages/libusb/libusb_0.1.10a.bb33
3 files changed, 0 insertions, 460 deletions
diff --git a/meta/packages/libusb/libusb-0.1.10a/ARMfix.patch b/meta/packages/libusb/libusb-0.1.10a/ARMfix.patch
deleted file mode 100644
index 803bd99ba..000000000
--- a/meta/packages/libusb/libusb-0.1.10a/ARMfix.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- /tmp/usb.c 2005-07-22 01:45:43.606167000 +0200
-+++ libusb-0.1.10a/usb.c 2005-07-22 01:47:22.527128728 +0200
-@@ -156,7 +156,7 @@
- * Some ports fetch the descriptors on scanning (like Linux) so we don't
- * need to fetch them again.
- */
-- if (!dev->config) {
-+/* if (!dev->config) { */
- usb_dev_handle *udev;
-
- udev = usb_open(dev);
-@@ -165,7 +165,7 @@
-
- usb_close(udev);
- }
-- }
-+/* }*/
-
- changes++;
-
diff --git a/meta/packages/libusb/libusb-0.1.10a/debian-changes.patch b/meta/packages/libusb/libusb-0.1.10a/debian-changes.patch
deleted file mode 100644
index 6f79bc795..000000000
--- a/meta/packages/libusb/libusb-0.1.10a/debian-changes.patch
+++ /dev/null
@@ -1,407 +0,0 @@
-diff -urN libusb_0.1.10a.orig/bsd.c libusb-0.1.10a/bsd.c
---- libusb_0.1.10a.orig/bsd.c 2004-02-18 08:34:52.000000000 +0100
-+++ libusb-0.1.10a/bsd.c 2005-06-30 19:40:00.000000000 +0200
-@@ -25,6 +25,10 @@
- * for both read and write.
- */
-
-+#if defined(__FreeBSD__) && !defined(__FreeBSD_kernel__)
-+#define __FreeBSD_kernel__ __FreeBSD__
-+#endif
-+
- #include <stdlib.h>
- #include <unistd.h>
- #include <string.h>
-@@ -142,7 +146,7 @@
- USB_ERROR(-ENOMEM);
- dev->impl_info = info;
-
--#if __FreeBSD__
-+#ifdef __FreeBSD_kernel__
- snprintf(ctlpath, PATH_MAX, "%s", dev->device->filename);
- #else
- snprintf(ctlpath, PATH_MAX, "%s.00", dev->device->filename);
-@@ -255,7 +259,7 @@
- ep = UE_GET_ADDR(ep);
-
- if (info->ep_fd[ep] < 0) {
--#if __FreeBSD__
-+#ifdef __FreeBSD_kernel__
- snprintf(buf, sizeof(buf) - 1, "%s.%d", dev->device->filename, ep);
- #else
- snprintf(buf, sizeof(buf) - 1, "%s.%02d", dev->device->filename, ep);
-@@ -286,7 +290,7 @@
- fd = ensure_ep_open(dev, ep, O_WRONLY);
- if (fd < 0) {
- if (usb_debug >= 2) {
--#if __FreeBSD__
-+#ifdef __FreeBSD_kernel__
- fprintf (stderr, "usb_bulk_write: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep));
- #else
- fprintf (stderr, "usb_bulk_write: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep));
-@@ -302,7 +306,7 @@
-
- ret = write(fd, bytes, size);
- if (ret < 0)
--#if __FreeBSD__
-+#ifdef __FreeBSD_kernel__
- USB_ERROR_STR(-errno, "error writing to bulk endpoint %s.%d: %s",
- dev->device->filename, UE_GET_ADDR(ep), strerror(errno));
- #else
-@@ -324,7 +328,7 @@
- fd = ensure_ep_open(dev, ep, O_RDONLY);
- if (fd < 0) {
- if (usb_debug >= 2) {
--#if __FreeBSD__
-+#ifdef __FreeBSD_kernel__
- fprintf (stderr, "usb_bulk_read: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep));
- #else
- fprintf (stderr, "usb_bulk_read: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep));
-@@ -343,7 +347,7 @@
-
- ret = read(fd, bytes, size);
- if (ret < 0)
--#if __FreeBSD__
-+#ifdef __FreeBSD_kernel__
- USB_ERROR_STR(-errno, "error reading from bulk endpoint %s.%d: %s",
- dev->device->filename, UE_GET_ADDR(ep), strerror(errno));
- #else
-@@ -365,7 +369,7 @@
- fd = ensure_ep_open(dev, ep, O_WRONLY);
- if (fd < 0) {
- if (usb_debug >= 2) {
--#if __FreeBSD__
-+#ifdef __FreeBSD_kernel__
- fprintf (stderr, "usb_interrupt_write: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep));
- #else
- fprintf (stderr, "usb_interrupt_write: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep));
-@@ -382,7 +386,7 @@
- do {
- ret = write(fd, bytes+sent, size-sent);
- if (ret < 0)
--#if __FreeBSD__
-+#ifdef __FreeBSD_kernel__
- USB_ERROR_STR(-errno, "error writing to interrupt endpoint %s.%d: %s",
- dev->device->filename, UE_GET_ADDR(ep), strerror(errno));
- #else
-@@ -407,7 +411,7 @@
- fd = ensure_ep_open(dev, ep, O_RDONLY);
- if (fd < 0) {
- if (usb_debug >= 2) {
--#if __FreeBSD__
-+#ifdef __FreeBSD_kernel__
- fprintf (stderr, "usb_interrupt_read: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep));
- #else
- fprintf (stderr, "usb_interrupt_read: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep));
-@@ -427,7 +431,7 @@
- do {
- ret = read(fd, bytes+retrieved, size-retrieved);
- if (ret < 0)
--#if __FreeBSD__
-+#ifdef __FreeBSD_kernel__
- USB_ERROR_STR(-errno, "error reading from interrupt endpoint %s.%d: %s",
- dev->device->filename, UE_GET_ADDR(ep), strerror(errno));
- #else
-@@ -543,7 +547,7 @@
- /* best not to play with things we don't understand */
- continue;
-
--#if __FreeBSD__
-+#ifdef __FreeBSD_kernel__
- snprintf(buf, sizeof(buf) - 1, "/dev/%s", di.udi_devnames[0]);
- #else
- snprintf(buf, sizeof(buf) - 1, "/dev/%s.00", di.udi_devnames[0]);
-diff -urN libusb_0.1.10a.orig/linux.c libusb-0.1.10a/linux.c
---- libusb_0.1.10a.orig/linux.c 2005-02-11 03:16:10.000000000 +0100
-+++ libusb-0.1.10a/linux.c 2005-06-30 19:40:00.000000000 +0200
-@@ -156,6 +156,8 @@
- return ret;
- }
-
-+#define URB_USERCONTEXT_COOKIE ((void *)0x1)
-+
- /* Reading and writing are the same except for the endpoint */
- static int usb_urb_transfer(usb_dev_handle *dev, int ep, int urbtype,
- char *bytes, int size, int timeout)
-@@ -163,14 +165,16 @@
- struct usb_urb urb;
- unsigned int bytesdone = 0, requested;
- struct timeval tv, tv_ref, tv_now;
-- void *context;
-+ struct usb_urb *context;
- int ret, waiting;
-
- /*
-- * FIXME: The use of the URB interface is incorrect here if there are
-- * multiple callers at the same time. We assume we're the only caller
-- * and if we get completions from another caller, this code will fail
-- * in interesting ways.
-+ * HACK: The use of urb.usercontext is a hack to get threaded applications
-+ * sort of working again. Threaded support is still not recommended, but
-+ * this should allow applications to work in the common cases. Basically,
-+ * if we get the completion for an URB we're not waiting for, then we update
-+ * the usercontext pointer to 1 for the other threads URB and it will see
-+ * the change after it wakes up from the the timeout. Ugly, but it works.
- */
-
- /*
-@@ -198,10 +202,10 @@
- urb.flags = 0;
- urb.buffer = bytes + bytesdone;
- urb.buffer_length = requested;
-- urb.usercontext = (void *)ep;
- urb.signr = 0;
- urb.actual_length = 0;
- urb.number_of_packets = 0; /* don't do isochronous yet */
-+ urb.usercontext = NULL;
-
- ret = ioctl(dev->fd, IOCTL_USB_SUBMITURB, &urb);
- if (ret < 0) {
-@@ -212,18 +216,28 @@
- FD_ZERO(&writefds);
- FD_SET(dev->fd, &writefds);
-
-+restart:
- waiting = 1;
-- while (((ret = ioctl(dev->fd, IOCTL_USB_REAPURBNDELAY, &context)) == -1) && waiting) {
-+ context = NULL;
-+ while (!urb.usercontext && ((ret = ioctl(dev->fd, IOCTL_USB_REAPURBNDELAY, &context)) == -1) && waiting) {
- tv.tv_sec = 0;
- tv.tv_usec = 1000; // 1 msec
- select(dev->fd + 1, NULL, &writefds, NULL, &tv); //sub second wait
-
-- /* compare with actual time, as the select timeout is not that precise */
-- gettimeofday(&tv_now, NULL);
-+ if (timeout) {
-+ /* compare with actual time, as the select timeout is not that precise */
-+ gettimeofday(&tv_now, NULL);
-+
-+ if ((tv_now.tv_sec > tv_ref.tv_sec) ||
-+ ((tv_now.tv_sec == tv_ref.tv_sec) && (tv_now.tv_usec >= tv_ref.tv_usec)))
-+ waiting = 0;
-+ }
-+ }
-
-- if ((tv_now.tv_sec > tv_ref.tv_sec) ||
-- ((tv_now.tv_sec == tv_ref.tv_sec) && (tv_now.tv_usec >= tv_ref.tv_usec)))
-- waiting = 0;
-+ if (context && context != &urb) {
-+ context->usercontext = URB_USERCONTEXT_COOKIE;
-+ /* We need to restart since we got a successful URB, but not ours */
-+ goto restart;
- }
-
- /*
-@@ -231,14 +245,14 @@
- * something happened during the reaping and we should return that
- * error now
- */
-- if (ret < 0 && errno != EAGAIN)
-+ if (ret < 0 && !urb.usercontext && errno != EAGAIN)
- USB_ERROR_STR(-errno, "error reaping URB: %s", strerror(errno));
-
- bytesdone += urb.actual_length;
-- } while (ret == 0 && bytesdone < size && urb.actual_length == requested);
-+ } while ((ret == 0 || urb.usercontext) && bytesdone < size && urb.actual_length == requested);
-
- /* If the URB didn't complete in success or error, then let's unlink it */
-- if (ret < 0) {
-+ if (ret < 0 && !urb.usercontext) {
- int rc;
-
- if (!waiting)
-diff -urN libusb_0.1.10a.orig/usb.h.in libusb-0.1.10a/usb.h.in
---- libusb_0.1.10a.orig/usb.h.in 2004-08-03 20:20:38.000000000 +0200
-+++ libusb-0.1.10a/usb.h.in 2005-06-30 19:40:00.000000000 +0200
-@@ -13,8 +13,9 @@
-
- #include <unistd.h>
- #include <stdlib.h>
-+#include <stdint.h>
- #include <limits.h>
--
-+#include <sys/param.h>
- #include <dirent.h>
-
- /*
-@@ -63,40 +64,40 @@
-
- /* All standard descriptors have these 2 fields in common */
- struct usb_descriptor_header {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
--};
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+} __attribute__ ((packed));
-
- /* String descriptor */
- struct usb_string_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t wData[1];
--};
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t wData[1];
-+} __attribute__ ((packed));
-
- /* HID descriptor */
- struct usb_hid_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t bcdHID;
-- u_int8_t bCountryCode;
-- u_int8_t bNumDescriptors;
-- /* u_int8_t bReportDescriptorType; */
-- /* u_int16_t wDescriptorLength; */
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t bcdHID;
-+ uint8_t bCountryCode;
-+ uint8_t bNumDescriptors;
-+ /* uint8_t bReportDescriptorType; */
-+ /* uint16_t wDescriptorLength; */
- /* ... */
--};
-+} __attribute__ ((packed));
-
- /* Endpoint descriptor */
- #define USB_MAXENDPOINTS 32
- struct usb_endpoint_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int8_t bEndpointAddress;
-- u_int8_t bmAttributes;
-- u_int16_t wMaxPacketSize;
-- u_int8_t bInterval;
-- u_int8_t bRefresh;
-- u_int8_t bSynchAddress;
-+ uint8_t bLength __attribute__ ((packed));
-+ uint8_t bDescriptorType __attribute__ ((packed));
-+ uint8_t bEndpointAddress __attribute__ ((packed));
-+ uint8_t bmAttributes __attribute__ ((packed));
-+ uint16_t wMaxPacketSize __attribute__ ((packed));
-+ uint8_t bInterval __attribute__ ((packed));
-+ uint8_t bRefresh __attribute__ ((packed));
-+ uint8_t bSynchAddress __attribute__ ((packed));
-
- unsigned char *extra; /* Extra descriptors */
- int extralen;
-@@ -114,15 +115,15 @@
- /* Interface descriptor */
- #define USB_MAXINTERFACES 32
- struct usb_interface_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int8_t bInterfaceNumber;
-- u_int8_t bAlternateSetting;
-- u_int8_t bNumEndpoints;
-- u_int8_t bInterfaceClass;
-- u_int8_t bInterfaceSubClass;
-- u_int8_t bInterfaceProtocol;
-- u_int8_t iInterface;
-+ uint8_t bLength __attribute__ ((packed));;
-+ uint8_t bDescriptorType __attribute__ ((packed));;
-+ uint8_t bInterfaceNumber __attribute__ ((packed));;
-+ uint8_t bAlternateSetting __attribute__ ((packed));;
-+ uint8_t bNumEndpoints __attribute__ ((packed));;
-+ uint8_t bInterfaceClass __attribute__ ((packed));;
-+ uint8_t bInterfaceSubClass __attribute__ ((packed));;
-+ uint8_t bInterfaceProtocol __attribute__ ((packed));;
-+ uint8_t iInterface __attribute__ ((packed));;
-
- struct usb_endpoint_descriptor *endpoint;
-
-@@ -140,14 +141,14 @@
- /* Configuration descriptor information.. */
- #define USB_MAXCONFIG 8
- struct usb_config_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t wTotalLength;
-- u_int8_t bNumInterfaces;
-- u_int8_t bConfigurationValue;
-- u_int8_t iConfiguration;
-- u_int8_t bmAttributes;
-- u_int8_t MaxPower;
-+ uint8_t bLength __attribute__ ((packed));
-+ uint8_t bDescriptorType __attribute__ ((packed));
-+ uint16_t wTotalLength __attribute__ ((packed));
-+ uint8_t bNumInterfaces __attribute__ ((packed));
-+ uint8_t bConfigurationValue __attribute__ ((packed));
-+ uint8_t iConfiguration __attribute__ ((packed));
-+ uint8_t bmAttributes __attribute__ ((packed));
-+ uint8_t MaxPower __attribute__ ((packed));
-
- struct usb_interface *interface;
-
-@@ -157,29 +158,29 @@
-
- /* Device descriptor */
- struct usb_device_descriptor {
-- u_int8_t bLength;
-- u_int8_t bDescriptorType;
-- u_int16_t bcdUSB;
-- u_int8_t bDeviceClass;
-- u_int8_t bDeviceSubClass;
-- u_int8_t bDeviceProtocol;
-- u_int8_t bMaxPacketSize0;
-- u_int16_t idVendor;
-- u_int16_t idProduct;
-- u_int16_t bcdDevice;
-- u_int8_t iManufacturer;
-- u_int8_t iProduct;
-- u_int8_t iSerialNumber;
-- u_int8_t bNumConfigurations;
--};
-+ uint8_t bLength;
-+ uint8_t bDescriptorType;
-+ uint16_t bcdUSB;
-+ uint8_t bDeviceClass;
-+ uint8_t bDeviceSubClass;
-+ uint8_t bDeviceProtocol;
-+ uint8_t bMaxPacketSize0;
-+ uint16_t idVendor;
-+ uint16_t idProduct;
-+ uint16_t bcdDevice;
-+ uint8_t iManufacturer;
-+ uint8_t iProduct;
-+ uint8_t iSerialNumber;
-+ uint8_t bNumConfigurations;
-+} __attribute__ ((packed));
-
- struct usb_ctrl_setup {
-- u_int8_t bRequestType;
-- u_int8_t bRequest;
-- u_int16_t wValue;
-- u_int16_t wIndex;
-- u_int16_t wLength;
--};
-+ uint8_t bRequestType;
-+ uint8_t bRequest;
-+ uint16_t wValue;
-+ uint16_t wIndex;
-+ uint16_t wLength;
-+} __attribute__ ((packed));
-
- /*
- * Standard requests
-@@ -249,7 +250,7 @@
-
- void *dev; /* Darwin support */
-
-- u_int8_t devnum;
-+ uint8_t devnum;
-
- unsigned char num_children;
- struct usb_device **children;
-@@ -261,7 +262,7 @@
- char dirname[PATH_MAX + 1];
-
- struct usb_device *devices;
-- u_int32_t location;
-+ uint32_t location;
-
- struct usb_device *root_dev;
- };
diff --git a/meta/packages/libusb/libusb_0.1.10a.bb b/meta/packages/libusb/libusb_0.1.10a.bb
deleted file mode 100644
index 3054d9230..000000000
--- a/meta/packages/libusb/libusb_0.1.10a.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "libusb is a library to provide userspace \
-access to USB devices."
-SECTION = "libs"
-LICENSE = "LGPL"
-PR = "r5"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.gz \
- file://debian-changes.patch;patch=1"
-
-inherit autotools pkgconfig
-
-PARALLEL_MAKE = ""
-
-EXTRA_OECONF = "--disable-build-docs"
-
-do_stage() {
- oe_libinstall -a -so libusb ${STAGING_LIBDIR}
-
- install -d ${STAGING_BINDIR}
- install -m 755 ${S}/libusb-config ${STAGING_BINDIR}
- perl -pi -e 's:\-L${libdir} :-L${STAGING_LIBDIR} :' ${STAGING_BINDIR}/libusb-config
-
- if [ "${STAGING_BINDIR}" != "${STAGING_BINDIR_CROSS}" ]; then
- install -d ${STAGING_BINDIR_CROSS}/
- mv ${STAGING_BINDIR}/libusb-config ${STAGING_BINDIR_CROSS}/libusb-config
- fi
-
- install -d ${STAGING_INCDIR}/
- for X in usb.h
- do
- install -m 0644 ${S}/$X ${STAGING_INCDIR}/$X
- done
-}