From aabce5cf6a31bf82c3df2328f60ca747c6f5b84f Mon Sep 17 00:00:00 2001 From: Imre Kaloz Date: Tue, 18 Mar 2014 18:54:27 +0000 Subject: switch to the newer DT bindings for wl1xxx Signed-off-by: Imre Kaloz SVN-Revision: 39946 --- ...1-wlcore-set-irq_flags-in-the-board-files.patch | 118 --------------------- 1 file changed, 118 deletions(-) delete mode 100644 package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch (limited to 'package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch') diff --git a/package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch b/package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch deleted file mode 100644 index f2789a9c55..0000000000 --- a/package/kernel/mac80211/patches/901-wlcore-set-irq_flags-in-the-board-files.patch +++ /dev/null @@ -1,118 +0,0 @@ -The platform_quirk element in the platform data was used to change the -way the IRQ is triggered. When set, the EDGE_IRQ quirk would change -the irqflags used and treat edge trigger differently from the rest. - -Instead of hiding this irq flag setting behind the quirk, have the -board files set the flags during initialization. This will be more -meaningful than driver-specific quirks when we switch to DT. - -Additionally, fix missing gpio_request() calls in the boarding files -(so that setting the flags actually works). - -Cc: Tony Lindgren -Cc: Sekhar Nori -Signed-off-by: Luciano Coelho -Reviewed-by: Felipe Balbi -Acked-by: Sekhar Nori - ---- a/drivers/net/wireless/ti/wlcore/debugfs.c -+++ b/drivers/net/wireless/ti/wlcore/debugfs.c -@@ -502,7 +502,7 @@ static ssize_t driver_state_read(struct - DRIVER_STATE_PRINT_HEX(irq); - /* TODO: ref_clock and tcxo_clock were moved to wl12xx priv */ - DRIVER_STATE_PRINT_HEX(hw_pg_ver); -- DRIVER_STATE_PRINT_HEX(platform_quirks); -+ DRIVER_STATE_PRINT_HEX(irq_flags); - DRIVER_STATE_PRINT_HEX(chip.id); - DRIVER_STATE_PRINT_STR(chip.fw_ver_str); - DRIVER_STATE_PRINT_STR(chip.phy_fw_ver_str); ---- a/drivers/net/wireless/ti/wlcore/main.c -+++ b/drivers/net/wireless/ti/wlcore/main.c -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - - #include "wlcore.h" - #include "debug.h" -@@ -528,7 +529,7 @@ static int wlcore_irq_locked(struct wl12 - * In case edge triggered interrupt must be used, we cannot iterate - * more than once without introducing race conditions with the hardirq. - */ -- if (wl->platform_quirks & WL12XX_PLATFORM_QUIRK_EDGE_IRQ) -+ if (wl->irq_flags & IRQF_TRIGGER_RISING) - loopcount = 1; - - wl1271_debug(DEBUG_IRQ, "IRQ work"); -@@ -5934,7 +5935,6 @@ struct ieee80211_hw *wlcore_alloc_hw(siz - wl->ap_ps_map = 0; - wl->ap_fw_ps_map = 0; - wl->quirks = 0; -- wl->platform_quirks = 0; - wl->system_hlid = WL12XX_SYSTEM_HLID; - wl->active_sta_count = 0; - wl->active_link_count = 0; -@@ -6075,7 +6075,7 @@ static void wlcore_nvs_cb(const struct f - struct platform_device *pdev = wl->pdev; - struct wlcore_platdev_data *pdev_data = dev_get_platdata(&pdev->dev); - struct wl12xx_platform_data *pdata = pdev_data->pdata; -- unsigned long irqflags; -+ - int ret; - irq_handler_t hardirq_fn = NULL; - -@@ -6103,29 +6103,19 @@ static void wlcore_nvs_cb(const struct f - wlcore_adjust_conf(wl); - - wl->irq = platform_get_irq(pdev, 0); -- wl->platform_quirks = pdata->platform_quirks; - wl->if_ops = pdev_data->if_ops; - --#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) -- irqflags = IRQF_TRIGGER_RISING; -+ wl->irq_flags = irq_get_trigger_type(wl->irq) | IRQF_ONESHOT; - hardirq_fn = wlcore_hardirq; --#else -- if (wl->platform_quirks & WL12XX_PLATFORM_QUIRK_EDGE_IRQ) { -- irqflags = IRQF_TRIGGER_RISING; -- hardirq_fn = wlcore_hardirq; -- } else { -- irqflags = IRQF_TRIGGER_HIGH | IRQF_ONESHOT; -- } --#endif - - #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31) - ret = compat_request_threaded_irq(&wl->irq_compat, wl->irq, - hardirq_fn, wlcore_irq, -- irqflags, -+ wl->irqflags, - pdev->name, wl); - #else - ret = request_threaded_irq(wl->irq, hardirq_fn, wlcore_irq, -- irqflags, pdev->name, wl); -+ wl->irq_flags, pdev->name, wl); - #endif - if (ret < 0) { - wl1271_error("request_irq() failed: %d", ret); ---- a/drivers/net/wireless/ti/wlcore/wlcore.h -+++ b/drivers/net/wireless/ti/wlcore/wlcore.h -@@ -188,6 +188,8 @@ struct wl1271 { - - int irq; - -+ int irq_flags; -+ - spinlock_t wl_lock; - - enum wlcore_state state; -@@ -395,9 +397,6 @@ struct wl1271 { - /* Quirks of specific hardware revisions */ - unsigned int quirks; - -- /* Platform limitations */ -- unsigned int platform_quirks; -- - /* number of currently active RX BA sessions */ - int ba_rx_session_count; - -- cgit v1.2.3