--- /dev/null
+From baa3c65298c089a9014b4e523a14ec2885cca1bc Mon Sep 17 00:00:00 2001
+From: Jan Kardell <jan.kardell@telliq.com>
+Date: Thu, 6 Nov 2014 22:18:00 +0000
+Subject: iio: ti_am335x_adc: Fix: Use same step id at FIFOs both ends
+
+From: Jan Kardell <jan.kardell@telliq.com>
+
+commit baa3c65298c089a9014b4e523a14ec2885cca1bc upstream.
+
+Since AI lines could be selected at will (linux-3.11) the sending
+and receiving ends of the FIFO does not agree about what step is used
+for a line. It only works if the last lines are used, like 5,6,7,
+and fails if ie 2,4,6 is selected in DT.
+
+Signed-off-by: Jan Kardell <jan.kardell@telliq.com>
+Tested-by: Zubair Lutfullah <zubair.lutfullah@gmail.com>
+Signed-off-by: Jonathan Cameron <jic23@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/iio/adc/ti_am335x_adc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/iio/adc/ti_am335x_adc.c
++++ b/drivers/iio/adc/ti_am335x_adc.c
+@@ -375,7 +375,7 @@ static int tiadc_read_raw(struct iio_dev
+ return -EAGAIN;
+ }
+ }
+- map_val = chan->channel + TOTAL_CHANNELS;
++ map_val = adc_dev->channel_step[chan->scan_index];
+
+ /*
+ * We check the complete FIFO. We programmed just one entry but in case
--- /dev/null
+From eadcc7208a2237016be7bdff4551ba7614da85c8 Mon Sep 17 00:00:00 2001
+From: Helge Deller <deller@gmx.de>
+Date: Sat, 28 Jun 2014 17:44:51 +0200
+Subject: parisc: add serial ports of C8000/1GHz machine to hardware database
+
+From: Helge Deller <deller@gmx.de>
+
+commit eadcc7208a2237016be7bdff4551ba7614da85c8 upstream.
+
+Signed-off-by: Helge Deller <deller@gmx.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/parisc/kernel/hardware.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/arch/parisc/kernel/hardware.c
++++ b/arch/parisc/kernel/hardware.c
+@@ -1210,7 +1210,8 @@ static struct hp_hardware hp_hardware_li
+ {HPHW_FIO, 0x004, 0x00320, 0x0, "Metheus Frame Buffer"},
+ {HPHW_FIO, 0x004, 0x00340, 0x0, "BARCO CX4500 VME Grphx Cnsl"},
+ {HPHW_FIO, 0x004, 0x00360, 0x0, "Hughes TOG VME FDDI"},
+- {HPHW_FIO, 0x076, 0x000AD, 0x00, "Crestone Peak RS-232"},
++ {HPHW_FIO, 0x076, 0x000AD, 0x0, "Crestone Peak Core RS-232"},
++ {HPHW_FIO, 0x077, 0x000AD, 0x0, "Crestone Peak Fast? Core RS-232"},
+ {HPHW_IOA, 0x185, 0x0000B, 0x00, "Java BC Summit Port"},
+ {HPHW_IOA, 0x1FF, 0x0000B, 0x00, "Hitachi Ghostview Summit Port"},
+ {HPHW_IOA, 0x580, 0x0000B, 0x10, "U2-IOA BC Runway Port"},
--- /dev/null
+From ab8a261ba5e2dd9206da640de5870cc31d568a7c Mon Sep 17 00:00:00 2001
+From: Helge Deller <deller@gmx.de>
+Date: Thu, 10 Jul 2014 18:07:17 +0200
+Subject: parisc: fix fanotify_mark() syscall on 32bit compat kernel
+
+From: Helge Deller <deller@gmx.de>
+
+commit ab8a261ba5e2dd9206da640de5870cc31d568a7c upstream.
+
+On parisc we can not use the existing compat implementation for fanotify_mark()
+because for the 64bit mask parameter the higher and lower 32bits are ordered
+differently than what the compat function expects from big endian
+architectures.
+
+Specifically:
+It finally turned out, that on hppa we end up with different assignments
+of parameters to kernel arguments depending on if we call the glibc
+wrapper function
+ int fanotify_mark (int __fanotify_fd, unsigned int __flags,
+ uint64_t __mask, int __dfd, const char *__pathname);
+or directly calling the syscall manually
+ syscall(__NR_fanotify_mark, ...)
+
+Reason is, that the syscall() function is implemented as C-function and
+because we now have the sysno as first parameter in front of the other
+parameters the compiler will unexpectedly add an empty paramenter in
+front of the u64 value to ensure the correct calling alignment for 64bit
+values.
+This means, on hppa you can't simply use syscall() to call the kernel
+fanotify_mark() function directly, but you have to use the glibc
+function instead.
+
+This patch fixes the kernel in the hppa-arch specifc coding to adjust
+the parameters in a way as if userspace calls the glibc wrapper function
+fanotify_mark().
+
+Signed-off-by: Helge Deller <deller@gmx.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/parisc/kernel/sys_parisc32.c | 10 ++++++++++
+ arch/parisc/kernel/syscall_table.S | 2 +-
+ 2 files changed, 11 insertions(+), 1 deletion(-)
+
+--- a/arch/parisc/kernel/sys_parisc32.c
++++ b/arch/parisc/kernel/sys_parisc32.c
+@@ -4,6 +4,7 @@
+ * Copyright (C) 2000-2001 Hewlett Packard Company
+ * Copyright (C) 2000 John Marvin
+ * Copyright (C) 2001 Matthew Wilcox
++ * Copyright (C) 2014 Helge Deller <deller@gmx.de>
+ *
+ * These routines maintain argument size conversion between 32bit and 64bit
+ * environment. Based heavily on sys_ia32.c and sys_sparc32.c.
+@@ -57,3 +58,12 @@ asmlinkage long sys32_unimplemented(int
+ current->comm, current->pid, r20);
+ return -ENOSYS;
+ }
++
++asmlinkage long sys32_fanotify_mark(compat_int_t fanotify_fd, compat_uint_t flags,
++ compat_uint_t mask0, compat_uint_t mask1, compat_int_t dfd,
++ const char __user * pathname)
++{
++ return sys_fanotify_mark(fanotify_fd, flags,
++ ((__u64)mask1 << 32) | mask0,
++ dfd, pathname);
++}
+--- a/arch/parisc/kernel/syscall_table.S
++++ b/arch/parisc/kernel/syscall_table.S
+@@ -418,7 +418,7 @@
+ ENTRY_SAME(accept4) /* 320 */
+ ENTRY_SAME(prlimit64)
+ ENTRY_SAME(fanotify_init)
+- ENTRY_COMP(fanotify_mark)
++ ENTRY_DIFF(fanotify_mark)
+ ENTRY_COMP(clock_adjtime)
+ ENTRY_SAME(name_to_handle_at) /* 325 */
+ ENTRY_COMP(open_by_handle_at)
--- /dev/null
+From 042d27acb64924a0e8a43e972485913a32407beb Mon Sep 17 00:00:00 2001
+From: Helge Deller <deller@gmx.de>
+Date: Wed, 30 Apr 2014 23:26:02 +0200
+Subject: parisc,metag: Do not hardcode maximum userspace stack size
+
+From: Helge Deller <deller@gmx.de>
+
+commit 042d27acb64924a0e8a43e972485913a32407beb upstream.
+
+This patch affects only architectures where the stack grows upwards
+(currently parisc and metag only). On those do not hardcode the maximum
+initial stack size to 1GB for 32-bit processes, but make it configurable
+via a config option.
+
+The main problem with the hardcoded stack size is, that we have two
+memory regions which grow upwards: stack and heap. To keep most of the
+memory available for heap in a flexmap memory layout, it makes no sense
+to hard allocate up to 1GB of the memory for stack which can't be used
+as heap then.
+
+This patch makes the stack size for 32-bit processes configurable and
+uses 80MB as default value which has been in use during the last few
+years on parisc and which hasn't showed any problems yet.
+
+Signed-off-by: Helge Deller <deller@gmx.de>
+Signed-off-by: James Hogan <james.hogan@imgtec.com>
+Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
+Cc: linux-parisc@vger.kernel.org
+Cc: linux-metag@vger.kernel.org
+Cc: John David Anglin <dave.anglin@bell.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/metag/include/asm/processor.h | 2 +-
+ arch/parisc/include/asm/processor.h | 5 ++++-
+ arch/parisc/kernel/sys_parisc.c | 6 +++---
+ mm/Kconfig | 15 +++++++++++++++
+ 4 files changed, 23 insertions(+), 5 deletions(-)
+
+--- a/arch/metag/include/asm/processor.h
++++ b/arch/metag/include/asm/processor.h
+@@ -23,7 +23,7 @@
+ #define STACK_TOP (TASK_SIZE - PAGE_SIZE)
+ #define STACK_TOP_MAX STACK_TOP
+ /* Maximum virtual space for stack */
+-#define STACK_SIZE_MAX (1 << 28) /* 256 MB */
++#define STACK_SIZE_MAX (CONFIG_MAX_STACK_SIZE_MB*1024*1024)
+
+ /* This decides where the kernel will search for a free chunk of vm
+ * space during mmap's.
+--- a/arch/parisc/include/asm/processor.h
++++ b/arch/parisc/include/asm/processor.h
+@@ -55,7 +55,10 @@
+ #define STACK_TOP TASK_SIZE
+ #define STACK_TOP_MAX DEFAULT_TASK_SIZE
+
+-#define STACK_SIZE_MAX (1 << 30) /* 1 GB */
++/* Allow bigger stacks for 64-bit processes */
++#define STACK_SIZE_MAX (USER_WIDE_MODE \
++ ? (1 << 30) /* 1 GB */ \
++ : (CONFIG_MAX_STACK_SIZE_MB*1024*1024))
+
+ #endif
+
+--- a/arch/parisc/kernel/sys_parisc.c
++++ b/arch/parisc/kernel/sys_parisc.c
+@@ -72,10 +72,10 @@ static unsigned long mmap_upper_limit(vo
+ {
+ unsigned long stack_base;
+
+- /* Limit stack size to 1GB - see setup_arg_pages() in fs/exec.c */
++ /* Limit stack size - see setup_arg_pages() in fs/exec.c */
+ stack_base = rlimit_max(RLIMIT_STACK);
+- if (stack_base > (1 << 30))
+- stack_base = 1 << 30;
++ if (stack_base > STACK_SIZE_MAX)
++ stack_base = STACK_SIZE_MAX;
+
+ return PAGE_ALIGN(STACK_TOP - stack_base);
+ }
+--- a/mm/Kconfig
++++ b/mm/Kconfig
+@@ -580,3 +580,18 @@ config PGTABLE_MAPPING
+
+ You can check speed with zsmalloc benchmark:
+ https://github.com/spartacus06/zsmapbench
++
++config MAX_STACK_SIZE_MB
++ int "Maximum user stack size for 32-bit processes (MB)"
++ default 80
++ range 8 256 if METAG
++ range 8 2048
++ depends on STACK_GROWSUP && (!64BIT || COMPAT)
++ help
++ This is the maximum stack size in Megabytes in the VM layout of 32-bit
++ user processes when the stack grows upwards (currently only on parisc
++ and metag arch). The stack will be located at the highest memory
++ address minus the given value, unless the RLIMIT_STACK hard limit is
++ changed to a smaller value in which case that is used.
++
++ A sane initial value is 80 MB.
--- /dev/null
+From b9326057a3d8447f5d2e74a7b521ccf21add2ec0 Mon Sep 17 00:00:00 2001
+From: Andras Kovacs <andras@sth.sze.hu>
+Date: Fri, 27 Jun 2014 14:50:11 +0200
+Subject: USB: cp210x: add support for Corsair usb dongle
+
+From: Andras Kovacs <andras@sth.sze.hu>
+
+commit b9326057a3d8447f5d2e74a7b521ccf21add2ec0 upstream.
+
+Corsair USB Dongles are shipped with Corsair AXi series PSUs.
+These are cp210x serial usb devices, so make driver detect these.
+I have a program, that can get information from these PSUs.
+
+Tested with 2 different dongles shipped with Corsair AX860i and
+AX1200i units.
+
+Signed-off-by: Andras Kovacs <andras@sth.sze.hu>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/cp210x.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/usb/serial/cp210x.c
++++ b/drivers/usb/serial/cp210x.c
+@@ -153,6 +153,7 @@ static const struct usb_device_id id_tab
+ { USB_DEVICE(0x1843, 0x0200) }, /* Vaisala USB Instrument Cable */
+ { USB_DEVICE(0x18EF, 0xE00F) }, /* ELV USB-I2C-Interface */
+ { USB_DEVICE(0x1ADB, 0x0001) }, /* Schweitzer Engineering C662 Cable */
++ { USB_DEVICE(0x1B1C, 0x1C00) }, /* Corsair USB Dongle */
+ { USB_DEVICE(0x1BE3, 0x07A6) }, /* WAGO 750-923 USB Service Cable */
+ { USB_DEVICE(0x1E29, 0x0102) }, /* Festo CPX-USB */
+ { USB_DEVICE(0x1E29, 0x0501) }, /* Festo CMSP */
--- /dev/null
+From 5a7fbe7e9ea0b1b9d7ffdba64db1faa3a259164c Mon Sep 17 00:00:00 2001
+From: Bert Vermeulen <bert@biot.com>
+Date: Tue, 8 Jul 2014 14:42:23 +0200
+Subject: USB: ftdi_sio: Add extra PID.
+
+From: Bert Vermeulen <bert@biot.com>
+
+commit 5a7fbe7e9ea0b1b9d7ffdba64db1faa3a259164c upstream.
+
+This patch adds PID 0x0003 to the VID 0x128d (Testo). At least the
+Testo 435-4 uses this, likely other gear as well.
+
+Signed-off-by: Bert Vermeulen <bert@biot.com>
+Cc: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/ftdi_sio.c | 3 ++-
+ drivers/usb/serial/ftdi_sio_ids.h | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -720,7 +720,8 @@ static const struct usb_device_id id_tab
+ { USB_DEVICE(FTDI_VID, FTDI_ACG_HFDUAL_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_YEI_SERVOCENTER31_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_THORLABS_PID) },
+- { USB_DEVICE(TESTO_VID, TESTO_USB_INTERFACE_PID) },
++ { USB_DEVICE(TESTO_VID, TESTO_1_PID) },
++ { USB_DEVICE(TESTO_VID, TESTO_3_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_GAMMA_SCOUT_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_TACTRIX_OPENPORT_13M_PID) },
+ { USB_DEVICE(FTDI_VID, FTDI_TACTRIX_OPENPORT_13S_PID) },
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -798,7 +798,8 @@
+ * Submitted by Colin Leroy
+ */
+ #define TESTO_VID 0x128D
+-#define TESTO_USB_INTERFACE_PID 0x0001
++#define TESTO_1_PID 0x0001
++#define TESTO_3_PID 0x0003
+
+ /*
+ * Mobility Electronics products.
--- /dev/null
+From 3d28bd840b2d3981cd28caf5fe1df38f1344dd60 Mon Sep 17 00:00:00 2001
+From: Bernd Wachter <bernd.wachter@jolla.com>
+Date: Wed, 2 Jul 2014 12:36:48 +0300
+Subject: usb: option: Add ID for Telewell TW-LTE 4G v2
+
+From: Bernd Wachter <bernd.wachter@jolla.com>
+
+commit 3d28bd840b2d3981cd28caf5fe1df38f1344dd60 upstream.
+
+Add ID of the Telewell 4G v2 hardware to option driver to get legacy
+serial interface working
+
+Signed-off-by: Bernd Wachter <bernd.wachter@jolla.com>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/option.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/usb/serial/option.c
++++ b/drivers/usb/serial/option.c
+@@ -1487,6 +1487,8 @@ static const struct usb_device_id option
+ .driver_info = (kernel_ulong_t)&net_intf2_blacklist },
+ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1426, 0xff, 0xff, 0xff), /* ZTE MF91 */
+ .driver_info = (kernel_ulong_t)&net_intf2_blacklist },
++ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1428, 0xff, 0xff, 0xff), /* Telewell TW-LTE 4G v2 */
++ .driver_info = (kernel_ulong_t)&net_intf2_blacklist },
+ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1533, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1534, 0xff, 0xff, 0xff) },
+ { USB_DEVICE_AND_INTERFACE_INFO(ZTE_VENDOR_ID, 0x1535, 0xff, 0xff, 0xff) },
--- /dev/null
+From d8279a40e50ad55539780aa617a32a53d7f0953e Mon Sep 17 00:00:00 2001
+From: Michal Sojka <sojkam1@fel.cvut.cz>
+Date: Thu, 10 Jul 2014 14:00:34 +0200
+Subject: USB: serial: ftdi_sio: Add Infineon Triboard
+
+From: Michal Sojka <sojkam1@fel.cvut.cz>
+
+commit d8279a40e50ad55539780aa617a32a53d7f0953e upstream.
+
+This adds support for Infineon TriBoard TC1798 [1]. Only interface 1
+is used as serial line (see [2], Figure 8-6).
+
+[1] http://www.infineon.com/cms/de/product/microcontroller/development-tools-software-and-kits/tricore-tm-development-tools-software-and-kits/starterkits-and-evaluation-boards/starter-kit-tc1798/channel.html?channel=db3a304333b8a7ca0133cfa3d73e4268
+[2] http://www.infineon.com/dgdl/TriBoardManual-TC1798-V10.pdf?folderId=db3a304412b407950112b409ae7c0343&fileId=db3a304333b8a7ca0133cfae99fe426a
+
+Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
+Cc: Johan Hovold <johan@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/usb/serial/ftdi_sio.c | 2 ++
+ drivers/usb/serial/ftdi_sio_ids.h | 6 ++++++
+ 2 files changed, 8 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -945,6 +945,8 @@ static const struct usb_device_id id_tab
+ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_2_PID) },
+ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_3_PID) },
+ { USB_DEVICE(BRAINBOXES_VID, BRAINBOXES_US_842_4_PID) },
++ /* Infineon Devices */
++ { USB_DEVICE_INTERFACE_NUMBER(INFINEON_VID, INFINEON_TRIBOARD_PID, 1) },
+ { } /* Terminating entry */
+ };
+
+--- a/drivers/usb/serial/ftdi_sio_ids.h
++++ b/drivers/usb/serial/ftdi_sio_ids.h
+@@ -584,6 +584,12 @@
+ #define RATOC_PRODUCT_ID_USB60F 0xb020
+
+ /*
++ * Infineon Technologies
++ */
++#define INFINEON_VID 0x058b
++#define INFINEON_TRIBOARD_PID 0x0028 /* DAS JTAG TriBoard TC1798 V1.0 */
++
++/*
+ * Acton Research Corp.
+ */
+ #define ACTON_VID 0x0647 /* Vendor ID */