From 6c493aef61867c84ee7e261434cf5c840febf467 Mon Sep 17 00:00:00 2001 From: Mike Fiore Date: Fri, 26 Apr 2013 12:36:55 -0500 Subject: linux-2.6.39-at91: move patches to correct dir --- ...ux-2.6.39.4-at91sam9_wdt-10second-timeout.patch | 14 +++++++ .../linux-2.6.39.4-at91sam9x5-extreset.patch | 16 ++++++++ .../linux-2.6.39.4-atmel-mci-force-detect.patch | 30 +++++++++++++++ .../linux-2.6.39.4-atmel-mci-module-alias.patch | 9 +++++ ...inux-2.6.39.4-cdc-acm-ignore-exar-devices.patch | 45 ++++++++++++++++++++++ .../linux-2.6.39.4-wl12xx-sdio-irq.patch | 15 ++++++++ ...ux-2.6.39.4-at91sam9_wdt-10second-timeout.patch | 14 ------- .../linux-2.6.39.4-at91sam9x5-extreset.patch | 16 -------- .../linux-2.6.39.4-atmel-mci-force-detect.patch | 30 --------------- .../linux-2.6.39.4-atmel-mci-module-alias.patch | 9 ----- ...inux-2.6.39.4-cdc-acm-ignore-exar-devices.patch | 45 ---------------------- .../mtocgd3/linux-2.6.39.4-wl12xx-sdio-irq.patch | 15 -------- 12 files changed, 129 insertions(+), 129 deletions(-) create mode 100644 multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9_wdt-10second-timeout.patch create mode 100644 multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9x5-extreset.patch create mode 100644 multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-atmel-mci-force-detect.patch create mode 100644 multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-atmel-mci-module-alias.patch create mode 100644 multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch create mode 100644 multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-wl12xx-sdio-irq.patch delete mode 100644 multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-at91sam9_wdt-10second-timeout.patch delete mode 100644 multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-at91sam9x5-extreset.patch delete mode 100644 multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-atmel-mci-force-detect.patch delete mode 100644 multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-atmel-mci-module-alias.patch delete mode 100644 multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch delete mode 100644 multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-wl12xx-sdio-irq.patch diff --git a/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9_wdt-10second-timeout.patch b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9_wdt-10second-timeout.patch new file mode 100644 index 0000000..90c906c --- /dev/null +++ b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9_wdt-10second-timeout.patch @@ -0,0 +1,14 @@ +Index: linux-2.6.39.4/drivers/watchdog/at91sam9_wdt.c +=================================================================== +--- linux-2.6.39.4.orig/drivers/watchdog/at91sam9_wdt.c 2013-01-16 14:33:37.565560189 -0600 ++++ linux-2.6.39.4/drivers/watchdog/at91sam9_wdt.c 2013-01-16 14:34:26.531727425 -0600 +@@ -43,7 +43,8 @@ + #define ticks_to_ms(t) (((t + 1) * 1000) >> 8) + + /* Hardware timeout in seconds */ +-#define WDT_HW_TIMEOUT 2 ++/* MTR: use longer timeout */ ++#define WDT_HW_TIMEOUT 10 + + /* Timer heartbeat (500ms) */ + #define WDT_TIMEOUT (HZ/2) diff --git a/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9x5-extreset.patch b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9x5-extreset.patch new file mode 100644 index 0000000..31b7441 --- /dev/null +++ b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-at91sam9x5-extreset.patch @@ -0,0 +1,16 @@ +Index: linux-2.6.39.4/arch/arm/mach-at91/at91sam9x5.c +=================================================================== +--- linux-2.6.39.4.orig/arch/arm/mach-at91/at91sam9x5.c 2012-06-25 17:00:27.060489533 -0500 ++++ linux-2.6.39.4/arch/arm/mach-at91/at91sam9x5.c 2012-06-25 17:00:33.051404086 -0500 +@@ -330,7 +330,10 @@ + + static void at91sam9x5_reset(void) + { +- at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); ++ // MTR: generate an external reset (assert the NRST pin) on soft reset ++ // set reset duration to 125 ms --> set ERSTL to 0xb (0xb = 11 = 2^12 slow clock cycles = 4096 clocks = 125 ms) ++ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY | (0xb << 8)); ++ at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST | AT91_RSTC_EXTRST); + } + + static void at91sam9x5_poweroff(void) diff --git a/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-atmel-mci-force-detect.patch b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-atmel-mci-force-detect.patch new file mode 100644 index 0000000..d59a7cc --- /dev/null +++ b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-atmel-mci-force-detect.patch @@ -0,0 +1,30 @@ +Index: linux-2.6.39.4/drivers/mmc/host/atmel-mci.c +=================================================================== +--- linux-2.6.39.4.orig/drivers/mmc/host/atmel-mci.c 2012-05-10 11:44:02.069173755 -0500 ++++ linux-2.6.39.4/drivers/mmc/host/atmel-mci.c 2012-05-11 11:21:42.119198300 -0500 +@@ -1059,6 +1059,10 @@ + dev_dbg(&mmc->class_dev, "card is %spresent\n", + present ? "" : "not "); + } ++ else { ++ // jjg - assume card is present if detect pin is unset ++ present = 1; ++ } + + return present; + } +@@ -1655,8 +1659,12 @@ + } + } + +- if (!gpio_is_valid(slot->detect_pin)) +- mmc->caps |= MMC_CAP_NEEDS_POLL; ++ // jjg - if detect pin isn't set, don't poll -- just assume device ++ // is there and mark it non-removable ++ if (!gpio_is_valid(slot->detect_pin)) { ++ dev_info(&host->pdev->dev,"No detect pin, marking non-removable and assuming device is present\n"); ++ mmc->caps |= MMC_CAP_NONREMOVABLE; ++ } + + if (gpio_is_valid(slot->wp_pin)) { + if (gpio_request(slot->wp_pin, "mmc_wp")) { diff --git a/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-atmel-mci-module-alias.patch b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-atmel-mci-module-alias.patch new file mode 100644 index 0000000..8081bb9 --- /dev/null +++ b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-atmel-mci-module-alias.patch @@ -0,0 +1,9 @@ +Index: linux-2.6.39.4/drivers/mmc/host/atmel-mci.c +=================================================================== +--- linux-2.6.39.4.orig/drivers/mmc/host/atmel-mci.c 2013-03-08 10:25:21.024073265 -0600 ++++ linux-2.6.39.4/drivers/mmc/host/atmel-mci.c 2013-03-08 10:25:25.523819243 -0600 +@@ -1973,3 +1973,4 @@ + MODULE_DESCRIPTION("Atmel Multimedia Card Interface driver"); + MODULE_AUTHOR("Haavard Skinnemoen "); + MODULE_LICENSE("GPL v2"); ++MODULE_ALIAS("platform:atmel_mci"); diff --git a/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch new file mode 100644 index 0000000..5f9d8f7 --- /dev/null +++ b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch @@ -0,0 +1,45 @@ +Index: linux-2.6.39.4/drivers/usb/class/cdc-acm.c +=================================================================== +--- linux-2.6.39.4.orig/drivers/usb/class/cdc-acm.c 2013-02-19 09:22:57.860051682 -0600 ++++ linux-2.6.39.4/drivers/usb/class/cdc-acm.c 2013-02-19 09:30:35.274209660 -0600 +@@ -963,6 +963,12 @@ + goto skip_normal_probe; + } + ++ /* ignore devices we don't want to support */ ++ if (quirks == IGNORE_DEVICE) { ++ dev_dbg(&intf->dev, "Ignoring device\n"); ++ return -ENODEV; ++ } ++ + /* normal probing*/ + if (!buffer) { + dev_err(&intf->dev, "Weird descriptor references\n"); +@@ -1633,6 +1639,18 @@ + .driver_info = NO_DATA_INTERFACE, + }, + ++ /* Ignore Exar XR21V141X usb serial chips ++ * This elminates conflicting with the Exar vizzini driver */ ++ { USB_DEVICE(0x04e2, 0x1410), ++ .driver_info = IGNORE_DEVICE, ++ }, ++ { USB_DEVICE(0x04e2, 0x1412), ++ .driver_info = IGNORE_DEVICE, ++ }, ++ { USB_DEVICE(0x04e2, 0x1414), ++ .driver_info = IGNORE_DEVICE, ++ }, ++ + /* control interfaces without any protocol set */ + { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, + USB_CDC_PROTO_NONE) }, +Index: linux-2.6.39.4/drivers/usb/class/cdc-acm.h +=================================================================== +--- linux-2.6.39.4.orig/drivers/usb/class/cdc-acm.h 2013-02-19 09:22:54.860050647 -0600 ++++ linux-2.6.39.4/drivers/usb/class/cdc-acm.h 2013-02-19 09:24:00.856126438 -0600 +@@ -138,3 +138,4 @@ + #define NO_CAP_LINE 4 + #define NOT_A_MODEM 8 + #define NO_DATA_INTERFACE 16 ++#define IGNORE_DEVICE 32 diff --git a/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-wl12xx-sdio-irq.patch b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-wl12xx-sdio-irq.patch new file mode 100644 index 0000000..6c1abcd --- /dev/null +++ b/multitech/recipes/linux/linux-2.6.39-at91/linux-2.6.39.4-wl12xx-sdio-irq.patch @@ -0,0 +1,15 @@ +Index: linux-2.6.39.4/drivers/net/wireless/wl12xx/sdio.c +=================================================================== +--- linux-2.6.39.4.orig/drivers/net/wireless/wl12xx/sdio.c 2012-05-10 11:49:16.349486059 -0500 ++++ linux-2.6.39.4/drivers/net/wireless/wl12xx/sdio.c 2012-05-10 16:36:15.009543390 -0500 +@@ -241,7 +242,9 @@ + wl->ref_clock = wlan_data->board_ref_clock; + + ret = request_threaded_irq(wl->irq, wl1271_hardirq, wl1271_irq, +- IRQF_TRIGGER_HIGH | IRQF_ONESHOT, ++// MTR: use rising edge interrupts, level doesn't work ++// IRQF_TRIGGER_HIGH | IRQF_ONESHOT, ++ IRQF_TRIGGER_RISING, + DRIVER_NAME, wl); + if (ret < 0) { + wl1271_error("request_irq() failed: %d", ret); diff --git a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-at91sam9_wdt-10second-timeout.patch b/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-at91sam9_wdt-10second-timeout.patch deleted file mode 100644 index 90c906c..0000000 --- a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-at91sam9_wdt-10second-timeout.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: linux-2.6.39.4/drivers/watchdog/at91sam9_wdt.c -=================================================================== ---- linux-2.6.39.4.orig/drivers/watchdog/at91sam9_wdt.c 2013-01-16 14:33:37.565560189 -0600 -+++ linux-2.6.39.4/drivers/watchdog/at91sam9_wdt.c 2013-01-16 14:34:26.531727425 -0600 -@@ -43,7 +43,8 @@ - #define ticks_to_ms(t) (((t + 1) * 1000) >> 8) - - /* Hardware timeout in seconds */ --#define WDT_HW_TIMEOUT 2 -+/* MTR: use longer timeout */ -+#define WDT_HW_TIMEOUT 10 - - /* Timer heartbeat (500ms) */ - #define WDT_TIMEOUT (HZ/2) diff --git a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-at91sam9x5-extreset.patch b/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-at91sam9x5-extreset.patch deleted file mode 100644 index 31b7441..0000000 --- a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-at91sam9x5-extreset.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: linux-2.6.39.4/arch/arm/mach-at91/at91sam9x5.c -=================================================================== ---- linux-2.6.39.4.orig/arch/arm/mach-at91/at91sam9x5.c 2012-06-25 17:00:27.060489533 -0500 -+++ linux-2.6.39.4/arch/arm/mach-at91/at91sam9x5.c 2012-06-25 17:00:33.051404086 -0500 -@@ -330,7 +330,10 @@ - - static void at91sam9x5_reset(void) - { -- at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); -+ // MTR: generate an external reset (assert the NRST pin) on soft reset -+ // set reset duration to 125 ms --> set ERSTL to 0xb (0xb = 11 = 2^12 slow clock cycles = 4096 clocks = 125 ms) -+ at91_sys_write(AT91_RSTC_MR, AT91_RSTC_KEY | (0xb << 8)); -+ at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST | AT91_RSTC_EXTRST); - } - - static void at91sam9x5_poweroff(void) diff --git a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-atmel-mci-force-detect.patch b/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-atmel-mci-force-detect.patch deleted file mode 100644 index d59a7cc..0000000 --- a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-atmel-mci-force-detect.patch +++ /dev/null @@ -1,30 +0,0 @@ -Index: linux-2.6.39.4/drivers/mmc/host/atmel-mci.c -=================================================================== ---- linux-2.6.39.4.orig/drivers/mmc/host/atmel-mci.c 2012-05-10 11:44:02.069173755 -0500 -+++ linux-2.6.39.4/drivers/mmc/host/atmel-mci.c 2012-05-11 11:21:42.119198300 -0500 -@@ -1059,6 +1059,10 @@ - dev_dbg(&mmc->class_dev, "card is %spresent\n", - present ? "" : "not "); - } -+ else { -+ // jjg - assume card is present if detect pin is unset -+ present = 1; -+ } - - return present; - } -@@ -1655,8 +1659,12 @@ - } - } - -- if (!gpio_is_valid(slot->detect_pin)) -- mmc->caps |= MMC_CAP_NEEDS_POLL; -+ // jjg - if detect pin isn't set, don't poll -- just assume device -+ // is there and mark it non-removable -+ if (!gpio_is_valid(slot->detect_pin)) { -+ dev_info(&host->pdev->dev,"No detect pin, marking non-removable and assuming device is present\n"); -+ mmc->caps |= MMC_CAP_NONREMOVABLE; -+ } - - if (gpio_is_valid(slot->wp_pin)) { - if (gpio_request(slot->wp_pin, "mmc_wp")) { diff --git a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-atmel-mci-module-alias.patch b/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-atmel-mci-module-alias.patch deleted file mode 100644 index 8081bb9..0000000 --- a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-atmel-mci-module-alias.patch +++ /dev/null @@ -1,9 +0,0 @@ -Index: linux-2.6.39.4/drivers/mmc/host/atmel-mci.c -=================================================================== ---- linux-2.6.39.4.orig/drivers/mmc/host/atmel-mci.c 2013-03-08 10:25:21.024073265 -0600 -+++ linux-2.6.39.4/drivers/mmc/host/atmel-mci.c 2013-03-08 10:25:25.523819243 -0600 -@@ -1973,3 +1973,4 @@ - MODULE_DESCRIPTION("Atmel Multimedia Card Interface driver"); - MODULE_AUTHOR("Haavard Skinnemoen "); - MODULE_LICENSE("GPL v2"); -+MODULE_ALIAS("platform:atmel_mci"); diff --git a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch b/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch deleted file mode 100644 index 5f9d8f7..0000000 --- a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-cdc-acm-ignore-exar-devices.patch +++ /dev/null @@ -1,45 +0,0 @@ -Index: linux-2.6.39.4/drivers/usb/class/cdc-acm.c -=================================================================== ---- linux-2.6.39.4.orig/drivers/usb/class/cdc-acm.c 2013-02-19 09:22:57.860051682 -0600 -+++ linux-2.6.39.4/drivers/usb/class/cdc-acm.c 2013-02-19 09:30:35.274209660 -0600 -@@ -963,6 +963,12 @@ - goto skip_normal_probe; - } - -+ /* ignore devices we don't want to support */ -+ if (quirks == IGNORE_DEVICE) { -+ dev_dbg(&intf->dev, "Ignoring device\n"); -+ return -ENODEV; -+ } -+ - /* normal probing*/ - if (!buffer) { - dev_err(&intf->dev, "Weird descriptor references\n"); -@@ -1633,6 +1639,18 @@ - .driver_info = NO_DATA_INTERFACE, - }, - -+ /* Ignore Exar XR21V141X usb serial chips -+ * This elminates conflicting with the Exar vizzini driver */ -+ { USB_DEVICE(0x04e2, 0x1410), -+ .driver_info = IGNORE_DEVICE, -+ }, -+ { USB_DEVICE(0x04e2, 0x1412), -+ .driver_info = IGNORE_DEVICE, -+ }, -+ { USB_DEVICE(0x04e2, 0x1414), -+ .driver_info = IGNORE_DEVICE, -+ }, -+ - /* control interfaces without any protocol set */ - { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, - USB_CDC_PROTO_NONE) }, -Index: linux-2.6.39.4/drivers/usb/class/cdc-acm.h -=================================================================== ---- linux-2.6.39.4.orig/drivers/usb/class/cdc-acm.h 2013-02-19 09:22:54.860050647 -0600 -+++ linux-2.6.39.4/drivers/usb/class/cdc-acm.h 2013-02-19 09:24:00.856126438 -0600 -@@ -138,3 +138,4 @@ - #define NO_CAP_LINE 4 - #define NOT_A_MODEM 8 - #define NO_DATA_INTERFACE 16 -+#define IGNORE_DEVICE 32 diff --git a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-wl12xx-sdio-irq.patch b/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-wl12xx-sdio-irq.patch deleted file mode 100644 index 6c1abcd..0000000 --- a/multitech/recipes/linux/linux-2.6.39-at91/mtocgd3/linux-2.6.39.4-wl12xx-sdio-irq.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: linux-2.6.39.4/drivers/net/wireless/wl12xx/sdio.c -=================================================================== ---- linux-2.6.39.4.orig/drivers/net/wireless/wl12xx/sdio.c 2012-05-10 11:49:16.349486059 -0500 -+++ linux-2.6.39.4/drivers/net/wireless/wl12xx/sdio.c 2012-05-10 16:36:15.009543390 -0500 -@@ -241,7 +242,9 @@ - wl->ref_clock = wlan_data->board_ref_clock; - - ret = request_threaded_irq(wl->irq, wl1271_hardirq, wl1271_irq, -- IRQF_TRIGGER_HIGH | IRQF_ONESHOT, -+// MTR: use rising edge interrupts, level doesn't work -+// IRQF_TRIGGER_HIGH | IRQF_ONESHOT, -+ IRQF_TRIGGER_RISING, - DRIVER_NAME, wl); - if (ret < 0) { - wl1271_error("request_irq() failed: %d", ret); -- cgit v1.2.3