summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-09-29apalis/colibri_t30: pull-down multiplexed camera input pins saves 100mWColibri_T30_LinuxImageV2.6.1Beta1_20160929Colibri_T20_LinuxImageV2.6.1Beta1_20160929Apalis_T30_LinuxImageV2.6.1Beta1_20160929Marcel Ziswiler
Floating pins towards the camera input level-shifter cause it to consume at least 100mW of power even in idle. This patch fixes this by configuring pull-downs on all multiplexed camera input pins. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29colibri_t20: fix gcc-6 compilationMarcel Ziswiler
arch/arm/mach-tegra/board-colibri_t20.c:668:43: error: 'i2c2_ddc' defined but not used [-Werror=unused-const-variable=] static const struct tegra_pingroup_config i2c2_ddc = { ^~~~~~~~ Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29asoc: tegra: fix gcc-6 compilationMarcel Ziswiler
sound/soc/tegra/tegra30_dam.c: In function 'tegra30_dam_probe': sound/soc/tegra/tegra30_dam.c:620:3: error: this 'if' clause does not guard... [-Werror=misleading-indentation] if ((i == TEGRA30_DAM_CTRL_RSVD_6) || ^~ sound/soc/tegra/tegra30_dam.c:624:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if' dam->reg_cache[i] = ^~~ Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29video: tegra: dsi: fix gcc-6 compilationMarcel Ziswiler
drivers/video/tegra/dc/dsi.c: In function 'tegra_dsi_read_fifo': drivers/video/tegra/dc/dsi.c:2515:3: error: this 'if' clause does not guard... [-Werror=misleading-indentation] if (rd_fifo_cnt << 2 > DSI_READ_FIFO_DEPTH) ^~ drivers/video/tegra/dc/dsi.c:2518:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if' break; ^~~~~ Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-09-29compiler-gcc: disable -ftracer for __noclone functionsPaolo Bonzini
commit 95272c29378ee7dc15f43fa2758cb28a5913a06d upstream. -ftracer can duplicate asm blocks causing compilation to fail in noclone functions. For example, KVM declares a global variable in an asm like asm("2: ... \n .pushsection data \n .global vmx_return \n vmx_return: .long 2b"); and -ftracer causes a double declaration. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Michal Marek <mmarek@suse.cz> Cc: stable@vger.kernel.org Cc: kvm@vger.kernel.org Reported-by: Linda Walsh <lkml@tlinx.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Willy Tarreau <w@1wt.eu> (cherry picked from commit 5d814ad8d35e5e23e0c27fb0f0b80c1044ecefad)
2016-09-29compiler-gcc: integrate the various compiler-gcc[345].h filesJoe Perches
commit cb984d101b30eb7478d32df56a0023e4603cba7f upstream. As gcc major version numbers are going to advance rather rapidly in the future, there's no real value in separate files for each compiler version. Deduplicate some of the macros #defined in each file too. Neaten comments using normal kernel commenting style. Signed-off-by: Joe Perches <joe@perches.com> Cc: Andi Kleen <andi@firstfloor.org> Cc: Michal Marek <mmarek@suse.cz> Cc: Segher Boessenkool <segher@kernel.crashing.org> Cc: Sasha Levin <levinsasha928@gmail.com> Cc: Anton Blanchard <anton@samba.org> Cc: Alan Modra <amodra@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> [ philm: backport to 3.10-stable ] Signed-off-by: Philip Müller <philm@manjaro.org> Signed-off-by: Willy Tarreau <w@1wt.eu> (cherry picked from commit a4a4f1cd733fe5b345db4e8cc19bb8868d562a8a)
2016-09-29compiler-gcc.h: Add gcc-recommended GCC_VERSION macroDaniel Santos
Throughout compiler*.h, many version checks are made. These can be simplified by using the macro that gcc's documentation recommends. However, my primary reason for adding this is that I need bug-check macros that are enabled at certain gcc versions and it's cleaner to use this macro than the tradition method: #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ => 2) If you add patch level, it gets this ugly: #if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 2 || \ __GNUC_MINOR__ == 2 __GNUC_PATCHLEVEL__ >= 1)) As opposed to: #if GCC_VERSION >= 40201 While having separate headers for gcc 3 & 4 eliminates some of this verbosity, they can still be cleaned up by this. See also: http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html Signed-off-by: Daniel Santos <daniel.santos@pobox.com> Acked-by: Borislav Petkov <bp@alien8.de> Acked-by: David Rientjes <rientjes@google.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Joe Perches <joe@perches.com> Cc: Josh Triplett <josh@joshtriplett.org> Cc: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit 3f3f8d2f48acfd8ed3b8e6b7377935da57b27b16)
2016-09-29ftrace: Make all inline tags also include notraceSteven Rostedt
Commit 5963e317b1e9d2a ("ftrace/x86: Do not change stacks in DEBUG when calling lockdep") prevented lockdep calls from the int3 breakpoint handler from reseting the stack if a function that was called was in the process of being converted for tracing and had a breakpoint on it. The idea is, before calling the lockdep code, do a load_idt() to the special IDT that kept the breakpoint stack from reseting. This worked well as a quick fix for this kernel release, until a certain config caused a lockup in the function tracer start up tests. Investigating it, I found that the load_idt that was used to prevent the int3 from changing stacks was itself being traced! Even though the config had CONFIG_OPTIMIZE_INLINING disabled, and all 'inline' tags were set to always inline, there were still cases that it did not inline! This was caused by CONFIG_PARAVIRT_GUEST, where it would add a pointer to the native_load_idt() which made that function to be traced. Commit 45959ee7aa645815a ("ftrace: Do not function trace inlined functions") only touched the 'inline' tags when CONFIG_OPMITIZE_INLINING was enabled. PARAVIRT_GUEST shows that this was not enough and we need to also mark always_inline with notrace as well. Reported-by: Fengguang Wu <wfg@linux.intel.com> Tested-by: Fengguang Wu <wfg@linux.intel.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> (cherry picked from commit 93b3cca1ccd30b1ad290951a3fc7c10c73db7313)
2016-09-29ftrace: Do not function trace inlined functionsSteven Rostedt
When gcc inlines a function, it does not mark it with the mcount prologue, which in turn means that inlined functions are not traced by the function tracer. But if CONFIG_OPTIMIZE_INLINING is set, then gcc is allowed not to inline a function that is marked inline. Depending on the options and the compiler, a function may or may not be traced by the function tracer, depending on whether gcc decides to inline a function or not. This has caused several problems in the pass becaues gcc is not always consistent with what it decides to inline between different gcc versions. Some places should not be traced (like paravirt native_* functions) and these are mostly marked as inline. When gcc decides not to inline the function, and if that function should not be traced, then the ftrace function tracer will suddenly break when it use to work fine. This becomes even harder to debug when different versions of gcc will not inline that function, making the same kernel and config work for some gcc versions and not work for others. By making all functions marked inline to not be traced will remove the ambiguity that gcc adds when it comes to tracing functions marked inline. All gcc versions will be consistent with what functions are traced and having volatile working code will be removed. Note, only the inline macro when CONFIG_OPTIMIZE_INLINING is set needs to have notrace added, as the attribute __always_inline will force the function to be inlined and then not traced. Signed-off-by: Steven Rostedt <rostedt@goodmis.org> (cherry picked from commit 45959ee7aa645815a5ce303a0ea1e48a21e67c6a)
2016-09-29tegra: HDMI allow more aspect ratiosDominik Sliwa
When connected display EDID presents aspect ratio that is in valid range, but it's not in a table of valid ratios accept it with a warning message. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-09-29tegra: Fix unsupported HDMI screen crashDominik Sliwa
Connecting unsuported screen to HDMI resulted in kernel panic. Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-06-27apalis/colibri_t30: disable tps62362 pull-downs, use vdd_core set 0Colibri_T30_LinuxImageV2.6Beta2_20160701Colibri_T20_LinuxImageV2.6Beta2_20160701Apalis_T30_LinuxImageV2.6Beta2_20160701Marcel Ziswiler
TPS62362: - disable all internal pull-down resistors to decrease (RTC battery) current consumption - make sure we use VDD_CORE set point 0 Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-06-27apalis/colibri_t30: initialise tps65911 gpiosMarcel Ziswiler
Initialise TPS65911 GPIOs: - disable internal pull-down resistors to decrease (RTC battery) current consumption - output 0 during sleep state on GPIO2 (EN_VDD_CORE) and GPIO6 (EN_VDD_HDMI) While at it also remove some obsolete includes, update some comments, fix some indenting and FIXED_REG resp. GPIO_REG ids. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-06-22apalis_t30: allow for setting vi level-shifter directionMarcel Ziswiler
Allow for setting the direction of the VI pins' level-shifter. Do not tri-state those pins' output driver in order to be able to actually output any values as well. Default to direction input and update comments accordingly. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22apalis_t30: enable 24 mhz cam1_mclk aka vi_sensor clockMarcel Ziswiler
Enable a static 24 MHz camera clock on CAM1_MCLK suitable for e.g. ov5640, ov7670soc or the like. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22arm: smp: sched: clean-up and silence cpu hot-plugging debugMarcel Ziswiler
Clean-up and silence those annoying CPU hot-plugging debug messages. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22mmc: sdhci: handle command timeout after transfer complete interruptNicolas Serafini
On a tegra3 platform with Hynix eMMC we can observe that sometimes we receive a command timeout after a transfer complete interrupt on a multiple block read request. Here is the output using MMC_DEBUG and ftrace. When it works: tegra_sdhci_set_clock: tegra_sdhci_set_clock mmc0 0 enabled=1 tegra_sdhci_set_clock: tegra_sdhci_set_clock mmc0 52000000 enabled=0 __mmc_start_req: mmc0: starting CMD18 arg 00a73044 flags 000000b5 __mmc_start_req: mmc0: blksz 512 blocks 2 flags 00000200 tsac 150 ms nsac 1000 __mmc_start_req: mmc0: CMD12 arg 00000000 flags 0000049d sdhci_irq: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 sdhci_finish_command: sdhci_finish_command:1075 sdhci_irq: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000002 sdhci_tasklet_finish: sdhci_tasklet_finish:2064 When we have the error: tegra_sdhci_set_clock: tegra_sdhci_set_clock mmc0 0 enabled=1 tegra_sdhci_set_clock: tegra_sdhci_set_clock mmc0 52000000 enabled=0 __mmc_start_req: mmc0: starting CMD18 arg 00a63d12 flags 000000b5 __mmc_start_req: mmc0: blksz 512 blocks 2 flags 00000200 tsac 150 ms nsac 1000 __mmc_start_req: mmc0: CMD12 arg 00000000 flags 0000049d sdhci_irq: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 sdhci_finish_command: sdhci_finish_command:1075 sdhci_irq: sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000 ------NOW THE REQUEST BLOCK UNTIL TIMEOUT------ We can see that when it works the multiple read blocks command stopped by the CMD12 receive two interrupts. The first is the Transfer complete interrupt (SDHCI_INT_RESPONSE) and just after the Block Gap Event interrupt (SDHCI_INT_DATA_END). In this case the command is finished and the data is finished too. In the bad case instead of receiving SDHCI_INT_DATA_END we receive a command timeout error (SDHCI_INT_TIMEOUT) but command was already finished by the SDHCI_INT_RESPONSE so not more command is waiting and the driver wait until the timeout timer end because this case is not managed. Signed-off-by: Nicolas Serafini <nicolas.serafini@sensefly.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22mmc: host: sdhci: fix suspend/resume issueMarcel Ziswiler
This fixes the following eMMC suspend/resume issue as seen on Colibri T30 1GB IT V1.1A: [ 75.479664] mmcblk0: error -110 transferring data, sector 287240, nr 2, cmd response 0x900, card status 0xc00 [ 75.580923] end_request: I/O error, dev mmcblk0, sector 287240 [ 75.586782] Buffer I/O error on device mmcblk0p2, logical block 123140 [ 75.593313] lost page write due to I/O error on mmcblk0p2 (fixes an issue probably caused by a merge conflict introduced by commit 7f7b042a978edfc6c7d1e14ec9c6ec01ffcc284b) Signed-off-by: Mirza Krak <mirza.krak@hostmobility.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22apalis_t30: v4l2: Epson S2D13P04 integrationBhuvanChandra.DV
Integrate Epson S2D13P04 video decoder support. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22apalis/colibri_t30: modularise wi-fi configurationMarcel Ziswiler
Modularise our Wi-Fi configuration meaning build support for our former Ralink RT3070 based Ambicom WL250N as module as well plus while at it enable support for newer Ralink RT5370 based common Wi-Fi USB sticks as well. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-06-22media: Epson S2D13P04 decoder support for Colibri T30Wojciech Bieganski
This commit adds support for Epson S2D13P04 (4-input analog video decoder with parallel interface) for Colibri T30. Currently the only supported standard is PAL-B/G/I/N and the output is arranged in 'merge mode' (4 input streams on one screen) Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
2016-03-23rtl8192cu: Add new device IDsColibri_T30_LinuxImageV2.6Beta1_20160331Colibri_T20_LinuxImageV2.6Beta1_20160331Apalis_T30_LinuxImageV2.6Beta1_20160331Larry Finger
The latest vendor (non-mac80211) driver of 9/22/2011 shows some new device IDs for rtl8192cu. In addition, some typos in the table are fixed and one duplicate is removed. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com> (cherry picked from commit 6cddafab54e9a17b2efefe982547865955a5ff3a)
2016-03-22ARM: 8429/1: disable GCC SRA optimizationArd Biesheuvel
While working on the 32-bit ARM port of UEFI, I noticed a strange corruption in the kernel log. The following snprintf() statement (in drivers/firmware/efi/efi.c:efi_md_typeattr_format()) snprintf(pos, size, "|%3s|%2s|%2s|%2s|%3s|%2s|%2s|%2s|%2s]", was producing the following output in the log: | | | | | |WB|WT|WC|UC] | | | | | |WB|WT|WC|UC] | | | | | |WB|WT|WC|UC] |RUN| | | | |WB|WT|WC|UC]* |RUN| | | | |WB|WT|WC|UC]* | | | | | |WB|WT|WC|UC] |RUN| | | | |WB|WT|WC|UC]* | | | | | |WB|WT|WC|UC] |RUN| | | | | | | |UC] |RUN| | | | | | | |UC] As it turns out, this is caused by incorrect code being emitted for the string() function in lib/vsprintf.c. The following code if (!(spec.flags & LEFT)) { while (len < spec.field_width--) { if (buf < end) *buf = ' '; ++buf; } } for (i = 0; i < len; ++i) { if (buf < end) *buf = *s; ++buf; ++s; } while (len < spec.field_width--) { if (buf < end) *buf = ' '; ++buf; } when called with len == 0, triggers an issue in the GCC SRA optimization pass (Scalar Replacement of Aggregates), which handles promotion of signed struct members incorrectly. This is a known but as yet unresolved issue. (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65932). In this particular case, it is causing the second while loop to be executed erroneously a single time, causing the additional space characters to be printed. So disable the optimization by passing -fno-ipa-sra. Cc: <stable@vger.kernel.org> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> (cherry picked from commit a077224fd35b2f7fbc93f14cf67074fc792fbac2)
2016-03-21tegra3_clocks.c: fix unusual comparisionMax Krummenacher
newer compilers throw the following error: tegra3_clocks.c:820:31: error: logical not is only applied to the left hand side of comparison [-Werror=logical-not-parentheses] | c->state = (!is_lp_cluster() == (c->u.cpu.mode == MODE_G))? ON : OFF; | ^ Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2016-03-21Input: sentelic - use "static inline" instead of "inline"Khem Raj
gcc-5 defaults to gnu11 which used c99 inline semantics in c99 'inline' is not externally visible unlike gnu89, therefore we use 'static inline' which has same semantics between gnu89 and c99 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> (cherry picked from commit bde304575f3ecaa9570a9329196dffaadf3adafa)
2016-03-21Input: lifebook - use "static inline" instead of "inline" in lifebook.hChen Gang
For functions defined in header files we should use static inline rather than inline, which breaks under the latest upstream gcc (which is really gcc issue, but static inline is better suited regardless). The related error (with allmodconfig under tile): MODPOST 4002 modules ERROR: "lifebook_detect" [drivers/input/mouse/psmouse.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> (cherry picked from commit bd447b61c49fc26f0299587db3e6d66da49dc529)
2016-03-21kernel: add support for gcc 5Sasha Levin
We're missing include/linux/compiler-gcc5.h which is required now because gcc branched off to v5 in trunk. Just copy the relevant bits out of include/linux/compiler-gcc4.h, no new code is added as of now. This fixes a build error when using gcc 5. Signed-off-by: Sasha Levin <sasha.levin@oracle.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> (cherry picked from commit 71458cfc782eafe4b27656e078d379a34e472adf)
2016-03-21ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.hBehan Webster
With compilers which follow the C99 standard (like modern versions of gcc and clang), "extern inline" does the wrong thing (emits code for an externally linkable version of the inline function). In this case using static inline and removing the NULL version of return_address in return_address.c does the right thing. Signed-off-by: Behan Webster <behanw@converseincode.com> Reviewed-by: Mark Charlebois <charlebm@gmail.com> Acked-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> (cherry picked from commit aeea3592a13bf12861943e44fc48f1f270941f8d)
2016-03-21bcma: use static keyword for inline function declaration in bcma.hArend van Spriel
Just scratching an itch here, but it makes more sense to use the static keyword if you think about how the compiler treats inline functions. Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Reviewed-by: Alwin Beukers <alwin@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: Franky Lin <frankyl@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com> (cherry picked from commit 084455524f0d46dd210b4397898aff73579b97e8)
2016-03-21apalis/colibri_t20/t30: synchronize USB serial optionsStefan Agner
Compile USB device classes such as WDM and CDC ACM as modules. Enable USB driver for GSM and CDMA modems (Option and others). Also enable USB serial console option which allows to use a USB serial device as a serial console at boot time. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2016-03-21apalis_t30: ixora: optionally support leds, switch, foff and wdisableMarcel Ziswiler
The Ixora carrier board has a few MXM3 pins repurposed as follows: Functionality MXM3 Pin LED4_RED 146 LED4_GREEN 162 LED5_RED 156 LED5_GREEN 152 PCIE1_WDISABLE_N 144 SW3 160 UART2_3_RS232_FOFF_N 164 This patch allows uncommenting an IXORA define in the board header file in order to make use of those repurposed pins. Please note that those pins are usually used for the 8-bit MMC/SD slot aka Apalis MMC1 and the SDHCI controller/driver unfortunately changes the output driver behaviour in a way preventing any regular GPIO use. This patch therefore explicitly does not register the SDHCI driver on this controller instance in the Ixora case to avoid this. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2015-12-15colibri_t20/t30: add as0260 camera platform dataColibri_T30_LinuxImageV2.5Beta3_20151215Colibri_T20_LinuxImageV2.5Beta3_20151215Apalis_T30_LinuxImageV2.5Beta3_20151215Marcel Ziswiler
Add Aptina AS0260 camera platform data. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2015-12-15apalis/colibri_t20/t30: clean-up board filesMarcel Ziswiler
Purely cosmetic clean-up of board files by fixing indentation, re-ordering camera platform data, splitting lines longer than 80 characters etc. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2015-12-15colibri_t20: v4l2: adv7280 integrationBhuvanchandra DV
Integrate ADV7280 video decoder support. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-12-15colibri_t30: v4l2: adv7280 integrationBhuvanchandra DV
Integrate ADV7280 video decoder support. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-12-15apalis/colibri_t20/t30: Add multitouch HID supportStefan Agner
Signed-off-by: Stefan Agner <stefan.agner@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com>
2015-11-24apalis/colibri_t20/t30: Enable RTL8192CU driverBhuvanchandra DV
Enable RTL8192CU driver to support LM006 USB WiFi adapter. Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
2015-11-06timeconst.pl: Eliminate Perl warningColibri_T30_LinuxImageV2.5Beta2_20151106Colibri_T20_LinuxImageV2.5Beta2_20151106Apalis_T30_LinuxImageV2.5Beta2_20151106H. Peter Anvin
defined(@array) is deprecated in Perl and gives off a warning. Restructure the code to remove that warning. [ hpa: it would be interesting to revert to the timeconst.bc script. It appears that the failures reported by akpm during testing of that script was due to a known broken version of make, not a problem with bc. The Makefile rules could probably be restructured to avoid the make bug, or it is probably old enough that it doesn't matter. ] Reported-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: <stable@vger.kernel.org> (cherry picked from commit 63a3f603413ffe82ad775f2d62a5afff87fd94a0) Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-11-06Revert "apalis_t30: Make audio and leds-pwm platform devices dependent on ↵Marcel Ziswiler
kconfig symbols" This reverts commit 0b206b99b8b7c27e70fb91bc13e2255cb0cfeb28. Unfortunately there is no CONFIG_AUDIO_SGTL5000_TEGRA! Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
2015-11-02Various Tegra HS UART backportsMitja Spes
Various Tegra HS UART backports Signed-off-by: Mitja Spes <mitja@lxnav.com>
2015-11-02Fix HS UART HW buffer overrun issueMitja Spes
Fix HS UART HW buffer overrun issue when using no flow control Signed-off-by: Mitja Spes <mitja@lxnav.com>
2015-11-02input: touchscreen: fusion: implement multitouch with slot handlingStefan Agner
According to multi-touch-protocol.txt the kernel knows two type of devices: - Type A: devices which provide anonymous contacts - Type B: devices which are capable of tracking individual contacts The Fusion touch screen is a Type B device: The Touch ID field allows to differentiate between 2 different fingers. This updates the driver to properly allocate a slot for each identified contact and use the helper functions available from the input core system. (cherry picked from commit 698d0a9bb80d94adef58122717c61f55dd61e22d)
2015-11-02input: touchscreen: fusion: use level triggered interruptStefan Agner
Use level triggered interrupt which makes sure that even we miss a rising edge (due to latencies in the kernel), the interrupt still will be handled later, and doesn't freeze the input device. (cherry picked from commit ef25b8a9f9c0ca7cc0f0f955d89d112c3e19f75b)
2015-10-23colibri_t30: fix usb host device detection with colibri otg driverMarcel Ziswiler
Turns out the Tegra 3 USB PHY driver had some hard coded dependency on the Tegra OTG driver but we usually just use our own OTG driver purely relying on a cable detect GPIO to determine USB device vs. host role.
2015-10-23apalis_t30: Make audio and leds-pwm platform devices dependent on kconfig ↵Tobias Klauser
symbols Signed-off-by: Tobias Klauser <tobias.klauser@zhinst.com>
2015-10-23usb: gadget: android: Use strlcpy instead of sscanf to get string attributesTobias Klauser
sscanf() stops at first space it encounters, thus spaces are not represented i.e. in iManufacturer or iProduct. Fix this by using strlcpy for string attributes. [ZI: Backported from upstream android gadget driver] Signed-off-by: Tobias Klauser <tobias.klauser@zhinst.com>
2015-10-14mmc: core: Disable HPI for certain Hynix eMMC cardsMarcel Ziswiler
Certain Hynix eMMC 4.41 cards might get broken when HPI feature is used and hence this patch disables the HPI feature for such buggy cards. As some of the other features like BKOPs/Cache/Sanitize are dependent on HPI feature, those features would also get disabled if HPI is disabled. Change-Id: I6a638ce089cbd977122e47aecb721bc3f0adf7b0 Signed-off-by: Pratibhasagar V <pratibha@codeaurora.org> Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org> Fix ported from the following Android MSM kernel commit: https://www.codeaurora.org/cgit/quic/la/kernel/msm/commit/?id=84af3731019921a28d595dbf6cbf00539706a42c
2015-10-11mmc: sdhci: handle busy-end interrupt during commandChanho Min
It is fully legal for a controller to start handling busy-end interrupt before it has signaled that the command has completed. So make sure we do things in the proper order, Or it results that command interrupt is ignored so it can cause unexpected operations. This is founded at some toshiba emmc with the bellow warning. "mmc0: Got command interrupt 0x00000001 even though no command operation was in progress." This issue has been also reported by Youssef TRIKI: It is not specific to Toshiba devices, and happens with eMMC devices as well as SD card which support Auto-CMD12 rather than CMD23. Also, similar patch is submitted by: Gwendal Grignou <gwendal@chromium.org> Changes since v1: Fixed conflict with the next of git.linaro.org/people/ulf.hansson/mmc.git and Tested if issue is fixed again. Signed-off-by: Hankyung Yu <hankyung.yu@lge.com> Signed-off-by: Chanho Min <chanho.min@lge.com> Tested-by: Youssef TRIKI <youssef.triki@st.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit e99783a45220a2c5f5a598e0e81213ecf2dbcf2f)
2015-10-11sdhci : handle busy timeout irqMatthieu CASTET
When we wait for busy after sending a command, if there is a timeout, we got SDHCI_INT_DATA_TIMEOUT flags. Before this commit we got the message : "Got data interrupt 0x00100000 even though no data operation was in progress." and we need to wait 10s that sdhci_timeout_timer expires. Signed-off-by: Matthieu CASTET <matthieu.castet@parrot.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> (cherry picked from commit c5abd5e8998e20c2e82999670a03f26f1437d744)
2015-10-11mmc: sdhci: clean up sdio interrupt enable handlingRussell King
We don't need to change the SDHCI_SDIO_IRQ_ENABLED flag when we're merely receiving an interrupt - IRQ handling thread in the MMC core will either re-enable or disable the interrupt via the enable_sdio_irq callback, which will update this status appropriately. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Tested-by: Markus Pargmann <mpa@pengutronix.de> Tested-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Chris Ball <chris@printf.net> (cherry picked from commit ef104333a234f66cd13fd16632086a21b90fced6)