summaryrefslogtreecommitdiff
path: root/multitech/recipes/compat-wireless
diff options
context:
space:
mode:
authorJesse Gilles <jgilles@multitech.com>2012-09-12 09:50:57 -0500
committerJesse Gilles <jgilles@multitech.com>2012-09-18 13:36:55 -0500
commit43ffbfe292405cb6195cddcc430d4f4a41b4dd7c (patch)
treefe6f2bfe56c6b38aabce877fffa7080a89ab84f2 /multitech/recipes/compat-wireless
parent3f29f1035843a02be6eb716a21bd37f630ac0673 (diff)
add compat-wireless with TI patches for wl12xx (R4SP2)
Diffstat (limited to 'multitech/recipes/compat-wireless')
-rw-r--r--multitech/recipes/compat-wireless/compat-wireless-stable.inc22
-rw-r--r--multitech/recipes/compat-wireless/files/wl12xx_sdio.patch51
-rw-r--r--multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx_R4SP2.bb25
3 files changed, 98 insertions, 0 deletions
diff --git a/multitech/recipes/compat-wireless/compat-wireless-stable.inc b/multitech/recipes/compat-wireless/compat-wireless-stable.inc
new file mode 100644
index 0000000..f7e78d3
--- /dev/null
+++ b/multitech/recipes/compat-wireless/compat-wireless-stable.inc
@@ -0,0 +1,22 @@
+DESCRIPTION = "Latest wireless drivers"
+HOMEPAGE = "http://wireless.kernel.org/en/users/Download"
+SECTION = "kernel/modules"
+LICENSE = "GPL"
+RDEPENDS = "wireless-tools"
+PR = "r0"
+
+
+S = "${WORKDIR}/compat-wireless-${COMPAT_WIRELESS_VERSION}"
+
+inherit module
+
+EXTRA_OEMAKE = "KLIB_BUILD=${STAGING_KERNEL_DIR} KLIB=${D}"
+
+do_configure_append() {
+ sed -i "s#@./scripts/update-initramfs## " Makefile
+}
+
+do_install() {
+ oe_runmake DEPMOD=echo DESTDIR="${D}" INSTALL_MOD_PATH="${D}" LDFLAGS="" install-modules
+}
+
diff --git a/multitech/recipes/compat-wireless/files/wl12xx_sdio.patch b/multitech/recipes/compat-wireless/files/wl12xx_sdio.patch
new file mode 100644
index 0000000..9db2a03
--- /dev/null
+++ b/multitech/recipes/compat-wireless/files/wl12xx_sdio.patch
@@ -0,0 +1,51 @@
+--- a/drivers/net/wireless/wl12xx/sdio.c 2011-12-20 06:20:19.000000000 -0600
++++ b/drivers/net/wireless/wl12xx/sdio.c 2012-06-20 12:51:18.000000000 -0500
+@@ -169,6 +169,10 @@
+ struct sdio_func *func = wl_to_func(wl);
+ int ret;
+
++ // MTPCIE:
++ if (wl->set_power)
++ wl->set_power(1);
++
+ /* If enabled, tell runtime PM not to power off the card */
+ if (pm_runtime_enabled(&func->dev)) {
+ ret = pm_runtime_get_sync(&func->dev);
+@@ -193,6 +197,10 @@
+ struct sdio_func *func = wl_to_func(wl);
+ int ret;
+
++ // MTPCIE:
++ if (wl->set_power)
++ wl->set_power(0);
++
+ sdio_disable_func(func);
+ sdio_release_host(func);
+
+@@ -265,14 +273,18 @@
+ wl->irq = wlan_data->irq;
+ if (wl->ref_clock < 0)
+ wl->ref_clock = wlan_data->board_ref_clock;
+- if (wl->tcxo_clock < 0)
+- wl->tcxo_clock = wlan_data->board_tcxo_clock;
+- wl->platform_quirks = wlan_data->platform_quirks;
+-
+- if (wl->platform_quirks & WL12XX_PLATFORM_QUIRK_EDGE_IRQ)
+- irqflags = IRQF_TRIGGER_RISING;
+- else
+- irqflags = IRQF_TRIGGER_HIGH | IRQF_ONESHOT;
++ // MTPCIE:
++ if (wlan_data->set_power)
++ wl->set_power = wlan_data->set_power;
++
++ //if (wl->tcxo_clock < 0)
++ // wl->tcxo_clock = wlan_data->board_tcxo_clock;
++ //wl->platform_quirks = wlan_data->platform_quirks;
++
++ //if (wl->platform_quirks & WL12XX_PLATFORM_QUIRK_EDGE_IRQ)
++ irqflags = IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING;
++ //else
++ // irqflags = IRQF_TRIGGER_HIGH | IRQF_ONESHOT;
+
+ ret = request_threaded_irq(wl->irq, wl1271_hardirq, wl1271_irq,
+ irqflags,
diff --git a/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx_R4SP2.bb b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx_R4SP2.bb
new file mode 100644
index 0000000..50906f4
--- /dev/null
+++ b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx_R4SP2.bb
@@ -0,0 +1,25 @@
+include compat-wireless-stable.inc
+
+SRC_URI = "https://gforge.ti.com/gf/download/frsrelease/768/5331/ti-compat-wireless-wl12xx-r4-12-12-20.tar.gz \
+ http://processors.wiki.ti.com/images/2/23/R4_SP2_Patches.zip;name=r4sp2 \
+ file://${WORKDIR}/0004-added-driver-version.patch \
+ file://${WORKDIR}/0005-wl12xx-don-t-allow-scans-in-AP-mode.patch \
+ file://${WORKDIR}/0006-wl12xx-handle-idle-changes-per-interface.patch \
+ file://${WORKDIR}/0007-wl12xx-prevent-double-idle-on-off-transitions.patch \
+ file://${WORKDIR}/0008-wl12xx-remove-warning-message-during-IBSS-Tx.patch \
+ file://${WORKDIR}/0012-mac80211-set-upasd-queues-and-max-sp-only-on-sta-addition.patch \
+ file://${WORKDIR}/0013-wl12xx-Make-sure-HW-is-available-in-sched-scan-ops.patch \
+ file://wl12xx_sdio.patch \
+ "
+
+S = "${WORKDIR}/compat-wireless"
+
+SRC_URI[md5sum] = "89fa40e0ece490cf73920a71df1c3558"
+SRC_URI[sha256sum] = "752b53b09e9ae168a4a7f32ad009bb2b8b245c152f65ace1edc51a1ef8bba59f"
+SRC_URI[r4sp2.md5sum] = "2524ae356e5fe528da977dfe19f20b32"
+SRC_URI[r4sp2.sha256sum] = "72936b852465ba98a72cdfa66bdb49aff66d1a42080514e000211aac078a4b24"
+
+do_configure() {
+ cd ${S}
+ ./scripts/driver-select wl12xx
+}