From 09a052d1d45f4ad6d3845cfd4befe2a62713340d Mon Sep 17 00:00:00 2001 From: Jesse Gilles Date: Fri, 4 Apr 2014 10:02:26 -0500 Subject: ti-compat-wireless-wl12xx: add R5.SP4.01 release --- ...01-compat-wireless-add-pm_runtime_enabled.patch | 36 ++++++ .../0001-git-version-use-compat-base-tree.patch | 29 +++++ ...wl12xx-Decrease-number-of-RX-transactions.patch | 34 +++++ ...tional-two-members-for-wl12xx_platform_da.patch | 30 +++++ ...wl12xx-Decrease-number-of-TX-transactions.patch | 139 +++++++++++++++++++++ .../wl12xx-irq-rising-falling-r5.sp7.01.patch | 20 +++ .../wl12xx-set-power-r5.sp7.01.patch | 53 ++++++++ .../ti-compat-wireless-wl12xx_r5.sp4.01.bb | 75 +++++++++++ 8 files changed, 416 insertions(+) create mode 100644 multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-compat-wireless-add-pm_runtime_enabled.patch create mode 100755 multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-git-version-use-compat-base-tree.patch create mode 100755 multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-wl12xx-Decrease-number-of-RX-transactions.patch create mode 100644 multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-wl12xx-additional-two-members-for-wl12xx_platform_da.patch create mode 100755 multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0002-wl12xx-Decrease-number-of-TX-transactions.patch create mode 100644 multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/mt100eocg-pcie-dk/wl12xx-irq-rising-falling-r5.sp7.01.patch create mode 100644 multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/wl12xx-set-power-r5.sp7.01.patch create mode 100644 multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx_r5.sp4.01.bb diff --git a/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-compat-wireless-add-pm_runtime_enabled.patch b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-compat-wireless-add-pm_runtime_enabled.patch new file mode 100644 index 0000000..ba73dd8 --- /dev/null +++ b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-compat-wireless-add-pm_runtime_enabled.patch @@ -0,0 +1,36 @@ +From 0f11fd034274c795d9c506faa83a9fa947ba358a Mon Sep 17 00:00:00 2001 +From: Moosa +Date: Thu, 3 May 2012 17:37:17 +0300 +Subject: [PATCH] compat-wireless: add pm_runtime_enabled + +* Add pm_runtime definition to header file + +Upstream-Status: Pending + +Signed-off-by: Moosa Baransi +--- + include/linux/compat-2.6.38.h | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) + +diff --git a/include/linux/compat-2.6.38.h b/include/linux/compat-2.6.38.h +index 63f9dd6..94ee602 100644 +--- a/include/linux/compat-2.6.38.h ++++ b/include/linux/compat-2.6.38.h +@@ -9,6 +9,15 @@ + #include + #include + ++#ifdef CONFIG_PM_RUNTIME ++static inline bool pm_runtime_enabled(struct device *dev) ++{ ++ return !dev->power.disable_depth; ++} ++#else ++ static inline bool pm_runtime_enabled(struct device *dev) { return false; } ++#endif ++ + /* rename member in struct mmc_host in include/linux/mmc/host.h */ + #define max_segs max_hw_segs + +-- +1.7.1 diff --git a/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-git-version-use-compat-base-tree.patch b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-git-version-use-compat-base-tree.patch new file mode 100755 index 0000000..61fe912 --- /dev/null +++ b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-git-version-use-compat-base-tree.patch @@ -0,0 +1,29 @@ +For compat-wireless based builds use compat_base_tree_version in version.h +When building with compat-wireless mechanism, the version info captured in version.h reflects target kernel and not the wl12xx version. +Signed-off-by: Vishal Mahaveer + +diff a/drivers/net/wireless/wl12xx/Makefile b/drivers/net/wireless/wl12xx/Makefile + +--- a/drivers/net/wireless/wl12xx/Makefile 2012-08-12 18:18:10.000000000 +0300 ++++ b/drivers/net/wireless/wl12xx/Makefile 2012-08-13 13:55:11.000000000 +0300 +@@ -3,12 +3,16 @@ + + define filechk_version.h + (echo 'static const char *wl12xx_timestamp = __TIMESTAMP__;'; \ +- echo 'static const char *wl12xx_git_head = \ +- "$(shell git describe --dirty)";') ++ echo '#ifdef COMPAT_BASE_TREE_VERSION'; \ ++ echo 'static const char *wl12xx_git_head = COMPAT_BASE_TREE_VERSION;'; \ ++ echo '#else'; \ ++ echo 'static const char *wl12xx_git_head = \ ++ "$(shell git describe --dirty)";'; \ ++ echo '#endif') + endef + +-$(obj)/version.h: .git/HEAD .git/index .git/refs/tags +- @$(call filechk,version.h) ++#$(obj)/version.h: .git/HEAD .git/index .git/refs/tags ++# @$(call filechk,version.h) + + $(obj)/main.c: $(src)/version.h + diff --git a/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-wl12xx-Decrease-number-of-RX-transactions.patch b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-wl12xx-Decrease-number-of-RX-transactions.patch new file mode 100755 index 0000000..90aec78 --- /dev/null +++ b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-wl12xx-Decrease-number-of-RX-transactions.patch @@ -0,0 +1,34 @@ +From 5cd7de59a61168b784ea7f51c09e64f847e81c92 Mon Sep 17 00:00:00 2001 +From: Ido Yariv +Date: Tue, 13 Dec 2011 23:16:01 +0200 +Subject: [PATCH 1/2] wl12xx: Decrease number of RX transactions + +On weak platforms, it is crucial to keep the number of SDIO transactions +to a bare minimum. It is probably more important to keep CPU utilization +low, than to handle FW events asap. + +In order to decrease the number of RX transactions, set the FW to only +wake up the host when it has at least 4 pending packets. In addition, +increase the relevant timeout, so the FW could actually reach this +threshold. +--- + drivers/net/wireless/wl12xx/main.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c +index bdb7166..f90b96a 100644 +--- a/drivers/net/wireless/wl12xx/main.c ++++ b/drivers/net/wireless/wl12xx/main.c +@@ -130,8 +130,8 @@ static struct conf_drv_settings default_conf = { + .rts_threshold = IEEE80211_MAX_RTS_THRESHOLD, + .rx_cca_threshold = 0, + .irq_blk_threshold = 0xFFFF, +- .irq_pkt_threshold = 0, +- .irq_timeout = 600, ++ .irq_pkt_threshold = 4, ++ .irq_timeout = 1200, + .queue_type = CONF_RX_QUEUE_TYPE_LOW_PRIORITY, + }, + .tx = { +-- +1.7.7.6 diff --git a/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-wl12xx-additional-two-members-for-wl12xx_platform_da.patch b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-wl12xx-additional-two-members-for-wl12xx_platform_da.patch new file mode 100644 index 0000000..69863cb --- /dev/null +++ b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0001-wl12xx-additional-two-members-for-wl12xx_platform_da.patch @@ -0,0 +1,30 @@ +From 351a513dabfb55c3aab448613c2b10b7b5788d93 Mon Sep 17 00:00:00 2001 +From: Vita Preskovsky +Date: Sun, 1 Jul 2012 11:49:30 +0300 +Subject: [PATCH] wl12xx: additional two members for wl12xx_platform_data + + * Adding bt_enable_gpio and wlan_enable_gpio to wl12xx_platform_data. + This is needed in order to align this structure + with the one which is part of the linux kernel + + +Signed-off-by: Vita Preskovsky +--- + include/linux/wl12xx.h | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/include/linux/wl12xx.h b/include/linux/wl12xx.h +index 0d63731..535058e 100644 +--- a/include/linux/wl12xx.h ++++ b/include/linux/wl12xx.h +@@ -54,6 +54,8 @@ struct wl12xx_platform_data { + int board_ref_clock; + int board_tcxo_clock; + unsigned long platform_quirks; ++ int bt_enable_gpio; ++ int wlan_enable_gpio; + bool pwr_in_suspend; + + struct wl1271_if_operations *ops; +-- +1.7.0.4 diff --git a/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0002-wl12xx-Decrease-number-of-TX-transactions.patch b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0002-wl12xx-Decrease-number-of-TX-transactions.patch new file mode 100755 index 0000000..3e2185a --- /dev/null +++ b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/0002-wl12xx-Decrease-number-of-TX-transactions.patch @@ -0,0 +1,139 @@ +From a7807fffc76117a9d0a40fdcc85b56644e81f34c Mon Sep 17 00:00:00 2001 +From: Eyal Reizer +Date: Tue, 27 Nov 2012 16:05:20 +0200 +Subject: [PATCH] wl12xx: Decrease number of TX transactions + +On weak platforms, it is crucial to keep the number of SDIO transactions +to a bare minimum. It is probably more important to keep CPU utilization +low, than to handle FW events asap. + +In order to decrease the number of TX transactions, don't schedule tx +work right away for every outgoing packet. Instead, try to wait for a +short period before scheduling tx work if there aren't enough pending +packets. + +In addition, increase the TX pacing timeout, so the FW will have enough +free memory blocks for larger transfers. + +Adapted from original patch made by Ido Yariv +Signed-off-by: Eyal Reizer +--- + drivers/net/wireless/wl12xx/main.c | 39 ++++++++++++++++++++++++++++++---- + drivers/net/wireless/wl12xx/wl12xx.h | 3 +++ + 2 files changed, 38 insertions(+), 4 deletions(-) + +diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c +index c9888f4..a59ac43 100644 +--- a/drivers/net/wireless/wl12xx/main.c ++++ b/drivers/net/wireless/wl12xx/main.c +@@ -218,8 +218,8 @@ static struct conf_drv_settings default_conf = { + }, + }, + .frag_threshold = IEEE80211_MAX_FRAG_THRESHOLD, +- .tx_compl_timeout = 700, +- .tx_compl_threshold = 4, ++ .tx_compl_timeout = 1500, ++ .tx_compl_threshold = 6, + .basic_rate = CONF_HW_BIT_RATE_1MBPS, + .basic_rate_5 = CONF_HW_BIT_RATE_6MBPS, + .tmpl_short_retry_limit = 10, +@@ -1199,6 +1199,8 @@ static int wl12xx_irq_locked(struct wl1271 *wl) + spin_lock_irqsave(&wl->wl_lock, flags); + if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags) && + wl1271_tx_total_queue_count(wl) > 0) { ++ hrtimer_try_to_cancel(&wl->tx_timer); ++ clear_bit(WL1271_FLAG_TX_TIMER_SET, &wl->flags); + spin_unlock_irqrestore(&wl->wl_lock, flags); + /* + * In order to avoid starvation of the TX path, +@@ -2056,6 +2058,9 @@ out: + return ret; + } + ++#define TX_PACKETS_THRESHOLD 6 ++#define TX_WORK_DELAY_NS (1500 * 1000) ++ + static void wl1271_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) + { + struct wl1271 *wl = hw->priv; +@@ -2113,14 +2118,37 @@ static void wl1271_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) + * before that, the tx_work will not be initialized! + */ + +- if (!test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags) && +- !test_bit(WL1271_FLAG_TX_PENDING, &wl->flags)) ++ if (test_bit(WL1271_FLAG_FW_TX_BUSY, &wl->flags) || ++ test_bit(WL1271_FLAG_TX_PENDING, &wl->flags)) ++ goto out; ++ ++ if (wl1271_tx_total_queue_count(wl) < TX_PACKETS_THRESHOLD) { ++ if (!test_and_set_bit(WL1271_FLAG_TX_TIMER_SET, &wl->flags)) ++ hrtimer_start(&wl->tx_timer, ++ ktime_set(0, TX_WORK_DELAY_NS), ++ HRTIMER_MODE_REL); ++ } else { ++ hrtimer_try_to_cancel(&wl->tx_timer); ++ clear_bit(WL1271_FLAG_TX_TIMER_SET, &wl->flags); + ieee80211_queue_work(wl->hw, &wl->tx_work); ++ } + + out: + spin_unlock_irqrestore(&wl->wl_lock, flags); + } + ++enum hrtimer_restart wl12xx_tx_timer(struct hrtimer *timer) ++{ ++ struct wl1271 *wl = container_of(timer, struct wl1271, tx_timer); ++ unsigned long flags; ++ ++ spin_lock_irqsave(&wl->wl_lock, flags); ++ clear_bit(WL1271_FLAG_TX_TIMER_SET, &wl->flags); ++ ieee80211_queue_work(wl->hw, &wl->tx_work); ++ spin_unlock_irqrestore(&wl->wl_lock, flags); ++ return HRTIMER_NORESTART; ++} ++ + int wl1271_tx_dummy_packet(struct wl1271 *wl) + { + unsigned long flags; +@@ -2740,6 +2768,7 @@ static void wl1271_op_stop_locked(struct wl1271 *wl) + * held while doing so without deadlocking. + */ + wlcore_disable_interrupts_nosync(wl); ++ hrtimer_cancel(&wl->tx_timer); + mutex_unlock(&wl->mutex); + + mutex_lock(&wl_list_mutex); +@@ -6798,6 +6827,8 @@ static struct ieee80211_hw *wl1271_alloc_hw(void) + wl->active_sta_count = 0; + wl->fwlog_size = 0; + init_waitqueue_head(&wl->fwlog_waitq); ++ hrtimer_init(&wl->tx_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); ++ wl->tx_timer.function = wl12xx_tx_timer; + + /* The system link is always allocated */ + __set_bit(WL12XX_SYSTEM_HLID, wl->links_map); +diff --git a/drivers/net/wireless/wl12xx/wl12xx.h b/drivers/net/wireless/wl12xx/wl12xx.h +index 9c00dbf..e34f095 100644 +--- a/drivers/net/wireless/wl12xx/wl12xx.h ++++ b/drivers/net/wireless/wl12xx/wl12xx.h +@@ -275,6 +275,7 @@ enum wl12xx_flags { + WL1271_FLAG_VIF_CHANGE_IN_PROGRESS, + WL1271_FLAG_INTENDED_FW_RECOVERY, + WL1271_FLAG_IO_FAILED, ++ WL1271_FLAG_TX_TIMER_SET, + }; + + enum wl12xx_vif_flags { +@@ -594,6 +595,8 @@ struct wl1271 { + + /* Patterns configured with set_rx_filters */ + struct cfg80211_wowlan *wowlan_patterns; ++ ++ struct hrtimer tx_timer; + }; + + struct wl1271_station { +-- +1.7.9.5 + diff --git a/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/mt100eocg-pcie-dk/wl12xx-irq-rising-falling-r5.sp7.01.patch b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/mt100eocg-pcie-dk/wl12xx-irq-rising-falling-r5.sp7.01.patch new file mode 100644 index 0000000..c9c3a56 --- /dev/null +++ b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/mt100eocg-pcie-dk/wl12xx-irq-rising-falling-r5.sp7.01.patch @@ -0,0 +1,20 @@ +Index: wl12xx-ol_R5.SP7.01/drivers/net/wireless/wl12xx/main.c +=================================================================== +--- wl12xx-ol_R5.SP7.01.orig/drivers/net/wireless/wl12xx/main.c 2013-12-14 23:41:55.000000000 -0600 ++++ wl12xx-ol_R5.SP7.01/drivers/net/wireless/wl12xx/main.c 2014-03-06 14:45:24.887273144 -0600 +@@ -7043,10 +7043,14 @@ + + platform_set_drvdata(pdev, wl); + ++ /* MTPCIE: force irq trigger + if (wl->platform_quirks & WL12XX_PLATFORM_QUIRK_EDGE_IRQ) +- irqflags = IRQF_TRIGGER_RISING; ++ */ ++ irqflags = IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING; ++ /* + else + irqflags = IRQF_TRIGGER_HIGH | IRQF_ONESHOT; ++ */ + + ret = request_threaded_irq(wl->irq, wl12xx_hardirq, wl12xx_irq, + irqflags, diff --git a/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/wl12xx-set-power-r5.sp7.01.patch b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/wl12xx-set-power-r5.sp7.01.patch new file mode 100644 index 0000000..fba5b90 --- /dev/null +++ b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx-r5.sp4.01/wl12xx-set-power-r5.sp7.01.patch @@ -0,0 +1,53 @@ +Index: wl12xx-ol_R5.SP7.01/drivers/net/wireless/wl12xx/sdio.c +=================================================================== +--- wl12xx-ol_R5.SP7.01.orig/drivers/net/wireless/wl12xx/sdio.c 2013-12-14 23:41:55.000000000 -0600 ++++ wl12xx-ol_R5.SP7.01/drivers/net/wireless/wl12xx/sdio.c 2014-02-04 13:26:44.612614307 -0600 +@@ -48,6 +48,7 @@ + struct wl12xx_sdio_glue { + struct device *dev; + struct platform_device *core; ++ void (*set_power)(bool enable); // PVK + }; + + static const struct sdio_device_id wl1271_devices[] __devinitconst = { +@@ -135,6 +136,10 @@ + struct sdio_func *func = dev_to_sdio_func(glue->dev); + struct mmc_card *card = func->card; + ++ // MTS: enable chip on power on ++ if (glue->set_power) ++ glue->set_power(1); ++ + ret = pm_runtime_get_sync(&card->dev); + if (ret) { + /* +@@ -163,6 +168,10 @@ + struct sdio_func *func = dev_to_sdio_func(glue->dev); + struct mmc_card *card = func->card; + ++ // MTS: disable chip on power off ++ if (glue->set_power) ++ glue->set_power(0); ++ + sdio_claim_host(func); + sdio_disable_func(func); + sdio_release_host(func); +@@ -277,6 +286,11 @@ + dev_err(glue->dev, "can't add platform device\n"); + goto out_dev_put; + } ++ ++ // MTS: add set_power to control enable pin ++ if (wlan_data->set_power) ++ glue->set_power = wlan_data->set_power; ++ + return 0; + + out_dev_put: +@@ -383,4 +397,4 @@ + MODULE_FIRMWARE(WL128X_FW_NAME_SINGLE); + MODULE_FIRMWARE(WL128X_FW_NAME_MULTI); + MODULE_FIRMWARE(WL127X_PLT_FW_NAME); +-MODULE_FIRMWARE(WL128X_PLT_FW_NAME); +\ No newline at end of file ++MODULE_FIRMWARE(WL128X_PLT_FW_NAME); diff --git a/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx_r5.sp4.01.bb b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx_r5.sp4.01.bb new file mode 100644 index 0000000..00fe1c1 --- /dev/null +++ b/multitech/recipes/compat-wireless/ti-compat-wireless-wl12xx_r5.sp4.01.bb @@ -0,0 +1,75 @@ +# This is a TI specific version of the compat-wireless recipe using a +# compat-wireless package created from the TI Systems Tested mac80211 releases. + +DESCRIPTION = "ti compat-wireless drivers" +HOMEPAGE = "https://github.com/TI-OpenLink" +SECTION = "kernel/modules" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=d7810fab7487fb0aad327b76f1be7cd7" + +RDEPENDS_${PN} = "wireless-tools" + +inherit module + +LOCAL_PR = ".3" +MACHINE_KERNEL_PR_append = "${LOCAL_PR}" + +TAG="ol_R5.SP4.01" + +S = "${WORKDIR}/compat-wireless-${TAG}" + +# manually created tarballs from github.com/TI-OpenLink repos +SRC_URI = "http://www.multitech.net/corecdp/sources/TI-OpenLink.compat-wireless_${TAG}.tar.gz;name=compat-wireless \ + http://www.multitech.net/corecdp/sources/TI-OpenLink.compat_${TAG}.tar.gz;name=compat \ + http://www.multitech.net/corecdp/sources/TI-OpenLink.wl12xx_${TAG}.tar.gz;name=wl12xx \ + file://0001-git-version-use-compat-base-tree.patch;patchdir=../wl12xx-${TAG} \ + file://0001-compat-wireless-add-pm_runtime_enabled.patch;patchdir=../compat-${TAG} \ + file://0001-wl12xx-additional-two-members-for-wl12xx_platform_da.patch;patchdir=../wl12xx-${TAG} \ + " + +SRC_URI[compat-wireless.md5sum] = "6ed4bd189d4d7470d41f9c3ce1e563e4" +SRC_URI[compat-wireless.sha256sum] = "c0dba8987bf77a9e0df5c01aaa437f481eb164d271141dad3de513d982ec9258" +SRC_URI[compat.md5sum] = "e2d82cbcc3851059cad10b7c2fad194a" +SRC_URI[compat.sha256sum] = "502371a0bb7a0f70b47d4dafd31c7741b47feb4c6aa78ae8cf0759a20261ecfd" +SRC_URI[wl12xx.md5sum] = "17f0f84f525bde35397c789af7546e07" +SRC_URI[wl12xx.sha256sum] = "167651882b38275b925f8b6e1e276f11527f198643f36e42e6f7a2a1c8b8ef11" + +#SRC_URI_append = "file://0001-wl12xx-Decrease-number-of-RX-transactions.patch;patchdir=../wl12xx-${TAG} \ +# file://0002-wl12xx-Decrease-number-of-TX-transactions.patch;patchdir=../wl12xx-${TAG} \ +#" + +# mts patches +SRC_URI_append = "file://wl12xx-set-power-r5.sp7.01.patch;patchdir=../wl12xx-${TAG}" + +SRC_URI_append_mt100eocg-pcie-dk = " \ + file://wl12xx-irq-rising-falling-r5.sp7.01.patch;patchdir=../wl12xx-${TAG} \ + " + + +EXTRA_OEMAKE = "KLIB_BUILD=${STAGING_KERNEL_DIR} KLIB=${D}" + +do_configure() { + cd ${S} + GIT_TREE="${WORKDIR}/wl12xx-${TAG}" GIT_COMPAT_TREE="${WORKDIR}/compat-${TAG}" ./scripts/admin-refresh.sh + + # create versions manually since we aren't working in git repos so admin-refresh.sh doesn't set them + echo -e "${TAG}" > compat_version + echo -e "${TAG}" > compat_base_tree_version + echo "" > compat_base_tree + + # create wl12xx/version.h manually since we aren't using a git repo + TI_VERSION="${TAG}" + DRIVER_PATH="drivers/net/wireless/wl12xx" + echo "static const char *wl12xx_timestamp = __TIMESTAMP__;" > ${DRIVER_PATH}/version.h + echo "static const char *wl12xx_git_head = \"${TI_VERSION}\";" >> ${DRIVER_PATH}/version.h + + ./scripts/driver-select wl12xx +} + +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 +} -- cgit v1.2.3