summaryrefslogtreecommitdiff
path: root/packages/atmelwlandriver
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2005-12-05 22:26:23 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-12-05 22:26:23 +0000
commit112be8a44dd2012425679dbec81f950c06069859 (patch)
treef4b888eff68f8ad0afd9c3b350f94dbeb20ab6bf /packages/atmelwlandriver
parent4f7d64faae37bb9da46b244cd1872e4d52351107 (diff)
atmelwlandriver 3.4.1.0: add patches to support iPAQ h5xxx, courtesy Erik Hovland
Diffstat (limited to 'packages/atmelwlandriver')
-rw-r--r--packages/atmelwlandriver/atmelwlandriver-3.4.1.0/dotconfig4
-rw-r--r--packages/atmelwlandriver/atmelwlandriver-3.4.1.0/makefile.patch38
-rw-r--r--packages/atmelwlandriver/atmelwlandriver-3.4.1.0/power-on-and-leds.patch143
-rw-r--r--packages/atmelwlandriver/atmelwlandriver_3.4.1.0.bb22
4 files changed, 197 insertions, 10 deletions
diff --git a/packages/atmelwlandriver/atmelwlandriver-3.4.1.0/dotconfig b/packages/atmelwlandriver/atmelwlandriver-3.4.1.0/dotconfig
index c08a063593..79e699962a 100644
--- a/packages/atmelwlandriver/atmelwlandriver-3.4.1.0/dotconfig
+++ b/packages/atmelwlandriver/atmelwlandriver-3.4.1.0/dotconfig
@@ -12,8 +12,8 @@ CONFIG_PCMCIA_504A_2958=y
CONFIG_PCI_506=n
#USB Drivers
-CONFIG_USB=n
-CONFIG_USB_503A_RFMD=n
+CONFIG_USB=y
+CONFIG_USB_503A_RFMD=y
CONFIG_USB_505=n
CONFIG_USB_505A=n
CONFIG_USB_505_2958=n
diff --git a/packages/atmelwlandriver/atmelwlandriver-3.4.1.0/makefile.patch b/packages/atmelwlandriver/atmelwlandriver-3.4.1.0/makefile.patch
index 8c72408a99..c90c778703 100644
--- a/packages/atmelwlandriver/atmelwlandriver-3.4.1.0/makefile.patch
+++ b/packages/atmelwlandriver/atmelwlandriver-3.4.1.0/makefile.patch
@@ -1,5 +1,6 @@
---- atmelwlandriver/src/Pcmcia_Pci/Makefile.old 2005-02-06 14:29:48.000000000 +0000
-+++ atmelwlandriver/src/Pcmcia_Pci/Makefile 2005-02-06 14:30:01.000000000 +0000
+diff -Nurd atmelwlandriver-3.4.1.0/src/Pcmcia_Pci/Makefile atmelwlandriver-3.4.1.0-hh/src/Pcmcia_Pci/Makefile
+--- atmelwlandriver-3.4.1.0/src/Pcmcia_Pci/Makefile 2004-11-10 01:40:50.000000000 -0800
++++ atmelwlandriver-3.4.1.0-hh/src/Pcmcia_Pci/Makefile 2005-11-30 11:48:20.830290096 -0800
@@ -65,7 +65,7 @@
@for i in $(PCMCIA-y); do make $$i || exit 1; done
@@ -9,3 +10,36 @@
nm $(OBJDIR)/$(MODULE).o |sort -u >$(OBJDIR)/$(patsubst %.o,%.map,$(MODULE).o);
rfmdD:
+@@ -206,9 +206,9 @@
+
+ fastvnet_cs.o:fastvnet_cs.c $(INC)/pcmcia/vnet.h
+ ifeq '$(NEW_KERN)' 'y'
+- $(CC) $(CFLAGS) $(NEWKERNFLAGS) $(KMODNAMEFLAG)$(MODULE) -DMODULE -c fastvnet_cs.c -o fastvnet_cs.o
++ $(CC) $(CFLAGS) $(NEWKERNFLAGS) $(KMODNAMEFLAG)$(MODULE) -DMODULE -c fastvnet_cs.c
+ else
+- $(CC) $(CFLAGS) -DMODULE -c fastvnet_cs.c -o fastvnet_cs.o
++ $(CC) $(CFLAGS) -DMODULE -c fastvnet_cs.c
+ endif
+
+ clean:
+diff -Nurd atmelwlandriver-3.4.1.0/src/usb/Makefile atmelwlandriver-3.4.1.0-hh/src/usb/Makefile
+--- atmelwlandriver-3.4.1.0/src/usb/Makefile 2004-11-10 01:40:50.000000000 -0800
++++ atmelwlandriver-3.4.1.0-hh/src/usb/Makefile 2005-11-30 11:48:45.517730782 -0800
+@@ -40,7 +40,7 @@
+ for i in $(USB-y); do make $$i || exit 1; done
+
+ final:$(objs) vnetusba.o
+- ld -r -o $(OBJDIR)/$(MODULE).o vnetusba.o $(objs)
++ ${LD} -r -o $(OBJDIR)/$(MODULE).o vnetusba.o $(objs)
+ @nm $(OBJDIR)/$(MODULE).o |sort >../$(patsubst %.o,%.map, $(MODULE).o);
+
+
+@@ -143,7 +143,7 @@
+ callbacks.o : $(INC)/usb/$(fws)
+ vnetusba.o : vnetusba.c $(INC)/usb/vnetusba.h
+ ifeq '$(NEW_KERN)' 'y'
+- $(CC) $(CFLAGS) $(NEWKERNFLAGS) $(KMODNAMEFLAG)$(MODULE) -DMODULE -c vnetusba.c -o vnetusba.o
++ $(CC) $(CFLAGS) $(NEWKERNFLAGS) $(KMODNAMEFLAG)$(MODULE) -DMODULE -c vnetusba.c
+ else
+ $(CC) $(CFLAGS) -DMODULE -c vnetusba.c
+
diff --git a/packages/atmelwlandriver/atmelwlandriver-3.4.1.0/power-on-and-leds.patch b/packages/atmelwlandriver/atmelwlandriver-3.4.1.0/power-on-and-leds.patch
new file mode 100644
index 0000000000..b2a515eec1
--- /dev/null
+++ b/packages/atmelwlandriver/atmelwlandriver-3.4.1.0/power-on-and-leds.patch
@@ -0,0 +1,143 @@
+diff -Nurd atmelwlandriver-3.4.1.0/src/usb/vnetusba.c atmelwlandriver-3.4.1.0-hh/src/usb/vnetusba.c
+--- atmelwlandriver-3.4.1.0/src/usb/vnetusba.c 2005-12-02 10:25:21.946561154 -0800
++++ atmelwlandriver-3.4.1.0-hh/src/usb/vnetusba.c 2005-12-02 10:22:42.877486580 -0800
+@@ -31,6 +31,12 @@
+ #include "vnetioctl.h"
+ #include "config.h"
+
++#ifdef CONFIG_IPAQ_HANDHELD
++#include <asm/mach-types.h>
++#include <asm/arch/ipaq.h>
++#include <asm/arch-pxa/h5400-asic.h>
++#endif
++
+ struct usb_device_id __devinitdata vnet_usb_id[] =
+ #if defined(RFMD)
+ RFMD_DEVICES
+@@ -151,6 +157,16 @@
+ dbgcond(DBG_STATE, "state change %d -> %d\n",
+ Adapter->StationState, State);
+ Adapter->StationState = State;
++
++#ifdef CONFIG_ARCH_H5400
++ if (machine_is_h5400()) {
++ if (State == STATION_STATE_READY) {
++ ipaq_led_off (RED_LED);
++ } else {
++ ipaq_led_blink (RED_LED, 1, 2);
++ }
++ }
++#endif
+ }
+
+ static int usb_vnet_open(struct net_device *dev)
+@@ -221,6 +237,13 @@
+ #endif
+ #endif // Linux v. < 2.5+
+
++#ifdef CONFIG_ARCH_H5400
++ if (machine_is_h5400()) {
++ ipaq_led_off (RED_LED);
++ ipaq_led_off (RED_LED_2);
++ }
++#endif
++
+ printk("Device %s closed\n", dev->name);
+ return 0;
+ }
+@@ -1926,6 +1949,32 @@
+ return 0;
+ }
+
++#ifdef CONFIG_IPAQ_HANDHELD
++static struct timer_list led_timer;
++
++static void
++ipaq_clear_led (unsigned long time)
++{
++ ipaq_led_off (RED_LED_2);
++}
++
++static void
++ipaq_blink_led (void)
++{
++ ipaq_led_on (RED_LED_2);
++
++ mod_timer (&led_timer, jiffies + (HZ / 25));
++}
++
++static void
++ipaq_init_led (void)
++{
++ led_timer.function = ipaq_clear_led;
++
++ init_timer (&led_timer);
++}
++#endif /* CONFIG_IPAQ_HANDHELD */
++
+ static int usb_vnet_tx(struct sk_buff *skb, struct net_device *dev)
+ {
+ PVNet_ADAPTER Adapter = (PVNet_ADAPTER) dev->priv;
+@@ -1954,6 +2003,11 @@
+ if (Adapter->StationState != STATION_STATE_READY)
+ return -EAGAIN;
+
++#ifdef CONFIG_ARCH_H5400
++ if (machine_is_h5400())
++ ipaq_blink_led();
++#endif
++
+ len = (ETH_ZLEN < skb->len) ? skb->len : ETH_ZLEN;
+
+ Adapter->lock = SPIN_LOCK_UNLOCKED;
+@@ -2080,6 +2134,10 @@
+ kfree(Adapter);
+ return RETERR;
+ }
++#ifdef CONFIG_ARCH_H5400
++ if (machine_is_h5400 ())
++ ipaq_init_led ();
++#endif
+ #if (LINUX_VERSION_CODE > 0x020500)
+ usb_set_intfdata(interface, Adapter);
+
+@@ -2244,6 +2302,11 @@
+ Adapter->flags &= ~VNET_RUNNING;
+ Adapter->StationState = STATION_STATE_EXITING;
+
++#ifdef CONFIG_ARCH_H5400
++ if (machine_is_h5400())
++ del_timer(&led_timer);
++#endif
++
+ if (waitqueue_active(Adapter->ctrl_wait)) {
+ Adapter->flags |= WAKE_UP_WITH_ERROR;
+ wake_up_interruptible(Adapter->ctrl_wait);
+@@ -2316,6 +2379,13 @@
+
+ static int __init usb_vnet_init(void)
+ {
++#ifdef CONFIG_ARCH_H5400
++ if (machine_is_h5400()) {
++ /* turn WLAN power on */
++ SET_H5400_ASIC_GPIO (GPB, RF_POWER_ON, 1);
++ SET_H5400_ASIC_GPIO (GPB, WLAN_POWER_ON, 1);
++ }
++#endif
+ return usb_register(&vnet_driver);
+ }
+
+@@ -2326,6 +2396,13 @@
+ #endif
+ //printk("AtmelWlanDriver Is deregistered!\n");
+ usb_deregister(&vnet_driver);
++#ifdef CONFIG_ARCH_H5400
++ if (machine_is_h5400()) {
++ /* turn WLAN power off */
++ SET_H5400_ASIC_GPIO (GPB, RF_POWER_ON, 0);
++ SET_H5400_ASIC_GPIO (GPB, WLAN_POWER_ON, 0);
++ }
++#endif
+ }
+
+ /**************************************************************/
diff --git a/packages/atmelwlandriver/atmelwlandriver_3.4.1.0.bb b/packages/atmelwlandriver/atmelwlandriver_3.4.1.0.bb
index ad07c26b53..7da172aafd 100644
--- a/packages/atmelwlandriver/atmelwlandriver_3.4.1.0.bb
+++ b/packages/atmelwlandriver/atmelwlandriver_3.4.1.0.bb
@@ -1,18 +1,28 @@
SRC_URI = "${SOURCEFORGE_MIRROR}/atmelwlandriver/atmelwlandriver-${PV}.tar.bz2 \
file://dotconfig \
file://pcmf502rd.conf \
- file://makefile.patch;patch=1"
+ file://makefile.patch;patch=1 \
+ file://add-compaq-usb-ids.patch;patch=1 \
+ file://power-on-and-leds.patch;patch=1 \
+ file://fix-kernel-version-test-for-hh.patch;patch=1"
S = "${WORKDIR}/atmelwlandriver"
LICENSE = "GPL"
+PR = "r1"
inherit module
SECTION = "base"
+PACKAGES = "atmelwlandriver-pcmcia atmelwlandriver-usb"
+
+FILES_atmelwlandriver-pcmcia = "${base_libdir}/modules/${KERNEL_VERSION}/drivers/net/wireless/atmel/pcmf502rd.o ${sysconfdir}/pcmcia/pcmf502rd.conf"
+FILES_atmelwlandriver-usb = "${base_libdir}/modules/${KERNEL_VERSION}/drivers/net/wireless/atmel/usbvnetr.o"
+
do_configure() {
install ${WORKDIR}/dotconfig .config
}
-CFLAGS = "-DLINUX_OS -D__KERNEL__ -DMODULE -I${S}/src/includes -I${S}/src/includes/pcmcia -I${STAGING_KERNEL_DIR}/include"
+CFLAGS_pcmcia = "-DLINUX_OS -D__KERNEL__ -DMODULE -I${S}/src/includes -I${S}/src/includes/pcmcia -I${STAGING_KERNEL_DIR}/include"
+CFLAGS_usb = "-DLINUX_OS -D__KERNEL__ -DMODULE -I${S}/src/includes -I${S}/src/includes/usb -I${STAGING_KERNEL_DIR}/include"
do_compile() {
export INC="${S}/src/includes"
@@ -20,14 +30,14 @@ do_compile() {
export KERNEL_PATH="${STAGING_KERNEL_DIR}"
export KERNEL_SRC="${STAGING_KERNEL_DIR}"
export CC="${KERNEL_CC}"
+ export CCC="${KERNEL_CC}"
export LD="${KERNEL_LD}"
export KERNEL_VERSION="${KERNEL_VERSION}"
export TOPDIR="${S}"
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ unset CFLAGS CCFLAGS CPPFLAGS CXXFLAGS LDFLAGS
install -d ${OBJDIR}
- #oe_runmake -C src/Pcmcia_Pci final CFLAGS:='${CFLAGS} -DATMEL_WLAN -DRFMD -DINT_ROAM' MODULE:='pcmf502r' LIB:=-RFMD-
- oe_runmake -C src/Pcmcia_Pci final CFLAGS:='${CFLAGS} -DATMEL_WLAN -DRFMD -DINT_ROAM -DREV_D' MODULE:='pcmf502rd' LIB:=-REVD-
- #oe_runmake -C src/Pcmcia_Pci final CFLAGS:='${CFLAGS} -DATMEL_WLAN -DRFMD -DINT_ROAM -DREV_E' MODULE:='pcmf502re' LIB:=-REVE-
+ oe_runmake -C src/Pcmcia_Pci final CFLAGS:='${CFLAGS_pcmcia} -DATMEL_WLAN -DRFMD -DINT_ROAM -DREV_D' MODULE:='pcmf502rd' LIB:=-REVD-
+ oe_runmake -C src/usb final CFLAGS:='${CFLAGS_usb} -DATMEL_WLAN -DRFMD' MODULE:='usbvnetr'
}
do_install() {