summaryrefslogtreecommitdiff
path: root/packages/mISDN
diff options
context:
space:
mode:
Diffstat (limited to 'packages/mISDN')
-rw-r--r--packages/mISDN/.mtn2git_empty0
-rw-r--r--packages/mISDN/files/.mtn2git_empty0
-rw-r--r--packages/mISDN/files/Makefile4
-rw-r--r--packages/mISDN/files/hfcs_usb_endianchecks.diff58
-rw-r--r--packages/mISDN/misdn_cvs.bb35
5 files changed, 97 insertions, 0 deletions
diff --git a/packages/mISDN/.mtn2git_empty b/packages/mISDN/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/mISDN/.mtn2git_empty
diff --git a/packages/mISDN/files/.mtn2git_empty b/packages/mISDN/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/mISDN/files/.mtn2git_empty
diff --git a/packages/mISDN/files/Makefile b/packages/mISDN/files/Makefile
new file mode 100644
index 0000000000..bed60110ea
--- /dev/null
+++ b/packages/mISDN/files/Makefile
@@ -0,0 +1,4 @@
+PWD := $(shell pwd)
+SELECTION := CONFIG_MISDN_DRV=m CONFIG_MISDN_DSP=m CONFIG_MISDN_HFCUSB=m
+default modules:
+ $(MAKE) -C $(KDIR) SUBDIRS=${PWD}/drivers/isdn/hardware/mISDN/ EXTRA_CFLAGS=-I${PWD}/include modules ${SELECTION}
diff --git a/packages/mISDN/files/hfcs_usb_endianchecks.diff b/packages/mISDN/files/hfcs_usb_endianchecks.diff
new file mode 100644
index 0000000000..1f6ff3fcc8
--- /dev/null
+++ b/packages/mISDN/files/hfcs_usb_endianchecks.diff
@@ -0,0 +1,58 @@
+--- mISDN.org/drivers/isdn/hardware/mISDN/hfcs_usb.c 2005-06-23 18:43:36.000000000 +0200
++++ mISDN/drivers/isdn/hardware/mISDN/hfcs_usb.c 2005-08-12 16:16:24.000000000 +0200
+@@ -2038,9 +2038,9 @@
+
+ vend_idx = 0xffff;
+ for (i = 0; hfcsusb_idtab[i].idVendor; i++) {
+- if (dev->descriptor.idVendor == hfcsusb_idtab[i].idVendor
++ if (dev->descriptor.idVendor == le16_to_cpu(hfcsusb_idtab[i].idVendor)
+ && dev->descriptor.idProduct ==
+- hfcsusb_idtab[i].idProduct) {
++ le16_to_cpu(hfcsusb_idtab[i].idProduct)) {
+ vend_idx = i;
+ continue;
+ }
+@@ -2160,8 +2160,8 @@
+ usb_transfer_mode
+ = USB_INT;
+ packet_size =
+- ep->desc.
+- wMaxPacketSize;
++ le16_to_cpu(ep->desc.
++ wMaxPacketSize);
+ break;
+ case USB_ENDPOINT_XFER_BULK:
+ if (ep_addr & 0x80)
+@@ -2189,8 +2189,8 @@
+ usb_transfer_mode
+ = USB_BULK;
+ packet_size =
+- ep->desc.
+- wMaxPacketSize;
++ le16_to_cpu(ep->desc.
++ wMaxPacketSize);
+ break;
+ case USB_ENDPOINT_XFER_ISOC:
+ if (ep_addr & 0x80)
+@@ -2218,8 +2218,8 @@
+ usb_transfer_mode
+ = USB_ISOC;
+ iso_packet_size =
+- ep->desc.
+- wMaxPacketSize;
++ le16_to_cpu(ep->desc.
++ wMaxPacketSize);
+ break;
+ default:
+ card->
+@@ -2234,8 +2234,8 @@
+ card;
+ card->fifos[cidx].
+ usb_packet_maxlen =
+- ep->desc.
+- wMaxPacketSize;
++ le16_to_cpu(ep->desc.
++ wMaxPacketSize);
+ card->fifos[cidx].
+ intervall =
+ ep->desc.bInterval;
diff --git a/packages/mISDN/misdn_cvs.bb b/packages/mISDN/misdn_cvs.bb
new file mode 100644
index 0000000000..865e41b2f9
--- /dev/null
+++ b/packages/mISDN/misdn_cvs.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "mISDN kernel packages"
+PRIORITY = "optional"
+SECTION = "kernel/modules"
+LICENSE = "GPL"
+PR = "r0"
+
+DEFAULT_PREFERENCE = "-1"
+
+# hfcs_usb_endianchecks.diff does not apply cleanly anymore (cf. bug 240)
+# without it the package at least compiles. no guarantees about functionality.
+SRC_URI = "cvs://anonymous:readonly@cvs.isdn4linux.de/i4ldev;module=mISDN;method=pserver \
+# file://hfcs_usb_endianchecks.diff;patch=1 \
+ file://Makefile"
+
+S = "${WORKDIR}/mISDN/"
+
+inherit module
+
+do_compile_prepend() {
+ cp -f ${WORKDIR}/Makefile ${S}/
+ cp ${S}/drivers/isdn/hardware/mISDN/Makefile.v2.6 ${S}/drivers/isdn/hardware/mISDN/Makefile
+}
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake 'KDIR=${STAGING_KERNEL_DIR}' \
+ 'CC=${KERNEL_CC}' \
+ 'LD=${KERNEL_LD}'
+}
+
+do_install() {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/isdn/hardware/mISDN/
+ install -m 0644 ${S}/drivers/isdn/hardware/mISDN/*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/isdn/hardware/mISDN
+}
+