mISDN: initial "early and often"-release. Partly closes bug 240.
authorRolf Leggewie <oe-devel@rolf.leggewie.biz>
Fri, 25 May 2007 23:35:21 +0000 (23:35 +0000)
committerRolf Leggewie <oe-devel@rolf.leggewie.biz>
Fri, 25 May 2007 23:35:21 +0000 (23:35 +0000)
* compilation runs through
* no functionality tests on-device, yet
* hfcs_usb_endianchecks.diff committed, but does not apply cleanly
  Disabled in bb

packages/mISDN/.mtn2git_empty [new file with mode: 0644]
packages/mISDN/files/.mtn2git_empty [new file with mode: 0644]
packages/mISDN/files/Makefile [new file with mode: 0644]
packages/mISDN/files/hfcs_usb_endianchecks.diff [new file with mode: 0644]
packages/mISDN/misdn_cvs.bb [new file with mode: 0644]

diff --git a/packages/mISDN/.mtn2git_empty b/packages/mISDN/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/mISDN/files/.mtn2git_empty b/packages/mISDN/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/mISDN/files/Makefile b/packages/mISDN/files/Makefile
new file mode 100644 (file)
index 0000000..bed6011
--- /dev/null
@@ -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 (file)
index 0000000..1f6ff3f
--- /dev/null
@@ -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 (file)
index 0000000..865e41b
--- /dev/null
@@ -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
+}
+