Re: [PATCH] Remove myself as qcom maintainer
I no longer regularly work on this platform, and only have a few increasingly outdated boards. Andy has primarily been doing the maintenance. Signed-off-by: David Brown --- Resending this, hopefully with text=flowed not set in the email headers. MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 57f496cff999..27df8f46a283 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2050,7 +2050,6 @@ S:Maintained ARM/QUALCOMM SUPPORT M: Andy Gross -M: David Brown L: linux-arm-...@vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/soc/qcom/ -- 2.21.0
[PATCH] Remove myself as qcom maintainer
I no longer regularly work on this platform, and only have a few increasingly outdated boards. Andy has primarily been doing the maintenance. Signed-off-by: David Brown --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 57f496cff999..27df8f46a283 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2050,7 +2050,6 @@ S:Maintained ARM/QUALCOMM SUPPORT M: Andy Gross -M: David Brown L: linux-arm-...@vger.kernel.org S: Maintained F: Documentation/devicetree/bindings/soc/qcom/ -- 2.21.0
[PATCH] usb: storage: Remove outdated URL from MAINTAINERS
This website hasn't worked for quite some time. Signed-off-by: David Brown Cc: Matt Dharm --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index 82ad0eabce4f..0dbba14128e4 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -14142,7 +14142,6 @@ M: Alan Stern L: linux-...@vger.kernel.org L: usb-stor...@lists.one-eyed-alien.net S: Maintained -W: http://www.one-eyed-alien.net/~mdharm/linux-usb/ F: drivers/usb/storage/ USB MIDI DRIVER -- 2.19.2
Re: [PATCH] x86/xen: Remove use of VLAs
On Fri, Apr 13, 2018 at 03:11:46PM -0700, Laura Abbott wrote: There's an ongoing effort to remove VLAs[1] from the kernel to eventually turn on -Wvla. The few VLAs in use have an upper bound based on a size of 64K. This doesn't produce an excessively large stack so just switch the upper bound. [1] https://lkml.org/lkml/2018/3/7/621 This comment is more in regards to many of these patches, and not as much this one specifically. How confident are we in the upper bounds we're setting, and how obvious is it in the resulting code so that something does later change to overflow these bounds. The danger here is that we're converting something a little easier to detect (a stack overflow), with something harder to detect (overflowing an array on the stack). I guess the question is twofold: how did you determine that 64K was the largest 'size' value, and how should reviewers verify this as well. Perhaps this should at least be in the commit text so someone tracking down something with this code can find it later. David
Re: [PATCH] x86/xen: Remove use of VLAs
On Fri, Apr 13, 2018 at 03:11:46PM -0700, Laura Abbott wrote: There's an ongoing effort to remove VLAs[1] from the kernel to eventually turn on -Wvla. The few VLAs in use have an upper bound based on a size of 64K. This doesn't produce an excessively large stack so just switch the upper bound. [1] https://lkml.org/lkml/2018/3/7/621 This comment is more in regards to many of these patches, and not as much this one specifically. How confident are we in the upper bounds we're setting, and how obvious is it in the resulting code so that something does later change to overflow these bounds. The danger here is that we're converting something a little easier to detect (a stack overflow), with something harder to detect (overflowing an array on the stack). I guess the question is twofold: how did you determine that 64K was the largest 'size' value, and how should reviewers verify this as well. Perhaps this should at least be in the commit text so someone tracking down something with this code can find it later. David
Re: [PATCH 6/6] MAINTAINERS: Update ARM/QUALCOMM SUPPORT patterns
On Sun, Jan 28, 2018 at 05:56:29AM -0800, Joe Perches wrote: commit 321737416c72d ("tty: serial: msm: Move header file into driver") removed the .h file, update the patterns. Signed-off-by: Joe Perches <j...@perches.com> cc: Stephen Boyd <sb...@codeaurora.org> cc: Andy Gross <andy.gr...@linaro.org> cc: David Brown <david.br...@linaro.org> --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) Acked-by: David Brown <david.br...@linaro.org>
Re: [PATCH 6/6] MAINTAINERS: Update ARM/QUALCOMM SUPPORT patterns
On Sun, Jan 28, 2018 at 05:56:29AM -0800, Joe Perches wrote: commit 321737416c72d ("tty: serial: msm: Move header file into driver") removed the .h file, update the patterns. Signed-off-by: Joe Perches cc: Stephen Boyd cc: Andy Gross cc: David Brown --- MAINTAINERS | 1 - 1 file changed, 1 deletion(-) Acked-by: David Brown
Re: [kernel-hardening] Re: [PATCH v2 1/3] Add the latent_entropy gcc plugin
On Fri, Jun 03, 2016 at 07:42:52PM +0200, Emese Revfy wrote: On Wed, 1 Jun 2016 12:42:27 -0700 Andrew Mortonwrote: On Tue, 31 May 2016 01:31:45 +0200 Emese Revfy wrote: > This plugin mitigates the problem of the kernel having too little entropy during > and after boot for generating crypto keys. > > It creates a local variable in every marked function. The value of this variable is > modified by randomly chosen operations (add, xor and rol) and > random values (gcc generates them at compile time and the stack pointer at runtime). > It depends on the control flow (e.g., loops, conditions). > > Before the function returns the plugin writes this local variable > into the latent_entropy global variable. The value of this global variable is > added to the kernel entropy pool in do_one_initcall() and _do_fork(). I don't think I'm really understanding. Won't this produce the same value on each and every boot? No, because of interrupts and intentional data races. Wouldn't that result in the value having one of a small number of values, then? Even if it was just one of thousands or millions of values, it would make the search space quite small. David
Re: [kernel-hardening] Re: [PATCH v2 1/3] Add the latent_entropy gcc plugin
On Fri, Jun 03, 2016 at 07:42:52PM +0200, Emese Revfy wrote: On Wed, 1 Jun 2016 12:42:27 -0700 Andrew Morton wrote: On Tue, 31 May 2016 01:31:45 +0200 Emese Revfy wrote: > This plugin mitigates the problem of the kernel having too little entropy during > and after boot for generating crypto keys. > > It creates a local variable in every marked function. The value of this variable is > modified by randomly chosen operations (add, xor and rol) and > random values (gcc generates them at compile time and the stack pointer at runtime). > It depends on the control flow (e.g., loops, conditions). > > Before the function returns the plugin writes this local variable > into the latent_entropy global variable. The value of this global variable is > added to the kernel entropy pool in do_one_initcall() and _do_fork(). I don't think I'm really understanding. Won't this produce the same value on each and every boot? No, because of interrupts and intentional data races. Wouldn't that result in the value having one of a small number of values, then? Even if it was just one of thousands or millions of values, it would make the search space quite small. David
Re: [PATCH v6 0/6] Introduce GCC plugin infrastructure
On Tue, Apr 12, 2016 at 11:27:52AM -0700, Kees Cook wrote: Awesome! Thanks for testing this. I still need to finish getting my arm64 environment built... I've been using: http://releases.linaro.org/components/toolchain/binaries/ for most stuff. Do you happen to know if there's already a gcc bug open for the make install problem? Linaro toolchain bug: https://bugs.linaro.org/show_bug.cgi?id=2123 Patch to fix it https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00522.html It is supposed to be included in the linaro 5.3-2016.03 snapshot. I've pinged Christophe to see if I can get any insight into when that will be available. It is kind of nice to see that when it fails, it prints a helpful message, though: scripts/Makefile.gcc-plugins:22: *** error, your gcc installation does not support plugins, perhaps the necessary headers are missing?. Stop. I think it is OK to include this, even with the patches still bubbling through gcc releases. It prints a helpful message when it doesn't work, and is only going to be selected if specifically requested. David
Re: [PATCH v6 0/6] Introduce GCC plugin infrastructure
On Tue, Apr 12, 2016 at 11:27:52AM -0700, Kees Cook wrote: Awesome! Thanks for testing this. I still need to finish getting my arm64 environment built... I've been using: http://releases.linaro.org/components/toolchain/binaries/ for most stuff. Do you happen to know if there's already a gcc bug open for the make install problem? Linaro toolchain bug: https://bugs.linaro.org/show_bug.cgi?id=2123 Patch to fix it https://gcc.gnu.org/ml/gcc-patches/2016-03/msg00522.html It is supposed to be included in the linaro 5.3-2016.03 snapshot. I've pinged Christophe to see if I can get any insight into when that will be available. It is kind of nice to see that when it fails, it prints a helpful message, though: scripts/Makefile.gcc-plugins:22: *** error, your gcc installation does not support plugins, perhaps the necessary headers are missing?. Stop. I think it is OK to include this, even with the patches still bubbling through gcc releases. It prints a helpful message when it doesn't work, and is only going to be selected if specifically requested. David
Re: [PATCH v6 0/6] Introduce GCC plugin infrastructure
On Thu, Apr 07, 2016 at 11:10:23PM +0200, Emese Revfy wrote: This patch set introduce the GCC plugin infrastructure with examples for testing and documentation. GCC plugins are loadable modules that provide extra features to the compiler. They are useful for runtime instrumentation and static analysis. The infrastructure supports all gcc versions from 4.5 to 6.0, building out-of-tree modules and building in a separate directory. Cross-compilation is supported too but currently only the x86, arm and arm64 architectures enables plugins. This infrastructure was ported from grsecurity/PaX. It is a CII project supported by the Linux Foundation. Emese Revfy (6): Shared library support GCC plugin infrastructure The GCC plugin infrastructure supports the arm and arm64 architectures too Add Cyclomatic complexity plugin Documentations of the GCC plugin infrastructre Add sancov plugin I've tested the v6 patches on arm, and partially on arm64. The arm64 gcc has a bug in make install that doesn't install all necessary headers to build plugins. I believe the patch will work once that version gets out. It does, however, print a helpful message now explaining the likely cause of the failure. Tested-by: David Brown <david.br...@linaro.org>
Re: [PATCH v6 0/6] Introduce GCC plugin infrastructure
On Thu, Apr 07, 2016 at 11:10:23PM +0200, Emese Revfy wrote: This patch set introduce the GCC plugin infrastructure with examples for testing and documentation. GCC plugins are loadable modules that provide extra features to the compiler. They are useful for runtime instrumentation and static analysis. The infrastructure supports all gcc versions from 4.5 to 6.0, building out-of-tree modules and building in a separate directory. Cross-compilation is supported too but currently only the x86, arm and arm64 architectures enables plugins. This infrastructure was ported from grsecurity/PaX. It is a CII project supported by the Linux Foundation. Emese Revfy (6): Shared library support GCC plugin infrastructure The GCC plugin infrastructure supports the arm and arm64 architectures too Add Cyclomatic complexity plugin Documentations of the GCC plugin infrastructre Add sancov plugin I've tested the v6 patches on arm, and partially on arm64. The arm64 gcc has a bug in make install that doesn't install all necessary headers to build plugins. I believe the patch will work once that version gets out. It does, however, print a helpful message now explaining the likely cause of the failure. Tested-by: David Brown
Re: [kernel-hardening] [PATCH v5 2/5] GCC plugin infrastructure
On Mon, Mar 07, 2016 at 12:04:27AM +0100, Emese Revfy wrote: This patch allows to build the whole kernel with GCC plugins. It was ported from grsecurity/PaX. The infrastructure supports building out-of-tree modules and building in a separate directory. Cross-compilation is supported too but currently only the x86 architecture enables plugins. I've tested this with both ARM and ARM64. There are some missing headers in the arm64 gcc, reported here: https://bugs.linaro.org/show_bug.cgi?id=2123 (also upstream), but this should work once that is fixed. Feel free to fold these into your patch, or, if you prefer, I can send out separate patches for them. Signed-off-by: David Brown <david.br...@linaro.org> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4f799e5..67ee8e3 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -54,6 +54,7 @@ config ARM select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL) select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) select HAVE_GENERIC_DMA_COHERENT + select HAVE_GCC_PLUGINS select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)) select HAVE_IDE if PCI || ISA || PCMCIA select HAVE_IRQ_TIME_ACCOUNTING diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 8cc6228..6d6e4f8 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -70,6 +70,7 @@ config ARM64 select HAVE_FTRACE_MCOUNT_RECORD select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_GRAPH_TRACER + select HAVE_GCC_PLUGINS select HAVE_GENERIC_DMA_COHERENT select HAVE_HW_BREAKPOINT if PERF_EVENTS select HAVE_IRQ_TIME_ACCOUNTING --
Re: [kernel-hardening] [PATCH v5 2/5] GCC plugin infrastructure
On Mon, Mar 07, 2016 at 12:04:27AM +0100, Emese Revfy wrote: This patch allows to build the whole kernel with GCC plugins. It was ported from grsecurity/PaX. The infrastructure supports building out-of-tree modules and building in a separate directory. Cross-compilation is supported too but currently only the x86 architecture enables plugins. I've tested this with both ARM and ARM64. There are some missing headers in the arm64 gcc, reported here: https://bugs.linaro.org/show_bug.cgi?id=2123 (also upstream), but this should work once that is fixed. Feel free to fold these into your patch, or, if you prefer, I can send out separate patches for them. Signed-off-by: David Brown diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 4f799e5..67ee8e3 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -54,6 +54,7 @@ config ARM select HAVE_FUNCTION_GRAPH_TRACER if (!THUMB2_KERNEL) select HAVE_FUNCTION_TRACER if (!XIP_KERNEL) select HAVE_GENERIC_DMA_COHERENT + select HAVE_GCC_PLUGINS select HAVE_HW_BREAKPOINT if (PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)) select HAVE_IDE if PCI || ISA || PCMCIA select HAVE_IRQ_TIME_ACCOUNTING diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 8cc6228..6d6e4f8 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -70,6 +70,7 @@ config ARM64 select HAVE_FTRACE_MCOUNT_RECORD select HAVE_FUNCTION_TRACER select HAVE_FUNCTION_GRAPH_TRACER + select HAVE_GCC_PLUGINS select HAVE_GENERIC_DMA_COHERENT select HAVE_HW_BREAKPOINT if PERF_EVENTS select HAVE_IRQ_TIME_ACCOUNTING --
Re: [kernel-hardening] Re: [PATCH] lkdtm: add test for executing .rodata
On Mon, Feb 22, 2016 at 12:46:28PM -0800, Kees Cook wrote: On Thu, Feb 18, 2016 at 1:27 PM, PaX Teamwrote: On 18 Feb 2016 at 12:34, Ard Biesheuvel wrote: However, that does not fix the issue Kees is trying to solve, where a .rodata section is emitted with the "x" bit set, which causes the linker to complain: /tmp/cc50ffWw.s: Assembler messages: /tmp/cc50ffWw.s:2: Warning: setting incorrect section attributes for .rodata.text in that case why not use a top-level asm statement to set the section and its attributes (and compile the file with fno-toplevel-reorder)? GCC really wants to declare the section. :( Why not then just use its mechanism to set the section on the code? static void do_nothing_rodata(void) __attribute__((section(".rodata"))) { return; } David
Re: [kernel-hardening] Re: [PATCH] lkdtm: add test for executing .rodata
On Mon, Feb 22, 2016 at 12:46:28PM -0800, Kees Cook wrote: On Thu, Feb 18, 2016 at 1:27 PM, PaX Team wrote: On 18 Feb 2016 at 12:34, Ard Biesheuvel wrote: However, that does not fix the issue Kees is trying to solve, where a .rodata section is emitted with the "x" bit set, which causes the linker to complain: /tmp/cc50ffWw.s: Assembler messages: /tmp/cc50ffWw.s:2: Warning: setting incorrect section attributes for .rodata.text in that case why not use a top-level asm statement to set the section and its attributes (and compile the file with fno-toplevel-reorder)? GCC really wants to declare the section. :( Why not then just use its mechanism to set the section on the code? static void do_nothing_rodata(void) __attribute__((section(".rodata"))) { return; } David
[tip:mm/readonly] ARM/vdso: Mark the vDSO code read-only after init
Commit-ID: 11bf9b865898961cee60a41c483c9f27ec76e12e Gitweb: http://git.kernel.org/tip/11bf9b865898961cee60a41c483c9f27ec76e12e Author: David Brown <david.br...@linaro.org> AuthorDate: Wed, 17 Feb 2016 14:41:18 -0800 Committer: Ingo Molnar <mi...@kernel.org> CommitDate: Mon, 22 Feb 2016 08:51:39 +0100 ARM/vdso: Mark the vDSO code read-only after init Although the ARM vDSO is cleanly separated by code/data with the code being read-only in userspace mappings, the code page is still writable from the kernel. There have been exploits (such as http://itszn.com/blog/?p=21) that take advantage of this on x86 to go from a bad kernel write to full root. Prevent this specific exploit class on ARM as well by putting the vDSO code page in post-init read-only memory as well. Before: vdso: 1 text pages at base 80927000 root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables ---[ Modules ]--- ---[ Kernel Mapping ]--- 0x8000-0x8010 1M RW NX SHD 0x8010-0x8060 5M ro x SHD 0x8060-0x8080 2M ro NX SHD 0x8080-0xbe00 984M RW NX SHD After: vdso: 1 text pages at base 8072b000 root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables ---[ Modules ]--- ---[ Kernel Mapping ]--- 0x8000-0x8010 1M RW NX SHD 0x8010-0x8060 5M ro x SHD 0x8060-0x8080 2M ro NX SHD 0x8080-0xbe00 984M RW NX SHD Inspired by https://lkml.org/lkml/2016/1/19/494 based on work by the PaX Team, Brad Spengler, and Kees Cook. Signed-off-by: David Brown <david.br...@linaro.org> Signed-off-by: Kees Cook <keesc...@chromium.org> Cc: Andy Lutomirski <l...@amacapital.net> Cc: Arnd Bergmann <a...@arndb.de> Cc: Borislav Petkov <b...@alien8.de> Cc: Brad Spengler <spen...@grsecurity.net> Cc: Brian Gerst <brge...@gmail.com> Cc: Denys Vlasenko <dvlas...@redhat.com> Cc: Emese Revfy <re.em...@gmail.com> Cc: H. Peter Anvin <h...@zytor.com> Cc: Linus Torvalds <torva...@linux-foundation.org> Cc: Mathias Krause <mini...@googlemail.com> Cc: Michael Ellerman <m...@ellerman.id.au> Cc: Nathan Lynch <nathan_ly...@mentor.com> Cc: PaX Team <pagee...@freemail.hu> Cc: Peter Zijlstra <pet...@infradead.org> Cc: Russell King <li...@arm.linux.org.uk> Cc: Thomas Gleixner <t...@linutronix.de> Cc: kernel-harden...@lists.openwall.com Cc: linux-arch <linux-a...@vger.kernel.org> Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Link: http://lkml.kernel.org/r/1455748879-21872-8-git-send-email-keesc...@chromium.org Signed-off-by: Ingo Molnar <mi...@kernel.org> --- arch/arm/vdso/vdso.S | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/arm/vdso/vdso.S b/arch/arm/vdso/vdso.S index b2b97e3..a62a7b6 100644 --- a/arch/arm/vdso/vdso.S +++ b/arch/arm/vdso/vdso.S @@ -23,9 +23,8 @@ #include #include - __PAGE_ALIGNED_DATA - .globl vdso_start, vdso_end + .section .data..ro_after_init .balign PAGE_SIZE vdso_start: .incbin "arch/arm/vdso/vdso.so"
[tip:mm/readonly] ARM/vdso: Mark the vDSO code read-only after init
Commit-ID: 11bf9b865898961cee60a41c483c9f27ec76e12e Gitweb: http://git.kernel.org/tip/11bf9b865898961cee60a41c483c9f27ec76e12e Author: David Brown AuthorDate: Wed, 17 Feb 2016 14:41:18 -0800 Committer: Ingo Molnar CommitDate: Mon, 22 Feb 2016 08:51:39 +0100 ARM/vdso: Mark the vDSO code read-only after init Although the ARM vDSO is cleanly separated by code/data with the code being read-only in userspace mappings, the code page is still writable from the kernel. There have been exploits (such as http://itszn.com/blog/?p=21) that take advantage of this on x86 to go from a bad kernel write to full root. Prevent this specific exploit class on ARM as well by putting the vDSO code page in post-init read-only memory as well. Before: vdso: 1 text pages at base 80927000 root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables ---[ Modules ]--- ---[ Kernel Mapping ]--- 0x8000-0x8010 1M RW NX SHD 0x8010-0x8060 5M ro x SHD 0x8060-0x8080 2M ro NX SHD 0x8080-0xbe00 984M RW NX SHD After: vdso: 1 text pages at base 8072b000 root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables ---[ Modules ]--- ---[ Kernel Mapping ]--- 0x8000-0x8010 1M RW NX SHD 0x8010-0x8060 5M ro x SHD 0x8060-0x8080 2M ro NX SHD 0x8080-0xbe00 984M RW NX SHD Inspired by https://lkml.org/lkml/2016/1/19/494 based on work by the PaX Team, Brad Spengler, and Kees Cook. Signed-off-by: David Brown Signed-off-by: Kees Cook Cc: Andy Lutomirski Cc: Arnd Bergmann Cc: Borislav Petkov Cc: Brad Spengler Cc: Brian Gerst Cc: Denys Vlasenko Cc: Emese Revfy Cc: H. Peter Anvin Cc: Linus Torvalds Cc: Mathias Krause Cc: Michael Ellerman Cc: Nathan Lynch Cc: PaX Team Cc: Peter Zijlstra Cc: Russell King Cc: Thomas Gleixner Cc: kernel-harden...@lists.openwall.com Cc: linux-arch Cc: linux-arm-ker...@lists.infradead.org Cc: linux-kernel@vger.kernel.org Link: http://lkml.kernel.org/r/1455748879-21872-8-git-send-email-keesc...@chromium.org Signed-off-by: Ingo Molnar --- arch/arm/vdso/vdso.S | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/arm/vdso/vdso.S b/arch/arm/vdso/vdso.S index b2b97e3..a62a7b6 100644 --- a/arch/arm/vdso/vdso.S +++ b/arch/arm/vdso/vdso.S @@ -23,9 +23,8 @@ #include #include - __PAGE_ALIGNED_DATA - .globl vdso_start, vdso_end + .section .data..ro_after_init .balign PAGE_SIZE vdso_start: .incbin "arch/arm/vdso/vdso.so"
Re: [PATCH] ARM: vdso: Mark vDSO code as read-only
On Wed, Feb 17, 2016 at 03:00:52PM -0800, Kees Cook wrote: On Tue, Feb 16, 2016 at 9:20 PM, David Brown <david.br...@linaro.org> wrote: On Tue, Feb 16, 2016 at 01:52:33PM -0800, Kees Cook wrote: On Tue, Feb 16, 2016 at 1:36 PM, David Brown <david.br...@linaro.org> wrote: Although the arm vDSO is cleanly separated by code/data with the code being read-only in userspace mappings, the code page is still writable from the kernel. There have been exploits (such as http://itszn.com/blog/?p=21) that take advantage of this on x86 to go from a bad kernel write to full root. Prevent this specific exploit on arm by putting the vDSO code page in post-init read-only memory as well. Is the vdso dynamically built at init time like on x86, or can this just use .rodata directly? On ARM, it is patched during init. Arm64's is just plain read-only. Okay, great. I've added this to my postinit-readonly series (which I just refreshed and sent out again...) However, this distinction between .rodata and .data..ro_after_init is kind of fuzzy, anyway, since they both get made actually read-only at the same time (post init). The patch actually does work fine with the vDSO page in .rodata, since the patching happens during init. Is there a possible future consideration to perhaps make .rodata read only much earlier? David
Re: [PATCH] ARM: vdso: Mark vDSO code as read-only
On Wed, Feb 17, 2016 at 03:00:52PM -0800, Kees Cook wrote: On Tue, Feb 16, 2016 at 9:20 PM, David Brown wrote: On Tue, Feb 16, 2016 at 01:52:33PM -0800, Kees Cook wrote: On Tue, Feb 16, 2016 at 1:36 PM, David Brown wrote: Although the arm vDSO is cleanly separated by code/data with the code being read-only in userspace mappings, the code page is still writable from the kernel. There have been exploits (such as http://itszn.com/blog/?p=21) that take advantage of this on x86 to go from a bad kernel write to full root. Prevent this specific exploit on arm by putting the vDSO code page in post-init read-only memory as well. Is the vdso dynamically built at init time like on x86, or can this just use .rodata directly? On ARM, it is patched during init. Arm64's is just plain read-only. Okay, great. I've added this to my postinit-readonly series (which I just refreshed and sent out again...) However, this distinction between .rodata and .data..ro_after_init is kind of fuzzy, anyway, since they both get made actually read-only at the same time (post init). The patch actually does work fine with the vDSO page in .rodata, since the patching happens during init. Is there a possible future consideration to perhaps make .rodata read only much earlier? David
Re: [PATCH] ARM: vdso: Mark vDSO code as read-only
On Tue, Feb 16, 2016 at 01:52:33PM -0800, Kees Cook wrote: On Tue, Feb 16, 2016 at 1:36 PM, David Brown <david.br...@linaro.org> wrote: Although the arm vDSO is cleanly separated by code/data with the code being read-only in userspace mappings, the code page is still writable from the kernel. There have been exploits (such as http://itszn.com/blog/?p=21) that take advantage of this on x86 to go from a bad kernel write to full root. Prevent this specific exploit on arm by putting the vDSO code page in post-init read-only memory as well. Is the vdso dynamically built at init time like on x86, or can this just use .rodata directly? On ARM, it is patched during init. Arm64's is just plain read-only. David
Re: [PATCH] ARM: vdso: Mark vDSO code as read-only
On Tue, Feb 16, 2016 at 01:52:33PM -0800, Kees Cook wrote: On Tue, Feb 16, 2016 at 1:36 PM, David Brown wrote: Although the arm vDSO is cleanly separated by code/data with the code being read-only in userspace mappings, the code page is still writable from the kernel. There have been exploits (such as http://itszn.com/blog/?p=21) that take advantage of this on x86 to go from a bad kernel write to full root. Prevent this specific exploit on arm by putting the vDSO code page in post-init read-only memory as well. Is the vdso dynamically built at init time like on x86, or can this just use .rodata directly? On ARM, it is patched during init. Arm64's is just plain read-only. David
[PATCH] ARM: vdso: Mark vDSO code as read-only
Although the arm vDSO is cleanly separated by code/data with the code being read-only in userspace mappings, the code page is still writable from the kernel. There have been exploits (such as http://itszn.com/blog/?p=21) that take advantage of this on x86 to go from a bad kernel write to full root. Prevent this specific exploit on arm by putting the vDSO code page in post-init read-only memory as well. Before: vdso: 1 text pages at base 80927000 root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables ---[ Modules ]--- ---[ Kernel Mapping ]--- 0x8000-0x8010 1M RW NX SHD 0x8010-0x8060 5M ro x SHD 0x8060-0x8080 2M ro NX SHD 0x8080-0xbe00 984M RW NX SHD After: vdso: 1 text pages at base 8072b000 root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables ---[ Modules ]--- ---[ Kernel Mapping ]--- 0x8000-0x8010 1M RW NX SHD 0x8010-0x8060 5M ro x SHD 0x8060-0x8080 2M ro NX SHD 0x8080-0xbe00 984M RW NX SHD Inspired by https://lkml.org/lkml/2016/1/19/494 based on work by the PaX Team, Brad Spengler, and Kees Cook. Signed-off-by: David Brown <david.br...@linaro.org> --- This patch depends on Kees Cook's series https://lkml.org/lkml/2016/1/19/497 which adds the ro_after_init section. arch/arm/vdso/vdso.S | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/arm/vdso/vdso.S b/arch/arm/vdso/vdso.S index b2b97e3..a62a7b6 100644 --- a/arch/arm/vdso/vdso.S +++ b/arch/arm/vdso/vdso.S @@ -23,9 +23,8 @@ #include #include - __PAGE_ALIGNED_DATA - .globl vdso_start, vdso_end + .section .data..ro_after_init .balign PAGE_SIZE vdso_start: .incbin "arch/arm/vdso/vdso.so" -- 2.7.1
[PATCH] ARM: vdso: Mark vDSO code as read-only
Although the arm vDSO is cleanly separated by code/data with the code being read-only in userspace mappings, the code page is still writable from the kernel. There have been exploits (such as http://itszn.com/blog/?p=21) that take advantage of this on x86 to go from a bad kernel write to full root. Prevent this specific exploit on arm by putting the vDSO code page in post-init read-only memory as well. Before: vdso: 1 text pages at base 80927000 root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables ---[ Modules ]--- ---[ Kernel Mapping ]--- 0x8000-0x8010 1M RW NX SHD 0x8010-0x8060 5M ro x SHD 0x8060-0x8080 2M ro NX SHD 0x8080-0xbe00 984M RW NX SHD After: vdso: 1 text pages at base 8072b000 root@Vexpress:/ cat /sys/kernel/debug/kernel_page_tables ---[ Modules ]--- ---[ Kernel Mapping ]--- 0x8000-0x8010 1M RW NX SHD 0x8010-0x8060 5M ro x SHD 0x8060-0x8080 2M ro NX SHD 0x8080-0xbe00 984M RW NX SHD Inspired by https://lkml.org/lkml/2016/1/19/494 based on work by the PaX Team, Brad Spengler, and Kees Cook. Signed-off-by: David Brown --- This patch depends on Kees Cook's series https://lkml.org/lkml/2016/1/19/497 which adds the ro_after_init section. arch/arm/vdso/vdso.S | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/arm/vdso/vdso.S b/arch/arm/vdso/vdso.S index b2b97e3..a62a7b6 100644 --- a/arch/arm/vdso/vdso.S +++ b/arch/arm/vdso/vdso.S @@ -23,9 +23,8 @@ #include #include - __PAGE_ALIGNED_DATA - .globl vdso_start, vdso_end + .section .data..ro_after_init .balign PAGE_SIZE vdso_start: .incbin "arch/arm/vdso/vdso.so" -- 2.7.1
Re: [kernel-hardening] [PATCH] arm64: vdso: Mark vDSO code as read-only
On Thu, Feb 11, 2016 at 03:19:20PM +0100, Ard Biesheuvel wrote: diff --git a/arch/arm64/kernel/vdso/vdso.S b/arch/arm64/kernel/vdso/vdso.S index 60c1db5..db7c0f2 100644 --- a/arch/arm64/kernel/vdso/vdso.S +++ b/arch/arm64/kernel/vdso/vdso.S @@ -24,6 +24,7 @@ __PAGE_ALIGNED_DATA ^^ You can get rid of this now as well Can we? The page is getting mapped to userspace, and if we didn't page align it, we could leak kernel read-only data to every userspace process. David
Re: [kernel-hardening] [PATCH] arm64: vdso: Mark vDSO code as read-only
On Thu, Feb 11, 2016 at 03:19:20PM +0100, Ard Biesheuvel wrote: diff --git a/arch/arm64/kernel/vdso/vdso.S b/arch/arm64/kernel/vdso/vdso.S index 60c1db5..db7c0f2 100644 --- a/arch/arm64/kernel/vdso/vdso.S +++ b/arch/arm64/kernel/vdso/vdso.S @@ -24,6 +24,7 @@ __PAGE_ALIGNED_DATA ^^ You can get rid of this now as well Can we? The page is getting mapped to userspace, and if we didn't page align it, we could leak kernel read-only data to every userspace process. David
[PATCH] arm64: vdso: Mark vDSO code as read-only
Although the arm64 vDSO is cleanly separated by code/data with the code being read-only in userspace mappings, the code page is still writable from the kernel. There have been exploits (such as http://itszn.com/blog/?p=21) that take advantage of this on x86 to go from a bad kernel write to full root. Prevent this specific exploit on arm64 by putting the vDSO code page in read-only memory as well. Before the change: [3.138366] vdso: 2 pages (1 code @ ffc000a71000, 1 data @ ffc000a7) ---[ Kernel Mapping ]--- 0xffc0-0xffc82000 520K RW NX SHD AF UXN MEM/NORMAL 0xffc82000-0xffc000201528K ro x SHD AF UXN MEM/NORMAL 0xffc00020-0xffc00080 6M ro x SHD AFBLK UXN MEM/NORMAL 0xffc00080-0xffc0009b60001752K ro x SHD AF UXN MEM/NORMAL 0xffc0009b6000-0xffc000c02344K RW NX SHD AF UXN MEM/NORMAL 0xffc000c0-0xffc00800 116M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc00c00-0xffc07f001840M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc8-0xffc84000 1G RW NX SHD AFBLK UXN MEM/NORMAL 0xffc84000-0xffc87ae0 942M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc87ae0-0xffc87ae7 448K RW NX SHD AF UXN MEM/NORMAL 0xffc87af8-0xffc87af8a000 40K RW NX SHD AF UXN MEM/NORMAL 0xffc87af8b000-0xffc87b00 468K RW NX SHD AF UXN MEM/NORMAL 0xffc87b00-0xffc87fe0 78M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc87fe0-0xffc87ff51344K RW NX SHD AF UXN MEM/NORMAL 0xffc87ff9-0xffc87ffa 64K RW NX SHD AF UXN MEM/NORMAL 0xffc87fff-0xffc88000 64K RW NX SHD AF UXN MEM/NORMAL After: [3.138368] vdso: 2 pages (1 code @ ffc0006de000, 1 data @ ffc000a74000) ---[ Kernel Mapping ]--- 0xffc0-0xffc82000 520K RW NX SHD AF UXN MEM/NORMAL 0xffc82000-0xffc000201528K ro x SHD AF UXN MEM/NORMAL 0xffc00020-0xffc00080 6M ro x SHD AFBLK UXN MEM/NORMAL 0xffc00080-0xffc0009b80001760K ro x SHD AF UXN MEM/NORMAL 0xffc0009b8000-0xffc000c02336K RW NX SHD AF UXN MEM/NORMAL 0xffc000c0-0xffc00800 116M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc00c00-0xffc07f001840M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc8-0xffc84000 1G RW NX SHD AFBLK UXN MEM/NORMAL 0xffc84000-0xffc87ae0 942M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc87ae0-0xffc87ae7 448K RW NX SHD AF UXN MEM/NORMAL 0xffc87af8-0xffc87af8a000 40K RW NX SHD AF UXN MEM/NORMAL 0xffc87af8b000-0xffc87b00 468K RW NX SHD AF UXN MEM/NORMAL 0xffc87b00-0xffc87fe0 78M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc87fe0-0xffc87ff51344K RW NX SHD AF UXN MEM/NORMAL 0xffc87ff9-0xffc87ffa 64K RW NX SHD AF UXN MEM/NORMAL 0xffc87fff-0xffc88000 64K RW NX SHD AF UXN MEM/NORMAL Inspired by https://lkml.org/lkml/2016/1/19/494 based on work by the PaX Team, Brad Spengler, and Kees Cook. Signed-off-by: David Brown --- arch/arm64/kernel/vdso/vdso.S | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/kernel/vdso/vdso.S b/arch/arm64/kernel/vdso/vdso.S index 60c1db5..db7c0f2 100644 --- a/arch/arm64/kernel/vdso/vdso.S +++ b/arch/arm64/kernel/vdso/vdso.S @@ -24,6 +24,7 @@ __PAGE_ALIGNED_DATA .globl vdso_start, vdso_end + .section .rodata .balign PAGE_SIZE vdso_start: .incbin "arch/arm64/kernel/vdso/vdso.so" -- 2.7.1
[PATCH] arm64: vdso: Mark vDSO code as read-only
Although the arm64 vDSO is cleanly separated by code/data with the code being read-only in userspace mappings, the code page is still writable from the kernel. There have been exploits (such as http://itszn.com/blog/?p=21) that take advantage of this on x86 to go from a bad kernel write to full root. Prevent this specific exploit on arm64 by putting the vDSO code page in read-only memory as well. Before the change: [3.138366] vdso: 2 pages (1 code @ ffc000a71000, 1 data @ ffc000a7) ---[ Kernel Mapping ]--- 0xffc0-0xffc82000 520K RW NX SHD AF UXN MEM/NORMAL 0xffc82000-0xffc000201528K ro x SHD AF UXN MEM/NORMAL 0xffc00020-0xffc00080 6M ro x SHD AFBLK UXN MEM/NORMAL 0xffc00080-0xffc0009b60001752K ro x SHD AF UXN MEM/NORMAL 0xffc0009b6000-0xffc000c02344K RW NX SHD AF UXN MEM/NORMAL 0xffc000c0-0xffc00800 116M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc00c00-0xffc07f001840M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc8-0xffc84000 1G RW NX SHD AFBLK UXN MEM/NORMAL 0xffc84000-0xffc87ae0 942M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc87ae0-0xffc87ae7 448K RW NX SHD AF UXN MEM/NORMAL 0xffc87af8-0xffc87af8a000 40K RW NX SHD AF UXN MEM/NORMAL 0xffc87af8b000-0xffc87b00 468K RW NX SHD AF UXN MEM/NORMAL 0xffc87b00-0xffc87fe0 78M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc87fe0-0xffc87ff51344K RW NX SHD AF UXN MEM/NORMAL 0xffc87ff9-0xffc87ffa 64K RW NX SHD AF UXN MEM/NORMAL 0xffc87fff-0xffc88000 64K RW NX SHD AF UXN MEM/NORMAL After: [3.138368] vdso: 2 pages (1 code @ ffc0006de000, 1 data @ ffc000a74000) ---[ Kernel Mapping ]--- 0xffc0-0xffc82000 520K RW NX SHD AF UXN MEM/NORMAL 0xffc82000-0xffc000201528K ro x SHD AF UXN MEM/NORMAL 0xffc00020-0xffc00080 6M ro x SHD AFBLK UXN MEM/NORMAL 0xffc00080-0xffc0009b80001760K ro x SHD AF UXN MEM/NORMAL 0xffc0009b8000-0xffc000c02336K RW NX SHD AF UXN MEM/NORMAL 0xffc000c0-0xffc00800 116M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc00c00-0xffc07f001840M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc8-0xffc84000 1G RW NX SHD AFBLK UXN MEM/NORMAL 0xffc84000-0xffc87ae0 942M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc87ae0-0xffc87ae7 448K RW NX SHD AF UXN MEM/NORMAL 0xffc87af8-0xffc87af8a000 40K RW NX SHD AF UXN MEM/NORMAL 0xffc87af8b000-0xffc87b00 468K RW NX SHD AF UXN MEM/NORMAL 0xffc87b00-0xffc87fe0 78M RW NX SHD AFBLK UXN MEM/NORMAL 0xffc87fe0-0xffc87ff51344K RW NX SHD AF UXN MEM/NORMAL 0xffc87ff9-0xffc87ffa 64K RW NX SHD AF UXN MEM/NORMAL 0xffc87fff-0xffc88000 64K RW NX SHD AF UXN MEM/NORMAL Inspired by https://lkml.org/lkml/2016/1/19/494 based on work by the PaX Team, Brad Spengler, and Kees Cook. Signed-off-by: David Brown <david.br...@linaro.org> --- arch/arm64/kernel/vdso/vdso.S | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/kernel/vdso/vdso.S b/arch/arm64/kernel/vdso/vdso.S index 60c1db5..db7c0f2 100644 --- a/arch/arm64/kernel/vdso/vdso.S +++ b/arch/arm64/kernel/vdso/vdso.S @@ -24,6 +24,7 @@ __PAGE_ALIGNED_DATA .globl vdso_start, vdso_end + .section .rodata .balign PAGE_SIZE vdso_start: .incbin "arch/arm64/kernel/vdso/vdso.so" -- 2.7.1
[PATCH] arm64: make CONFIG_DEBUG_RODATA non-optional
From 2efef8aa0f8f7f6277ffebe4ea6744fc93d54644 Mon Sep 17 00:00:00 2001 From: David Brown Date: Wed, 27 Jan 2016 13:58:44 -0800 This removes the CONFIG_DEBUG_RODATA option and makes it always enabled. Signed-off-by: David Brown --- v1: This is in the same spirit as the x86 patch, removing allowing this option to be config selected. The associated patch series adds a runtime option for the same thing. However, it does affect the way some things are mapped, and could possibly result in either increased memory usage, or a performance hit (due to TLB misses from 4K pages). I've tested this on a Hikey 96board (hi6220-hikey.dtb), both with and without 'rodata=off' on the command line. arch/arm64/Kconfig | 3 +++ arch/arm64/Kconfig.debug| 10 -- arch/arm64/kernel/insn.c| 2 +- arch/arm64/kernel/vmlinux.lds.S | 5 + arch/arm64/mm/mmu.c | 12 5 files changed, 5 insertions(+), 27 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 8cc6228..ffa617a 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -201,6 +201,9 @@ config KERNEL_MODE_NEON config FIX_EARLYCON_MEM def_bool y +config DEBUG_RODATA + def_bool y + config PGTABLE_LEVELS int default 2 if ARM64_16K_PAGES && ARM64_VA_BITS_36 diff --git a/arch/arm64/Kconfig.debug b/arch/arm64/Kconfig.debug index e13c4bf..db994ec 100644 --- a/arch/arm64/Kconfig.debug +++ b/arch/arm64/Kconfig.debug @@ -48,16 +48,6 @@ config DEBUG_SET_MODULE_RONX against certain classes of kernel exploits. If in doubt, say "N". -config DEBUG_RODATA - bool "Make kernel text and rodata read-only" - help - If this is set, kernel text and rodata will be made read-only. This - is to help catch accidental or malicious attempts to change the - kernel's executable code. Additionally splits rodata from kernel - text so it can be made explicitly non-executable. - - If in doubt, say Y - config DEBUG_ALIGN_RODATA depends on DEBUG_RODATA && ARM64_4K_PAGES bool "Align linker sections up to SECTION_SIZE" diff --git a/arch/arm64/kernel/insn.c b/arch/arm64/kernel/insn.c index 7371455..a04bdef 100644 --- a/arch/arm64/kernel/insn.c +++ b/arch/arm64/kernel/insn.c @@ -95,7 +95,7 @@ static void __kprobes *patch_map(void *addr, int fixmap) if (module && IS_ENABLED(CONFIG_DEBUG_SET_MODULE_RONX)) page = vmalloc_to_page(addr); - else if (!module && IS_ENABLED(CONFIG_DEBUG_RODATA)) + else if (!module) page = virt_to_page(addr); else return addr; diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S index e3928f5..f80903c 100644 --- a/arch/arm64/kernel/vmlinux.lds.S +++ b/arch/arm64/kernel/vmlinux.lds.S @@ -65,12 +65,9 @@ PECOFF_FILE_ALIGNMENT = 0x200; #if defined(CONFIG_DEBUG_ALIGN_RODATA) #define ALIGN_DEBUG_RO . = ALIGN(1<
Re: [kernel-hardening] [PATCH v4 3/8] param: convert some "on"/"off" users to strtobool
On Tue, Jan 19, 2016 at 10:08:37AM -0800, Kees Cook wrote: diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 9cc20af58c76..f5ea98490ffa 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -387,20 +388,14 @@ void __init tick_nohz_init(void) /* * NO HZ enabled ? */ -static int tick_nohz_enabled __read_mostly = 1; +static bool tick_nohz_enabled __read_mostly = true; unsigned long tick_nohz_active __read_mostly; /* * Enable / Disable tickless mode */ Just discovered this conflicts with a recent patch with CONFIG_NO_HZ_COMMON: commit 46373a15f65fe862f31c19a484acdf551f2b442f Author: Jean Delvare Date: Mon Jan 11 17:40:31 2016 +0100 time: nohz: Expose tick_nohz_enabled kernel/time/tick-sched.c:390:6: error: conflicting types for ‘tick_nohz_enabled’ bool tick_nohz_enabled __read_mostly = true; ^ In file included from kernel/time/tick-internal.h:5:0, from kernel/time/tick-sched.c:30: include/linux/tick.h:101:12: note: previous declaration of ‘tick_nohz_enabled’ was here extern int tick_nohz_enabled; ^ Fixing the compilation error, it compiles and boots on arm64, however it isn't detecting the write (with the lkdtm test). I'll continue looking into what's preventing this. David
[PATCH] arm64: make CONFIG_DEBUG_RODATA non-optional
From 2efef8aa0f8f7f6277ffebe4ea6744fc93d54644 Mon Sep 17 00:00:00 2001 From: David Brown <david.br...@linaro.org> Date: Wed, 27 Jan 2016 13:58:44 -0800 This removes the CONFIG_DEBUG_RODATA option and makes it always enabled. Signed-off-by: David Brown <david.br...@linaro.org> --- v1: This is in the same spirit as the x86 patch, removing allowing this option to be config selected. The associated patch series adds a runtime option for the same thing. However, it does affect the way some things are mapped, and could possibly result in either increased memory usage, or a performance hit (due to TLB misses from 4K pages). I've tested this on a Hikey 96board (hi6220-hikey.dtb), both with and without 'rodata=off' on the command line. arch/arm64/Kconfig | 3 +++ arch/arm64/Kconfig.debug| 10 -- arch/arm64/kernel/insn.c| 2 +- arch/arm64/kernel/vmlinux.lds.S | 5 + arch/arm64/mm/mmu.c | 12 5 files changed, 5 insertions(+), 27 deletions(-) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 8cc6228..ffa617a 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -201,6 +201,9 @@ config KERNEL_MODE_NEON config FIX_EARLYCON_MEM def_bool y +config DEBUG_RODATA + def_bool y + config PGTABLE_LEVELS int default 2 if ARM64_16K_PAGES && ARM64_VA_BITS_36 diff --git a/arch/arm64/Kconfig.debug b/arch/arm64/Kconfig.debug index e13c4bf..db994ec 100644 --- a/arch/arm64/Kconfig.debug +++ b/arch/arm64/Kconfig.debug @@ -48,16 +48,6 @@ config DEBUG_SET_MODULE_RONX against certain classes of kernel exploits. If in doubt, say "N". -config DEBUG_RODATA - bool "Make kernel text and rodata read-only" - help - If this is set, kernel text and rodata will be made read-only. This - is to help catch accidental or malicious attempts to change the - kernel's executable code. Additionally splits rodata from kernel - text so it can be made explicitly non-executable. - - If in doubt, say Y - config DEBUG_ALIGN_RODATA depends on DEBUG_RODATA && ARM64_4K_PAGES bool "Align linker sections up to SECTION_SIZE" diff --git a/arch/arm64/kernel/insn.c b/arch/arm64/kernel/insn.c index 7371455..a04bdef 100644 --- a/arch/arm64/kernel/insn.c +++ b/arch/arm64/kernel/insn.c @@ -95,7 +95,7 @@ static void __kprobes *patch_map(void *addr, int fixmap) if (module && IS_ENABLED(CONFIG_DEBUG_SET_MODULE_RONX)) page = vmalloc_to_page(addr); - else if (!module && IS_ENABLED(CONFIG_DEBUG_RODATA)) + else if (!module) page = virt_to_page(addr); else return addr; diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S index e3928f5..f80903c 100644 --- a/arch/arm64/kernel/vmlinux.lds.S +++ b/arch/arm64/kernel/vmlinux.lds.S @@ -65,12 +65,9 @@ PECOFF_FILE_ALIGNMENT = 0x200; #if defined(CONFIG_DEBUG_ALIGN_RODATA) #define ALIGN_DEBUG_RO . = ALIGN(1<<SECTION_SHIFT); #define ALIGN_DEBUG_RO_MIN(min) ALIGN_DEBUG_RO -#elif defined(CONFIG_DEBUG_RODATA) +#else #define ALIGN_DEBUG_RO . = ALIGN(1<<PAGE_SHIFT); #define ALIGN_DEBUG_RO_MIN(min) ALIGN_DEBUG_RO -#else -#define ALIGN_DEBUG_RO -#define ALIGN_DEBUG_RO_MIN(min). = ALIGN(min); #endif SECTIONS diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c index 58faeaa..3b411b7 100644 --- a/arch/arm64/mm/mmu.c +++ b/arch/arm64/mm/mmu.c @@ -313,7 +313,6 @@ static void create_mapping_late(phys_addr_t phys, unsigned long virt, phys, virt, size, prot, late_alloc); } -#ifdef CONFIG_DEBUG_RODATA static void __init __map_memblock(phys_addr_t start, phys_addr_t end) { /* @@ -347,13 +346,6 @@ static void __init __map_memblock(phys_addr_t start, phys_addr_t end) } } -#else -static void __init __map_memblock(phys_addr_t start, phys_addr_t end) -{ - create_mapping(start, __phys_to_virt(start), end - start, - PAGE_KERNEL_EXEC); -} -#endif static void __init map_mem(void) { @@ -410,7 +402,6 @@ static void __init map_mem(void) static void __init fixup_executable(void) { -#ifdef CONFIG_DEBUG_RODATA /* now that we are actually fully mapped, make the start/end more fine grained */ if (!IS_ALIGNED((unsigned long)_stext, SWAPPER_BLOCK_SIZE)) { unsigned long aligned_start = round_down(__pa(_stext), @@ -428,10 +419,8 @@ static void __init fixup_executable(void) aligned_end - __pa(__init_end), PAGE_KERNEL); } -#endif } -#ifdef CONFIG_DEBUG_RODATA void mark_rodata_ro(void) { create_mapping_late(__pa(_stext), (unsigned long)_stext, @@ -439,7 +428,6 @@ void mark_rodata_ro(void) PAGE_KERNEL_ROX); } -#endif void fixup_init(void) { -- 2.7.0
Re: [kernel-hardening] [PATCH v4 3/8] param: convert some "on"/"off" users to strtobool
On Tue, Jan 19, 2016 at 10:08:37AM -0800, Kees Cook wrote: diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c index 9cc20af58c76..f5ea98490ffa 100644 --- a/kernel/time/tick-sched.c +++ b/kernel/time/tick-sched.c @@ -387,20 +388,14 @@ void __init tick_nohz_init(void) /* * NO HZ enabled ? */ -static int tick_nohz_enabled __read_mostly = 1; +static bool tick_nohz_enabled __read_mostly = true; unsigned long tick_nohz_active __read_mostly; /* * Enable / Disable tickless mode */ Just discovered this conflicts with a recent patch with CONFIG_NO_HZ_COMMON: commit 46373a15f65fe862f31c19a484acdf551f2b442f Author: Jean DelvareDate: Mon Jan 11 17:40:31 2016 +0100 time: nohz: Expose tick_nohz_enabled kernel/time/tick-sched.c:390:6: error: conflicting types for ‘tick_nohz_enabled’ bool tick_nohz_enabled __read_mostly = true; ^ In file included from kernel/time/tick-internal.h:5:0, from kernel/time/tick-sched.c:30: include/linux/tick.h:101:12: note: previous declaration of ‘tick_nohz_enabled’ was here extern int tick_nohz_enabled; ^ Fixing the compilation error, it compiles and boots on arm64, however it isn't detecting the write (with the lkdtm test). I'll continue looking into what's preventing this. David
Re: [kernel-hardening] [PATCH v4 0/8] introduce post-init read-only memory
On Tue, Jan 19, 2016 at 10:08:34AM -0800, Kees Cook wrote: This introduces __ro_after_init as a way to mark such memory, and uses it on the x86 vDSO to kill an extant kernel exploitation method. Also adds a new kernel parameter to help debug future use and adds an lkdtm test to check the results. I've tested these patches on 32-bit ARM using the provoke-crashes test. However, they do require CONFIG_ARM_KERNMEM_PERMS to be enabled as well, which does incur additional memory usage. Do we want to consider making CONFIG_ARM_KERNMEM_PERMS default y for security reasons, and just document that memory-constrained systems may want to turn it off? I'll test the arm64 next. David
Re: [kernel-hardening] [PATCH v4 0/8] introduce post-init read-only memory
On Tue, Jan 19, 2016 at 10:08:34AM -0800, Kees Cook wrote: This introduces __ro_after_init as a way to mark such memory, and uses it on the x86 vDSO to kill an extant kernel exploitation method. Also adds a new kernel parameter to help debug future use and adds an lkdtm test to check the results. I've tested these patches on 32-bit ARM using the provoke-crashes test. However, they do require CONFIG_ARM_KERNMEM_PERMS to be enabled as well, which does incur additional memory usage. Do we want to consider making CONFIG_ARM_KERNMEM_PERMS default y for security reasons, and just document that memory-constrained systems may want to turn it off? I'll test the arm64 next. David
Re: [PATCH] MAINTAINERS: Change QCOM entries
On Fri, Dec 11, 2015 at 03:46:18PM -0600, Andy Gross wrote: From: Andy Gross This patch changes the email address for Andy Gross and David Brown and drops Kumar Gala. In addition, it changes the location of the repository. Signed-off-by: Andy Gross Signed-off-by: Andy Gross Acked-by: David Brown -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] MAINTAINERS: Change QCOM entries
On Fri, Dec 11, 2015 at 03:46:18PM -0600, Andy Gross wrote: From: Andy Gross <agr...@codeaurora.org> This patch changes the email address for Andy Gross and David Brown and drops Kumar Gala. In addition, it changes the location of the repository. Signed-off-by: Andy Gross <andy.gr...@linaro.org> Signed-off-by: Andy Gross <agr...@codeaurora.org> Acked-by: David Brown <david.br...@linaro.org> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 3/3] ARM: config: Update msm_defconfig
On Wed, Feb 26, 2014 at 06:16:34PM -0800, Stephen Boyd wrote: Now that DT based platforms are split out of mach-msm into mach-qcom, put back a non-DT based SoC into the msm_defconfig and stop selecting unsupported drivers. Signed-off-by: Stephen Boyd --- arch/arm/configs/msm_defconfig | 25 +++-- 1 file changed, 3 insertions(+), 22 deletions(-) Acked-by: David Brown Kumar, can you just pull this in with the other qcom changes from Sephen? Thanks, David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 3/3] ARM: config: Update msm_defconfig
On Wed, Feb 26, 2014 at 06:16:34PM -0800, Stephen Boyd wrote: Now that DT based platforms are split out of mach-msm into mach-qcom, put back a non-DT based SoC into the msm_defconfig and stop selecting unsupported drivers. Signed-off-by: Stephen Boyd sb...@codeaurora.org --- arch/arm/configs/msm_defconfig | 25 +++-- 1 file changed, 3 insertions(+), 22 deletions(-) Acked-by: David Brown dav...@codeaurora.org Kumar, can you just pull this in with the other qcom changes from Sephen? Thanks, David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 00/15] usb: phy: msm: Fixes, cleanups and DT support
On Thu, Dec 19, 2013 at 05:26:13PM -0600, Felipe Balbi wrote: it's getting quite late for me. I still want to leave my stuff soaking in linux-next for a while. I'll try my best, though, if you ack it ASAP Thanks. Patch 1 already has my Ack in it, and I've sent an ack for number 6. David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 0/7] MSM patches for 3.14
The following series contains a warning fix, a bit of cleanup, adds a few more boards. There are still numerous patches floating with issues, but things seem to be moving in the right direction. These have all been sent previously to the lists, and received reviews and necessary acks. Josh Cartwright (1): ARM: msm: trout: fix uninit var warning Rohit Vaswani (2): ARM: msm: Add support for APQ8074 Dragonboard defconfig: msm_defconfig: Enable CONFIG_ARCH_MSM8974 Stephen Boyd (4): ARM: msm: Simplify ARCH_MSM_DT config ARM: dts: MSM8974: Add restart node ARM: dts: MSM8974: Add MMIO architected timer node ARM: msm_defconfig: Enable restart driver arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/qcom-apq8074-dragonboard.dts | 6 ++ arch/arm/boot/dts/qcom-msm8974.dtsi| 97 ++ arch/arm/configs/msm_defconfig | 3 + arch/arm/mach-msm/Kconfig | 15 +++- arch/arm/mach-msm/board-dt.c | 9 +++ arch/arm/mach-msm/board-trout.c| 12 ++-- 7 files changed, 136 insertions(+), 9 deletions(-) create mode 100644 arch/arm/boot/dts/qcom-apq8074-dragonboard.dts create mode 100644 arch/arm/boot/dts/qcom-msm8974.dtsi -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 2/7] ARM: msm: Add support for APQ8074 Dragonboard
From: Rohit Vaswani This patch adds basic board support for APQ8074 Dragonboard which belongs to the Snapdragon 800 family. For now, just support a basic machine with device tree. Signed-off-by: Rohit Vaswani Acked-by: Kumar Gala Signed-off-by: David Brown --- arch/arm/boot/dts/Makefile | 3 ++- arch/arm/boot/dts/qcom-apq8074-dragonboard.dts | 6 + arch/arm/boot/dts/qcom-msm8974.dtsi| 33 ++ arch/arm/mach-msm/Kconfig | 11 - arch/arm/mach-msm/board-dt.c | 9 +++ 5 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 arch/arm/boot/dts/qcom-apq8074-dragonboard.dts create mode 100644 arch/arm/boot/dts/qcom-msm8974.dtsi diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index d57c1a6..5b37694 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -105,7 +105,8 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \ kirkwood-ts219-6282.dtb dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb dtb-$(CONFIG_ARCH_MSM) += qcom-msm8660-surf.dtb \ - qcom-msm8960-cdp.dtb + qcom-msm8960-cdp.dtb \ + qcom-apq8074-dragonboard.dtb dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \ armada-370-mirabox.dtb \ armada-370-netgear-rn102.dtb \ diff --git a/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts new file mode 100644 index 000..13ac3e2 --- /dev/null +++ b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts @@ -0,0 +1,6 @@ +#include "qcom-msm8974.dtsi" + +/ { + model = "Qualcomm APQ8074 Dragonboard"; + compatible = "qcom,apq8074-dragonboard", "qcom,apq8074"; +}; diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi new file mode 100644 index 000..2ebb4f0 --- /dev/null +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi @@ -0,0 +1,33 @@ +/dts-v1/; + +#include "skeleton.dtsi" + +/ { + model = "Qualcomm MSM8974"; + compatible = "qcom,msm8974"; + interrupt-parent = <>; + + soc: soc { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + intc: interrupt-controller@f900 { + compatible = "qcom,msm-qgic2"; + interrupt-controller; + #interrupt-cells = <3>; + reg = <0xf900 0x1000>, + <0xf9002000 0x1000>; + }; + + timer { + compatible = "arm,armv7-timer"; + interrupts = <1 2 0xf08>, +<1 3 0xf08>, +<1 4 0xf08>, +<1 1 0xf08>; + clock-frequency = <1920>; + }; + }; +}; diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 2586c28..5e5782d 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -58,9 +58,18 @@ config ARCH_MSM8960 select GPIO_MSM_V2 select MSM_SCM if SMP +config ARCH_MSM8974 + bool "MSM8974" + select ARM_GIC + select CPU_V7 + select HAVE_ARM_ARCH_TIMER + select HAVE_SMP + select MSM_SCM if SMP + select USE_OF + config ARCH_MSM_DT def_bool y - depends on (ARCH_MSM8X60 || ARCH_MSM8960) + depends on (ARCH_MSM8X60 || ARCH_MSM8960 || ARCH_MSM8974) select SPARSE_IRQ select USE_OF diff --git a/arch/arm/mach-msm/board-dt.c b/arch/arm/mach-msm/board-dt.c index 16e6183..1f11d93 100644 --- a/arch/arm/mach-msm/board-dt.c +++ b/arch/arm/mach-msm/board-dt.c @@ -26,7 +26,16 @@ static const char * const msm_dt_match[] __initconst = { NULL }; +static const char * const apq8074_dt_match[] __initconst = { + "qcom,apq8074-dragonboard", + NULL +}; + DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)") .smp = smp_ops(msm_smp_ops), .dt_compat = msm_dt_match, MACHINE_END + +DT_MACHINE_START(APQ_DT, "Qualcomm MSM (Flattened Device Tree)") + .dt_compat = apq8074_dt_match, +MACHINE_END -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 3/7] defconfig: msm_defconfig: Enable CONFIG_ARCH_MSM8974
From: Rohit Vaswani This patch enables MSM8974 build support. Signed-off-by: Rohit Vaswani Signed-off-by: David Brown --- arch/arm/configs/msm_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/msm_defconfig b/arch/arm/configs/msm_defconfig index 690b5f9..0ed32e5 100644 --- a/arch/arm/configs/msm_defconfig +++ b/arch/arm/configs/msm_defconfig @@ -20,6 +20,7 @@ CONFIG_PARTITION_ADVANCED=y CONFIG_ARCH_MSM=y CONFIG_ARCH_MSM8X60=y CONFIG_ARCH_MSM8960=y +CONFIG_ARCH_MSM8974=y CONFIG_SMP=y CONFIG_PREEMPT=y CONFIG_AEABI=y -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 4/7] ARM: msm: Simplify ARCH_MSM_DT config
From: Stephen Boyd This doesn't need to be a def_bool y. Instead we can have every DT supported platform select ARCH_MSM_DT and we achieve the same thing with less chance of conflicts. Signed-off-by: Stephen Boyd Signed-off-by: David Brown --- arch/arm/mach-msm/Kconfig | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 5e5782d..702553b 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -44,6 +44,7 @@ endchoice config ARCH_MSM8X60 bool "MSM8X60" + select ARCH_MSM_DT select ARM_GIC select CPU_V7 select GPIO_MSM_V2 @@ -52,6 +53,7 @@ config ARCH_MSM8X60 config ARCH_MSM8960 bool "MSM8960" + select ARCH_MSM_DT select ARM_GIC select CPU_V7 select HAVE_SMP @@ -60,6 +62,7 @@ config ARCH_MSM8960 config ARCH_MSM8974 bool "MSM8974" + select ARCH_MSM_DT select ARM_GIC select CPU_V7 select HAVE_ARM_ARCH_TIMER @@ -68,8 +71,7 @@ config ARCH_MSM8974 select USE_OF config ARCH_MSM_DT - def_bool y - depends on (ARCH_MSM8X60 || ARCH_MSM8960 || ARCH_MSM8974) + bool select SPARSE_IRQ select USE_OF -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 5/7] ARM: dts: MSM8974: Add restart node
From: Stephen Boyd Add the restart node so we can reboot the device. Signed-off-by: Stephen Boyd Signed-off-by: David Brown --- arch/arm/boot/dts/qcom-msm8974.dtsi | 5 + 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi index 2ebb4f0..df18637 100644 --- a/arch/arm/boot/dts/qcom-msm8974.dtsi +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi @@ -29,5 +29,10 @@ <1 1 0xf08>; clock-frequency = <1920>; }; + + restart@fc4ab000 { + compatible = "qcom,pshold"; + reg = <0xfc4ab000 0x4>; + }; }; }; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 6/7] ARM: dts: MSM8974: Add MMIO architected timer node
From: Stephen Boyd Add the mmio architected timer node. Signed-off-by: Stephen Boyd Signed-off-by: David Brown --- arch/arm/boot/dts/qcom-msm8974.dtsi | 59 + 1 file changed, 59 insertions(+) diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi index df18637..6ac9496 100644 --- a/arch/arm/boot/dts/qcom-msm8974.dtsi +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi @@ -30,6 +30,65 @@ clock-frequency = <1920>; }; + timer@f902 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "arm,armv7-timer-mem"; + reg = <0xf902 0x1000>; + clock-frequency = <1920>; + + frame@f9021000 { + frame-number = <0>; + interrupts = <0 8 0x4>, +<0 7 0x4>; + reg = <0xf9021000 0x1000>, + <0xf9022000 0x1000>; + }; + + frame@f9023000 { + frame-number = <1>; + interrupts = <0 9 0x4>; + reg = <0xf9023000 0x1000>; + status = "disabled"; + }; + + frame@f9024000 { + frame-number = <2>; + interrupts = <0 10 0x4>; + reg = <0xf9024000 0x1000>; + status = "disabled"; + }; + + frame@f9025000 { + frame-number = <3>; + interrupts = <0 11 0x4>; + reg = <0xf9025000 0x1000>; + status = "disabled"; + }; + + frame@f9026000 { + frame-number = <4>; + interrupts = <0 12 0x4>; + reg = <0xf9026000 0x1000>; + status = "disabled"; + }; + + frame@f9027000 { + frame-number = <5>; + interrupts = <0 13 0x4>; + reg = <0xf9027000 0x1000>; + status = "disabled"; + }; + + frame@f9028000 { + frame-number = <6>; + interrupts = <0 14 0x4>; + reg = <0xf9028000 0x1000>; + status = "disabled"; + }; + }; + restart@fc4ab000 { compatible = "qcom,pshold"; reg = <0xfc4ab000 0x4>; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 7/7] ARM: msm_defconfig: Enable restart driver
From: Stephen Boyd Signed-off-by: Stephen Boyd Signed-off-by: David Brown --- arch/arm/configs/msm_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/configs/msm_defconfig b/arch/arm/configs/msm_defconfig index 0ed32e5..c5698b7 100644 --- a/arch/arm/configs/msm_defconfig +++ b/arch/arm/configs/msm_defconfig @@ -89,6 +89,8 @@ CONFIG_SSBI=y CONFIG_DEBUG_GPIO=y CONFIG_GPIO_SYSFS=y CONFIG_POWER_SUPPLY=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_MSM=y CONFIG_THERMAL=y CONFIG_REGULATOR=y CONFIG_MEDIA_SUPPORT=y -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 1/7] ARM: msm: trout: fix uninit var warning
From: Josh Cartwright Fix the following warning when !CONFIG_MMC: arch/arm/mach-msm/board-trout.c: In function 'trout_init': arch/arm/mach-msm/board-trout.c:67:6: warning: unused variable 'rc' [-Wunused-variable] int rc; ^ Also, while we're here, rework explicit printk(KERN_CRIT..) to use pr_crit. Signed-off-by: Josh Cartwright Signed-off-by: David Brown --- arch/arm/mach-msm/board-trout.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-msm/board-trout.c b/arch/arm/mach-msm/board-trout.c index ccf6621..015d544 100644 --- a/arch/arm/mach-msm/board-trout.c +++ b/arch/arm/mach-msm/board-trout.c @@ -13,6 +13,7 @@ * GNU General Public License for more details. * */ +#define pr_fmt(fmt) "%s: " fmt, __func__ #include #include @@ -68,12 +69,11 @@ static void __init trout_init(void) platform_add_devices(devices, ARRAY_SIZE(devices)); -#ifdef CONFIG_MMC -rc = trout_init_mmc(system_rev); -if (rc) -printk(KERN_CRIT "%s: MMC init failure (%d)\n", __func__, rc); -#endif - + if (IS_ENABLED(CONFIG_MMC)) { + rc = trout_init_mmc(system_rev); + if (rc) + pr_crit("MMC init failure (%d)\n", rc); + } } static struct map_desc trout_io_desc[] __initdata = { -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 1/7] ARM: msm: trout: fix uninit var warning
From: Josh Cartwright jo...@codeaurora.org Fix the following warning when !CONFIG_MMC: arch/arm/mach-msm/board-trout.c: In function 'trout_init': arch/arm/mach-msm/board-trout.c:67:6: warning: unused variable 'rc' [-Wunused-variable] int rc; ^ Also, while we're here, rework explicit printk(KERN_CRIT..) to use pr_crit. Signed-off-by: Josh Cartwright jo...@codeaurora.org Signed-off-by: David Brown dav...@codeaurora.org --- arch/arm/mach-msm/board-trout.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-msm/board-trout.c b/arch/arm/mach-msm/board-trout.c index ccf6621..015d544 100644 --- a/arch/arm/mach-msm/board-trout.c +++ b/arch/arm/mach-msm/board-trout.c @@ -13,6 +13,7 @@ * GNU General Public License for more details. * */ +#define pr_fmt(fmt) %s: fmt, __func__ #include linux/kernel.h #include linux/init.h @@ -68,12 +69,11 @@ static void __init trout_init(void) platform_add_devices(devices, ARRAY_SIZE(devices)); -#ifdef CONFIG_MMC -rc = trout_init_mmc(system_rev); -if (rc) -printk(KERN_CRIT %s: MMC init failure (%d)\n, __func__, rc); -#endif - + if (IS_ENABLED(CONFIG_MMC)) { + rc = trout_init_mmc(system_rev); + if (rc) + pr_crit(MMC init failure (%d)\n, rc); + } } static struct map_desc trout_io_desc[] __initdata = { -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 7/7] ARM: msm_defconfig: Enable restart driver
From: Stephen Boyd sb...@codeaurora.org Signed-off-by: Stephen Boyd sb...@codeaurora.org Signed-off-by: David Brown dav...@codeaurora.org --- arch/arm/configs/msm_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm/configs/msm_defconfig b/arch/arm/configs/msm_defconfig index 0ed32e5..c5698b7 100644 --- a/arch/arm/configs/msm_defconfig +++ b/arch/arm/configs/msm_defconfig @@ -89,6 +89,8 @@ CONFIG_SSBI=y CONFIG_DEBUG_GPIO=y CONFIG_GPIO_SYSFS=y CONFIG_POWER_SUPPLY=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_MSM=y CONFIG_THERMAL=y CONFIG_REGULATOR=y CONFIG_MEDIA_SUPPORT=y -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 6/7] ARM: dts: MSM8974: Add MMIO architected timer node
From: Stephen Boyd sb...@codeaurora.org Add the mmio architected timer node. Signed-off-by: Stephen Boyd sb...@codeaurora.org Signed-off-by: David Brown dav...@codeaurora.org --- arch/arm/boot/dts/qcom-msm8974.dtsi | 59 + 1 file changed, 59 insertions(+) diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi index df18637..6ac9496 100644 --- a/arch/arm/boot/dts/qcom-msm8974.dtsi +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi @@ -30,6 +30,65 @@ clock-frequency = 1920; }; + timer@f902 { + #address-cells = 1; + #size-cells = 1; + ranges; + compatible = arm,armv7-timer-mem; + reg = 0xf902 0x1000; + clock-frequency = 1920; + + frame@f9021000 { + frame-number = 0; + interrupts = 0 8 0x4, +0 7 0x4; + reg = 0xf9021000 0x1000, + 0xf9022000 0x1000; + }; + + frame@f9023000 { + frame-number = 1; + interrupts = 0 9 0x4; + reg = 0xf9023000 0x1000; + status = disabled; + }; + + frame@f9024000 { + frame-number = 2; + interrupts = 0 10 0x4; + reg = 0xf9024000 0x1000; + status = disabled; + }; + + frame@f9025000 { + frame-number = 3; + interrupts = 0 11 0x4; + reg = 0xf9025000 0x1000; + status = disabled; + }; + + frame@f9026000 { + frame-number = 4; + interrupts = 0 12 0x4; + reg = 0xf9026000 0x1000; + status = disabled; + }; + + frame@f9027000 { + frame-number = 5; + interrupts = 0 13 0x4; + reg = 0xf9027000 0x1000; + status = disabled; + }; + + frame@f9028000 { + frame-number = 6; + interrupts = 0 14 0x4; + reg = 0xf9028000 0x1000; + status = disabled; + }; + }; + restart@fc4ab000 { compatible = qcom,pshold; reg = 0xfc4ab000 0x4; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 4/7] ARM: msm: Simplify ARCH_MSM_DT config
From: Stephen Boyd sb...@codeaurora.org This doesn't need to be a def_bool y. Instead we can have every DT supported platform select ARCH_MSM_DT and we achieve the same thing with less chance of conflicts. Signed-off-by: Stephen Boyd sb...@codeaurora.org Signed-off-by: David Brown dav...@codeaurora.org --- arch/arm/mach-msm/Kconfig | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 5e5782d..702553b 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -44,6 +44,7 @@ endchoice config ARCH_MSM8X60 bool MSM8X60 + select ARCH_MSM_DT select ARM_GIC select CPU_V7 select GPIO_MSM_V2 @@ -52,6 +53,7 @@ config ARCH_MSM8X60 config ARCH_MSM8960 bool MSM8960 + select ARCH_MSM_DT select ARM_GIC select CPU_V7 select HAVE_SMP @@ -60,6 +62,7 @@ config ARCH_MSM8960 config ARCH_MSM8974 bool MSM8974 + select ARCH_MSM_DT select ARM_GIC select CPU_V7 select HAVE_ARM_ARCH_TIMER @@ -68,8 +71,7 @@ config ARCH_MSM8974 select USE_OF config ARCH_MSM_DT - def_bool y - depends on (ARCH_MSM8X60 || ARCH_MSM8960 || ARCH_MSM8974) + bool select SPARSE_IRQ select USE_OF -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 5/7] ARM: dts: MSM8974: Add restart node
From: Stephen Boyd sb...@codeaurora.org Add the restart node so we can reboot the device. Signed-off-by: Stephen Boyd sb...@codeaurora.org Signed-off-by: David Brown dav...@codeaurora.org --- arch/arm/boot/dts/qcom-msm8974.dtsi | 5 + 1 file changed, 5 insertions(+) diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi index 2ebb4f0..df18637 100644 --- a/arch/arm/boot/dts/qcom-msm8974.dtsi +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi @@ -29,5 +29,10 @@ 1 1 0xf08; clock-frequency = 1920; }; + + restart@fc4ab000 { + compatible = qcom,pshold; + reg = 0xfc4ab000 0x4; + }; }; }; -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 3/7] defconfig: msm_defconfig: Enable CONFIG_ARCH_MSM8974
From: Rohit Vaswani rvasw...@codeaurora.org This patch enables MSM8974 build support. Signed-off-by: Rohit Vaswani rvasw...@codeaurora.org Signed-off-by: David Brown dav...@codeaurora.org --- arch/arm/configs/msm_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm/configs/msm_defconfig b/arch/arm/configs/msm_defconfig index 690b5f9..0ed32e5 100644 --- a/arch/arm/configs/msm_defconfig +++ b/arch/arm/configs/msm_defconfig @@ -20,6 +20,7 @@ CONFIG_PARTITION_ADVANCED=y CONFIG_ARCH_MSM=y CONFIG_ARCH_MSM8X60=y CONFIG_ARCH_MSM8960=y +CONFIG_ARCH_MSM8974=y CONFIG_SMP=y CONFIG_PREEMPT=y CONFIG_AEABI=y -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 2/7] ARM: msm: Add support for APQ8074 Dragonboard
From: Rohit Vaswani rvasw...@codeaurora.org This patch adds basic board support for APQ8074 Dragonboard which belongs to the Snapdragon 800 family. For now, just support a basic machine with device tree. Signed-off-by: Rohit Vaswani rvasw...@codeaurora.org Acked-by: Kumar Gala ga...@codeaurora.org Signed-off-by: David Brown dav...@codeaurora.org --- arch/arm/boot/dts/Makefile | 3 ++- arch/arm/boot/dts/qcom-apq8074-dragonboard.dts | 6 + arch/arm/boot/dts/qcom-msm8974.dtsi| 33 ++ arch/arm/mach-msm/Kconfig | 11 - arch/arm/mach-msm/board-dt.c | 9 +++ 5 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 arch/arm/boot/dts/qcom-apq8074-dragonboard.dts create mode 100644 arch/arm/boot/dts/qcom-msm8974.dtsi diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index d57c1a6..5b37694 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -105,7 +105,8 @@ dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-cloudbox.dtb \ kirkwood-ts219-6282.dtb dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb dtb-$(CONFIG_ARCH_MSM) += qcom-msm8660-surf.dtb \ - qcom-msm8960-cdp.dtb + qcom-msm8960-cdp.dtb \ + qcom-apq8074-dragonboard.dtb dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \ armada-370-mirabox.dtb \ armada-370-netgear-rn102.dtb \ diff --git a/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts new file mode 100644 index 000..13ac3e2 --- /dev/null +++ b/arch/arm/boot/dts/qcom-apq8074-dragonboard.dts @@ -0,0 +1,6 @@ +#include qcom-msm8974.dtsi + +/ { + model = Qualcomm APQ8074 Dragonboard; + compatible = qcom,apq8074-dragonboard, qcom,apq8074; +}; diff --git a/arch/arm/boot/dts/qcom-msm8974.dtsi b/arch/arm/boot/dts/qcom-msm8974.dtsi new file mode 100644 index 000..2ebb4f0 --- /dev/null +++ b/arch/arm/boot/dts/qcom-msm8974.dtsi @@ -0,0 +1,33 @@ +/dts-v1/; + +#include skeleton.dtsi + +/ { + model = Qualcomm MSM8974; + compatible = qcom,msm8974; + interrupt-parent = intc; + + soc: soc { + #address-cells = 1; + #size-cells = 1; + ranges; + compatible = simple-bus; + + intc: interrupt-controller@f900 { + compatible = qcom,msm-qgic2; + interrupt-controller; + #interrupt-cells = 3; + reg = 0xf900 0x1000, + 0xf9002000 0x1000; + }; + + timer { + compatible = arm,armv7-timer; + interrupts = 1 2 0xf08, +1 3 0xf08, +1 4 0xf08, +1 1 0xf08; + clock-frequency = 1920; + }; + }; +}; diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 2586c28..5e5782d 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -58,9 +58,18 @@ config ARCH_MSM8960 select GPIO_MSM_V2 select MSM_SCM if SMP +config ARCH_MSM8974 + bool MSM8974 + select ARM_GIC + select CPU_V7 + select HAVE_ARM_ARCH_TIMER + select HAVE_SMP + select MSM_SCM if SMP + select USE_OF + config ARCH_MSM_DT def_bool y - depends on (ARCH_MSM8X60 || ARCH_MSM8960) + depends on (ARCH_MSM8X60 || ARCH_MSM8960 || ARCH_MSM8974) select SPARSE_IRQ select USE_OF diff --git a/arch/arm/mach-msm/board-dt.c b/arch/arm/mach-msm/board-dt.c index 16e6183..1f11d93 100644 --- a/arch/arm/mach-msm/board-dt.c +++ b/arch/arm/mach-msm/board-dt.c @@ -26,7 +26,16 @@ static const char * const msm_dt_match[] __initconst = { NULL }; +static const char * const apq8074_dt_match[] __initconst = { + qcom,apq8074-dragonboard, + NULL +}; + DT_MACHINE_START(MSM_DT, Qualcomm MSM (Flattened Device Tree)) .smp = smp_ops(msm_smp_ops), .dt_compat = msm_dt_match, MACHINE_END + +DT_MACHINE_START(APQ_DT, Qualcomm MSM (Flattened Device Tree)) + .dt_compat = apq8074_dt_match, +MACHINE_END -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 0/7] MSM patches for 3.14
The following series contains a warning fix, a bit of cleanup, adds a few more boards. There are still numerous patches floating with issues, but things seem to be moving in the right direction. These have all been sent previously to the lists, and received reviews and necessary acks. Josh Cartwright (1): ARM: msm: trout: fix uninit var warning Rohit Vaswani (2): ARM: msm: Add support for APQ8074 Dragonboard defconfig: msm_defconfig: Enable CONFIG_ARCH_MSM8974 Stephen Boyd (4): ARM: msm: Simplify ARCH_MSM_DT config ARM: dts: MSM8974: Add restart node ARM: dts: MSM8974: Add MMIO architected timer node ARM: msm_defconfig: Enable restart driver arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/qcom-apq8074-dragonboard.dts | 6 ++ arch/arm/boot/dts/qcom-msm8974.dtsi| 97 ++ arch/arm/configs/msm_defconfig | 3 + arch/arm/mach-msm/Kconfig | 15 +++- arch/arm/mach-msm/board-dt.c | 9 +++ arch/arm/mach-msm/board-trout.c| 12 ++-- 7 files changed, 136 insertions(+), 9 deletions(-) create mode 100644 arch/arm/boot/dts/qcom-apq8074-dragonboard.dts create mode 100644 arch/arm/boot/dts/qcom-msm8974.dtsi -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 00/15] usb: phy: msm: Fixes, cleanups and DT support
On Thu, Dec 19, 2013 at 05:26:13PM -0600, Felipe Balbi wrote: it's getting quite late for me. I still want to leave my stuff soaking in linux-next for a while. I'll try my best, though, if you ack it ASAP Thanks. Patch 1 already has my Ack in it, and I've sent an ack for number 6. David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 06/15] usb: phy: msm: Replace custom enum usb_mode_type with enum usb_dr_mode
On Tue, Nov 12, 2013 at 04:51:41PM +0200, Ivan T. Ivanov wrote: From: "Ivan T. Ivanov" Use enum usb_dr_mode and drop default usb_dr_mode from platform data. USB DT bindings states: dr_mode: "...In case this attribute isn't passed via DT, USB DRD controllers should default to OTG...", so remove redundand field. Signed-off-by: Ivan T. Ivanov --- arch/arm/mach-msm/board-msm7x30.c |2 +- arch/arm/mach-msm/board-qsd8x50.c | 2 +- Acked-by: David Brown -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 00/15] usb: phy: msm: Fixes, cleanups and DT support
On Tue, Nov 26, 2013 at 10:38:46AM -0600, Felipe Balbi wrote: Hi, On Tue, Nov 12, 2013 at 04:51:35PM +0200, Ivan T. Ivanov wrote: From: "Ivan T. Ivanov" Hi, Patches have been tested on top of Stephen's clock controller patches[1] and recent fixes for chipidea msm glue layer driver posted here[2]. Hardware platform AP8074 DragonBoard. Only gadget mode utilized for now. CV Test Suite engine "Chapter 9 tests" are passing except "Halt Endpoint Test". usbtest driver report following failure: test 13 --> 32 (Broken pipe) ep 81 couldn't set halt, -32 This will be investigated further. Patches could be applied cleanly on top of the usb-3.13-rc1. Regards, Ivan [1] http://comments.gmane.org/gmane.linux.ports.arm.msm/5375 [2] https://lkml.org/lkml/2013/11/11/310 I wonder how will this be taken upstream provided there are interdependencies between arch/ and drivers/ patches. I can Ack patches but I'd really like to avoid merging of topic branches all over the place :-s Ivan's patches are the only ones in this window that touch these board files in MSM. It's probably easiest if I ack them, and you can bring the whole series through your tree. David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 00/15] usb: phy: msm: Fixes, cleanups and DT support
On Tue, Nov 26, 2013 at 10:38:46AM -0600, Felipe Balbi wrote: Hi, On Tue, Nov 12, 2013 at 04:51:35PM +0200, Ivan T. Ivanov wrote: From: Ivan T. Ivanov iiva...@mm-sol.com Hi, Patches have been tested on top of Stephen's clock controller patches[1] and recent fixes for chipidea msm glue layer driver posted here[2]. Hardware platform AP8074 DragonBoard. Only gadget mode utilized for now. CV Test Suite engine Chapter 9 tests are passing except Halt Endpoint Test. usbtest driver report following failure: test 13 -- 32 (Broken pipe) ep 81 couldn't set halt, -32 This will be investigated further. Patches could be applied cleanly on top of the usb-3.13-rc1. Regards, Ivan [1] http://comments.gmane.org/gmane.linux.ports.arm.msm/5375 [2] https://lkml.org/lkml/2013/11/11/310 I wonder how will this be taken upstream provided there are interdependencies between arch/ and drivers/ patches. I can Ack patches but I'd really like to avoid merging of topic branches all over the place :-s Ivan's patches are the only ones in this window that touch these board files in MSM. It's probably easiest if I ack them, and you can bring the whole series through your tree. David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v4 06/15] usb: phy: msm: Replace custom enum usb_mode_type with enum usb_dr_mode
On Tue, Nov 12, 2013 at 04:51:41PM +0200, Ivan T. Ivanov wrote: From: Ivan T. Ivanov iiva...@mm-sol.com Use enum usb_dr_mode and drop default usb_dr_mode from platform data. USB DT bindings states: dr_mode: ...In case this attribute isn't passed via DT, USB DRD controllers should default to OTG..., so remove redundand field. Signed-off-by: Ivan T. Ivanov iiva...@mm-sol.com --- arch/arm/mach-msm/board-msm7x30.c |2 +- arch/arm/mach-msm/board-qsd8x50.c |2 +- Acked-by: David Brown dav...@codeaurora.org -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] gpio: Add support for SX151x SPI GPIO Expanders
On Tue, Nov 12, 2013 at 08:32:20PM +0100, Linus Walleij wrote: Gregory, this is your driver, can you take a look at this patch? I don't think Gregory has this email address any more, and I don't know another address for him. David Yours, Linus Walleij On Thu, Oct 24, 2013 at 11:51 AM, Viktar Palstsiuk wrote: Isolated i2c specific parts and added spi bindings for the sx151x devices. Signed-off-by: Viktar Palstsiuk --- drivers/gpio/Kconfig | 10 +- drivers/gpio/gpio-sx150x.c | 267 +++-- 2 files changed, 239 insertions(+), 38 deletions(-) diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index b6ed304..4d296ab 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -465,15 +465,15 @@ config GPIO_RC5T583 of RC5T583 device through standard gpio library. config GPIO_SX150X - bool "Semtech SX150x I2C GPIO expander" - depends on I2C=y + bool "Semtech SX15xx I2C/SPI GPIO expander" + depends on SPI_MASTER || I2C default n help - Say yes here to provide support for Semtech SX150-series I2C + Say yes here to provide support for Semtech SX15xx-series I2C/SPI GPIO expanders. Compatible models include: - 8 bits: sx1508q - 16 bits: sx1509q + 8 bits: sx1508q, sx1511 + 16 bits: sx1509q, sx1512 config GPIO_STMPE bool "STMPE GPIOs" diff --git a/drivers/gpio/gpio-sx150x.c b/drivers/gpio/gpio-sx150x.c index d2983e9..bee1661 100644 --- a/drivers/gpio/gpio-sx150x.c +++ b/drivers/gpio/gpio-sx150x.c @@ -22,9 +22,16 @@ #include #include #include +#include #include #include +/** + * SX15xx types supported by driver + */ +#define SX15_TYPE_8_GPIOS 0 +#define SX15_TYPE_16_GPIOS 1 + #define NO_UPDATE_PENDING -1 struct sx150x_device_data { @@ -43,9 +50,17 @@ struct sx150x_device_data { u8 ngpios; }; +struct sx150x_chip; + +struct sx15xx_ops { + s32 (*read)(struct device *dev, u8 reg, u8 *val); + s32 (*write)(struct device *dev, u8 reg, u8 val); +}; + struct sx150x_chip { struct gpio_chip gpio_chip; - struct i2c_client *client; + struct device *dev; + const struct sx15xx_ops *ops; const struct sx150x_device_data *dev_cfg; int irq_summary; int irq_base; @@ -59,7 +74,7 @@ struct sx150x_chip { }; static const struct sx150x_device_data sx150x_devices[] = { - [0] = { /* sx1508q */ + [SX15_TYPE_8_GPIOS] = { /* sx1508q */ .reg_pullup = 0x03, .reg_pulldn = 0x04, .reg_drain= 0x05, @@ -74,7 +89,7 @@ static const struct sx150x_device_data sx150x_devices[] = { .reg_reset= 0x7d, .ngpios = 8 }, - [1] = { /* sx1509q */ + [SX15_TYPE_16_GPIOS] = { /* sx1509q */ .reg_pullup = 0x07, .reg_pulldn = 0x09, .reg_drain= 0x0b, @@ -91,37 +106,86 @@ static const struct sx150x_device_data sx150x_devices[] = { }, }; -static const struct i2c_device_id sx150x_id[] = { - {"sx1508q", 0}, - {"sx1509q", 1}, - {} -}; -MODULE_DEVICE_TABLE(i2c, sx150x_id); +#ifdef CONFIG_I2C -static s32 sx150x_i2c_write(struct i2c_client *client, u8 reg, u8 val) +static s32 sx150x_i2c_write(struct device *dev, u8 reg, u8 val) { + struct i2c_client *client = to_i2c_client(dev); s32 err = i2c_smbus_write_byte_data(client, reg, val); if (err < 0) - dev_warn(>dev, + dev_warn(dev, "i2c write fail: can't write %02x to %02x: %d\n", val, reg, err); return err; } -static s32 sx150x_i2c_read(struct i2c_client *client, u8 reg, u8 *val) +static s32 sx150x_i2c_read(struct device *dev, u8 reg, u8 *val) { + struct i2c_client *client = to_i2c_client(dev); s32 err = i2c_smbus_read_byte_data(client, reg); if (err >= 0) *val = err; else - dev_warn(>dev, + dev_warn(dev, "i2c read fail: can't read from %02x: %d\n", reg, err); return err; } +static const struct sx15xx_ops sx150x_ops = { + .read = sx150x_i2c_read, + .write = sx150x_i2c_write, +}; + +#endif /* CONFIG_I2C */ + +#ifdef CONFIG_SPI_MASTER + +static s32 sx151x_spi_write(struct device *dev, u8 reg, u8 val) +{ + struct spi_device *spi = to_spi_device(dev); + u8 tx[2]; + s32 err; + + tx[0] = reg; + tx[1] = val; + + err = spi_write(spi, tx, sizeof tx); + + if (err < 0) + dev_warn(dev, + "spi write fail: can't write %02x to %02x: %d\n", + val, reg, err); +
Re: [PATCH] gpio: Add support for SX151x SPI GPIO Expanders
On Tue, Nov 12, 2013 at 08:32:20PM +0100, Linus Walleij wrote: Gregory, this is your driver, can you take a look at this patch? I don't think Gregory has this email address any more, and I don't know another address for him. David Yours, Linus Walleij On Thu, Oct 24, 2013 at 11:51 AM, Viktar Palstsiuk viktar.palsts...@promwad.com wrote: Isolated i2c specific parts and added spi bindings for the sx151x devices. Signed-off-by: Viktar Palstsiuk viktar.palsts...@promwad.com --- drivers/gpio/Kconfig | 10 +- drivers/gpio/gpio-sx150x.c | 267 +++-- 2 files changed, 239 insertions(+), 38 deletions(-) diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig index b6ed304..4d296ab 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -465,15 +465,15 @@ config GPIO_RC5T583 of RC5T583 device through standard gpio library. config GPIO_SX150X - bool Semtech SX150x I2C GPIO expander - depends on I2C=y + bool Semtech SX15xx I2C/SPI GPIO expander + depends on SPI_MASTER || I2C default n help - Say yes here to provide support for Semtech SX150-series I2C + Say yes here to provide support for Semtech SX15xx-series I2C/SPI GPIO expanders. Compatible models include: - 8 bits: sx1508q - 16 bits: sx1509q + 8 bits: sx1508q, sx1511 + 16 bits: sx1509q, sx1512 config GPIO_STMPE bool STMPE GPIOs diff --git a/drivers/gpio/gpio-sx150x.c b/drivers/gpio/gpio-sx150x.c index d2983e9..bee1661 100644 --- a/drivers/gpio/gpio-sx150x.c +++ b/drivers/gpio/gpio-sx150x.c @@ -22,9 +22,16 @@ #include linux/module.h #include linux/mutex.h #include linux/slab.h +#include linux/spi/spi.h #include linux/workqueue.h #include linux/i2c/sx150x.h +/** + * SX15xx types supported by driver + */ +#define SX15_TYPE_8_GPIOS 0 +#define SX15_TYPE_16_GPIOS 1 + #define NO_UPDATE_PENDING -1 struct sx150x_device_data { @@ -43,9 +50,17 @@ struct sx150x_device_data { u8 ngpios; }; +struct sx150x_chip; + +struct sx15xx_ops { + s32 (*read)(struct device *dev, u8 reg, u8 *val); + s32 (*write)(struct device *dev, u8 reg, u8 val); +}; + struct sx150x_chip { struct gpio_chip gpio_chip; - struct i2c_client *client; + struct device *dev; + const struct sx15xx_ops *ops; const struct sx150x_device_data *dev_cfg; int irq_summary; int irq_base; @@ -59,7 +74,7 @@ struct sx150x_chip { }; static const struct sx150x_device_data sx150x_devices[] = { - [0] = { /* sx1508q */ + [SX15_TYPE_8_GPIOS] = { /* sx1508q */ .reg_pullup = 0x03, .reg_pulldn = 0x04, .reg_drain= 0x05, @@ -74,7 +89,7 @@ static const struct sx150x_device_data sx150x_devices[] = { .reg_reset= 0x7d, .ngpios = 8 }, - [1] = { /* sx1509q */ + [SX15_TYPE_16_GPIOS] = { /* sx1509q */ .reg_pullup = 0x07, .reg_pulldn = 0x09, .reg_drain= 0x0b, @@ -91,37 +106,86 @@ static const struct sx150x_device_data sx150x_devices[] = { }, }; -static const struct i2c_device_id sx150x_id[] = { - {sx1508q, 0}, - {sx1509q, 1}, - {} -}; -MODULE_DEVICE_TABLE(i2c, sx150x_id); +#ifdef CONFIG_I2C -static s32 sx150x_i2c_write(struct i2c_client *client, u8 reg, u8 val) +static s32 sx150x_i2c_write(struct device *dev, u8 reg, u8 val) { + struct i2c_client *client = to_i2c_client(dev); s32 err = i2c_smbus_write_byte_data(client, reg, val); if (err 0) - dev_warn(client-dev, + dev_warn(dev, i2c write fail: can't write %02x to %02x: %d\n, val, reg, err); return err; } -static s32 sx150x_i2c_read(struct i2c_client *client, u8 reg, u8 *val) +static s32 sx150x_i2c_read(struct device *dev, u8 reg, u8 *val) { + struct i2c_client *client = to_i2c_client(dev); s32 err = i2c_smbus_read_byte_data(client, reg); if (err = 0) *val = err; else - dev_warn(client-dev, + dev_warn(dev, i2c read fail: can't read from %02x: %d\n, reg, err); return err; } +static const struct sx15xx_ops sx150x_ops = { + .read = sx150x_i2c_read, + .write = sx150x_i2c_write, +}; + +#endif /* CONFIG_I2C */ + +#ifdef CONFIG_SPI_MASTER + +static s32 sx151x_spi_write(struct device *dev, u8 reg, u8 val) +{ + struct spi_device *spi = to_spi_device(dev); + u8 tx[2]; + s32 err; + + tx[0] = reg; + tx[1] = val; + + err = spi_write(spi, tx, sizeof tx); + + if (err 0) +
Re: [PATCH v2 6/6] ARM: dts: msm: Add Krait CPU/L2 nodes
On Wed, Oct 30, 2013 at 01:25:36PM -0700, Stephen Boyd wrote: This allows us to probe the krait-edac driver. Cc: David Brown Signed-off-by: Stephen Boyd --- arch/arm/boot/dts/qcom-msm8974.dtsi | 37 + 1 file changed, 37 insertions(+) Acked-by: David Brown -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2 6/6] ARM: dts: msm: Add Krait CPU/L2 nodes
On Wed, Oct 30, 2013 at 01:25:36PM -0700, Stephen Boyd wrote: This allows us to probe the krait-edac driver. Cc: David Brown dav...@codeaurora.org Signed-off-by: Stephen Boyd sb...@codeaurora.org --- arch/arm/boot/dts/qcom-msm8974.dtsi | 37 + 1 file changed, 37 insertions(+) Acked-by: David Brown dav...@codeaurora.org -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 4/4] ARM: msm: Remove 8x50 support
The MSM8x50 SoC support was added in 2010 based on code from Google's Android kernels. Platform support is fairly minimal, and the only changes that have been made have been trivial and cleanup changes. This code has not been converted to device tree, and is hindering support for the multi-platform kernel on ARM. If someone wishes to continue support for this target, patches that provide devicetree and multi-platform support can start by re-adding these files. Signed-off-by: David Brown --- Note that this patch was made with -D. I can send the full patch on request, and have also made the tree available at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git for-3.14/big-cleanup arch/arm/mach-msm/Kconfig | 57 -- arch/arm/mach-msm/Makefile | 14 - arch/arm/mach-msm/board-qsd8x50.c | 213 - arch/arm/mach-msm/clock-pcom.c | 177 arch/arm/mach-msm/clock-pcom.h | 145 arch/arm/mach-msm/devices-qsd8x50.c | 388 - arch/arm/mach-msm/devices.h | 53 -- arch/arm/mach-msm/dma.c | 295 --- arch/arm/mach-msm/gpiomux-8x50.c| 51 -- arch/arm/mach-msm/gpiomux-v1.h | 67 -- arch/arm/mach-msm/gpiomux.c | 111 --- arch/arm/mach-msm/gpiomux.h | 84 -- arch/arm/mach-msm/include/mach/entry-macro.S| 36 - arch/arm/mach-msm/include/mach/hardware.h | 18 - arch/arm/mach-msm/include/mach/irqs-8x50.h | 88 -- arch/arm/mach-msm/include/mach/irqs.h | 37 - arch/arm/mach-msm/include/mach/msm_gpiomux.h| 38 - arch/arm/mach-msm/include/mach/msm_iomap-8x50.h | 125 --- arch/arm/mach-msm/include/mach/msm_iomap.h | 53 -- arch/arm/mach-msm/include/mach/msm_smd.h| 109 --- arch/arm/mach-msm/include/mach/sirc.h | 98 --- arch/arm/mach-msm/include/mach/vreg.h | 29 - arch/arm/mach-msm/io.c | 161 arch/arm/mach-msm/irq-vic.c | 363 arch/arm/mach-msm/last_radio_log.c | 71 -- arch/arm/mach-msm/proc_comm.c | 129 --- arch/arm/mach-msm/proc_comm.h | 258 -- arch/arm/mach-msm/sirc.c| 172 arch/arm/mach-msm/smd.c | 1035 --- arch/arm/mach-msm/smd_debug.c | 311 --- arch/arm/mach-msm/smd_private.h | 403 - arch/arm/mach-msm/vreg.c| 220 - 32 files changed, 5409 deletions(-) delete mode 100644 arch/arm/mach-msm/board-qsd8x50.c delete mode 100644 arch/arm/mach-msm/clock-pcom.c delete mode 100644 arch/arm/mach-msm/clock-pcom.h delete mode 100644 arch/arm/mach-msm/devices-qsd8x50.c delete mode 100644 arch/arm/mach-msm/devices.h delete mode 100644 arch/arm/mach-msm/dma.c delete mode 100644 arch/arm/mach-msm/gpiomux-8x50.c delete mode 100644 arch/arm/mach-msm/gpiomux-v1.h delete mode 100644 arch/arm/mach-msm/gpiomux.c delete mode 100644 arch/arm/mach-msm/gpiomux.h delete mode 100644 arch/arm/mach-msm/include/mach/entry-macro.S delete mode 100644 arch/arm/mach-msm/include/mach/hardware.h delete mode 100644 arch/arm/mach-msm/include/mach/irqs-8x50.h delete mode 100644 arch/arm/mach-msm/include/mach/irqs.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_gpiomux.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_iomap-8x50.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_iomap.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_smd.h delete mode 100644 arch/arm/mach-msm/include/mach/sirc.h delete mode 100644 arch/arm/mach-msm/include/mach/vreg.h delete mode 100644 arch/arm/mach-msm/io.c delete mode 100644 arch/arm/mach-msm/irq-vic.c delete mode 100644 arch/arm/mach-msm/last_radio_log.c delete mode 100644 arch/arm/mach-msm/proc_comm.c delete mode 100644 arch/arm/mach-msm/proc_comm.h delete mode 100644 arch/arm/mach-msm/sirc.c delete mode 100644 arch/arm/mach-msm/smd.c delete mode 100644 arch/arm/mach-msm/smd_debug.c delete mode 100644 arch/arm/mach-msm/smd_private.h delete mode 100644 arch/arm/mach-msm/vreg.c diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index c9c113d..cb239ca 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -3,24 +3,6 @@ if ARCH_MSM comment "Qualcomm MSM SoC Type" depends on ARCH_MSM_DT -choice - prompt "Qualcomm MSM SoC Type" - default ARCH_QSD8X50 - depends on !ARCH_MSM_DT - -config ARCH_QSD8X50 - bool "QSD8X50" - select ARCH_MSM_SCORPION - select CPU_V7 - select GPIO_MSM_V1 - select MACH_QSD8X50_SURF if !MACH_QSD8X50A_ST1_5 - select MSM_GPIOMUX - select MSM_PROC_COMM - select MSM_SMD - select
[PATCH 1/4] ARM: msm: Remove unused board files
These board files were added in 2010, and have never been compiled in the tree. If these targets were to be included, at this point, they would need to be done using device tree, so there is no reason to keep these files around. Signed-off-by: David Brown --- Note that this patch was made with -D. I can send the full patch on request, and have also made the tree available at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git for-3.14/big-cleanup arch/arm/mach-msm/board-mahimahi.c | 88 arch/arm/mach-msm/board-sapphire.c | 117 - 2 files changed, 205 deletions(-) delete mode 100644 arch/arm/mach-msm/board-mahimahi.c delete mode 100644 arch/arm/mach-msm/board-sapphire.c diff --git a/arch/arm/mach-msm/board-mahimahi.c b/arch/arm/mach-msm/board-mahimahi.c deleted file mode 100644 index 7d9981c..000 diff --git a/arch/arm/mach-msm/board-sapphire.c b/arch/arm/mach-msm/board-sapphire.c deleted file mode 100644 index 3276051..000 -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 3/4] ARM: msm: Remove 7x30 support
The MSM7x30 SoC support was added in 2009 based on code from Google's Android kernels. Platform support is fairly minimal, and the only changes that have been made have been trivial and cleanup changes. This code has not been converted to device tree, and is hindering supporting multiple-platform on ARM. If someone wishes to continue support for this target, patches that provide devicetree and multi-platform support can start by re-adding these files. Signed-off-by: David Brown --- Note that this patch was made with -D. I can send the full patch on request, and have also made the tree available at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git for-3.14/big-cleanup arch/arm/mach-msm/Kconfig | 19 +- arch/arm/mach-msm/Makefile | 2 - arch/arm/mach-msm/board-msm7x30.c | 157 --- arch/arm/mach-msm/devices-msm7x30.c | 246 arch/arm/mach-msm/include/mach/irqs-7x30.h | 153 --- arch/arm/mach-msm/include/mach/msm_iomap-7x30.h | 103 -- 6 files changed, 1 insertion(+), 679 deletions(-) delete mode 100644 arch/arm/mach-msm/board-msm7x30.c delete mode 100644 arch/arm/mach-msm/devices-msm7x30.c delete mode 100644 arch/arm/mach-msm/include/mach/irqs-7x30.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_iomap-7x30.h diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index d43d20c..c9c113d 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -5,20 +5,9 @@ comment "Qualcomm MSM SoC Type" choice prompt "Qualcomm MSM SoC Type" - default ARCH_MSM7X30 + default ARCH_QSD8X50 depends on !ARCH_MSM_DT -config ARCH_MSM7X30 - bool "MSM7x30" - select ARCH_MSM_SCORPION - select CPU_V7 - select GPIO_MSM_V1 - select MACH_MSM7X30_SURF # if ! - select MSM_GPIOMUX - select MSM_PROC_COMM - select MSM_SMD - select MSM_VIC - config ARCH_QSD8X50 bool "QSD8X50" select ARCH_MSM_SCORPION @@ -69,12 +58,6 @@ config MSM_VIC menu "Qualcomm MSM Board Type" depends on !ARCH_MSM_DT -config MACH_MSM7X30_SURF - depends on ARCH_MSM7X30 - bool "MSM7x30 SURF" - help - Support for the Qualcomm MSM7x30 SURF eval board. - config MACH_QSD8X50_SURF depends on ARCH_QSD8X50 bool "QSD8x50 SURF" diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile index c7a5b53..4bc7ee4 100644 --- a/arch/arm/mach-msm/Makefile +++ b/arch/arm/mach-msm/Makefile @@ -8,7 +8,6 @@ obj-$(CONFIG_ARCH_QSD8X50) += sirc.o obj-$(CONFIG_MSM_PROC_COMM) += proc_comm.o clock-pcom.o vreg.o obj-$(CONFIG_ARCH_MSM7X00A) += dma.o io.o -obj-$(CONFIG_ARCH_MSM7X30) += dma.o io.o obj-$(CONFIG_ARCH_QSD8X50) += dma.o io.o obj-$(CONFIG_MSM_SMD) += smd.o smd_debug.o @@ -20,7 +19,6 @@ CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1) obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o obj-$(CONFIG_SMP) += headsmp.o platsmp.o -obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o obj-$(CONFIG_ARCH_MSM_DT) += board-dt.o obj-$(CONFIG_MSM_GPIOMUX) += gpiomux.o diff --git a/arch/arm/mach-msm/board-msm7x30.c b/arch/arm/mach-msm/board-msm7x30.c deleted file mode 100644 index f9af5a4..000 diff --git a/arch/arm/mach-msm/devices-msm7x30.c b/arch/arm/mach-msm/devices-msm7x30.c deleted file mode 100644 index c15ea8a..000 diff --git a/arch/arm/mach-msm/include/mach/irqs-7x30.h b/arch/arm/mach-msm/include/mach/irqs-7x30.h deleted file mode 100644 index 1f15902..000 diff --git a/arch/arm/mach-msm/include/mach/msm_iomap-7x30.h b/arch/arm/mach-msm/include/mach/msm_iomap-7x30.h deleted file mode 100644 index 198202c..000 -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 0/4] Remove older ARM msm SoC support
Over the past few years, the ARM msm SoC tree has picked up support for a handfull of SoCs. Each of these targets had a brief period of activity, and has since only received trivial fixes. Support has only been minimal, generally serial console, and possibly storage. None of these saw conversion to device tree, and they contain a lot of headers and other aspects that prevent use in the ARM multi-platform kernel. Current activity on MSM seems to be focused on newer SoCs. These devices have the advantage of having dev-boards available, so hopefully there will be more community activity. There also seems to be effort into better DT and multi-platform support on these targets, but not the older ones. This patch series removes support for the three older Qualcomm SoC families: 7x00, 7x30, and 8x50. If there is a serious desire to support any of these SoCs, patches that make them properly support DT, and multi-platform can begin by adding the necessary files back. Note that because these patches remove a lot of lines of code, and the lengths exceed the size typically allowed on the mailing lists, I've generated the patches with the '-D' option to format-patch. I can send full patches on request, and I've also made the patches available at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git for-3.14/big-cleanup David Brown (4): ARM: msm: Remove unused board files ARM: msm: Remove 7x00 support ARM: msm: Remove 7x30 support ARM: msm: Remove 8x50 support arch/arm/mach-msm/Kconfig | 104 --- arch/arm/mach-msm/Makefile | 20 - arch/arm/mach-msm/board-halibut.c | 110 --- arch/arm/mach-msm/board-mahimahi.c | 88 -- arch/arm/mach-msm/board-msm7x30.c | 157 arch/arm/mach-msm/board-qsd8x50.c | 213 - arch/arm/mach-msm/board-sapphire.c | 117 --- arch/arm/mach-msm/board-trout-gpio.c| 233 - arch/arm/mach-msm/board-trout-mmc.c | 185 arch/arm/mach-msm/board-trout-panel.c | 292 --- arch/arm/mach-msm/board-trout.c | 113 --- arch/arm/mach-msm/board-trout.h | 162 arch/arm/mach-msm/clock-pcom.c | 177 arch/arm/mach-msm/clock-pcom.h | 145 arch/arm/mach-msm/devices-msm7x00.c | 480 --- arch/arm/mach-msm/devices-msm7x30.c | 246 -- arch/arm/mach-msm/devices-qsd8x50.c | 388 - arch/arm/mach-msm/devices.h | 53 -- arch/arm/mach-msm/dma.c | 295 --- arch/arm/mach-msm/gpiomux-8x50.c| 51 -- arch/arm/mach-msm/gpiomux-v1.h | 67 -- arch/arm/mach-msm/gpiomux.c | 111 --- arch/arm/mach-msm/gpiomux.h | 84 -- arch/arm/mach-msm/include/mach/entry-macro.S| 36 - arch/arm/mach-msm/include/mach/hardware.h | 18 - arch/arm/mach-msm/include/mach/irqs-7x00.h | 75 -- arch/arm/mach-msm/include/mach/irqs-7x30.h | 153 arch/arm/mach-msm/include/mach/irqs-8x50.h | 88 -- arch/arm/mach-msm/include/mach/irqs.h | 37 - arch/arm/mach-msm/include/mach/msm_gpiomux.h| 38 - arch/arm/mach-msm/include/mach/msm_iomap-7x00.h | 108 --- arch/arm/mach-msm/include/mach/msm_iomap-7x30.h | 103 --- arch/arm/mach-msm/include/mach/msm_iomap-8x50.h | 125 --- arch/arm/mach-msm/include/mach/msm_iomap.h | 53 -- arch/arm/mach-msm/include/mach/msm_smd.h| 109 --- arch/arm/mach-msm/include/mach/sirc.h | 98 --- arch/arm/mach-msm/include/mach/vreg.h | 29 - arch/arm/mach-msm/io.c | 161 arch/arm/mach-msm/irq-vic.c | 363 arch/arm/mach-msm/irq.c | 151 arch/arm/mach-msm/last_radio_log.c | 71 -- arch/arm/mach-msm/proc_comm.c | 129 --- arch/arm/mach-msm/proc_comm.h | 258 -- arch/arm/mach-msm/sirc.c| 172 arch/arm/mach-msm/smd.c | 1035 --- arch/arm/mach-msm/smd_debug.c | 311 --- arch/arm/mach-msm/smd_private.h | 403 - arch/arm/mach-msm/vreg.c| 220 - 48 files changed, 8235 deletions(-) delete mode 100644 arch/arm/mach-msm/board-halibut.c delete mode 100644 arch/arm/mach-msm/board-mahimahi.c delete mode 100644 arch/arm/mach-msm/board-msm7x30.c delete mode 100644 arch/arm/mach-msm/board-qsd8x50.c delete mode 100644 arch/arm/mach-msm/board-sapphire.c delete mode 100644 arch/arm/mach-msm/board-trout-gpio.c delete mode 100644 arch/arm/mach-msm/board-trout-mmc.c delete mode 100644 arch/arm/mach-msm/board-trout-panel.c delete mode 100644 arch/arm/mach-msm/board-trout.c delete mode 100644
[PATCH 2/4] ARM: msm: Remove 7x00 support
Support for the MSM7x00 SoCs was added starting in 2008 based on code from Google's Android kernels. Platform support is fairly minimal, and there have primarily been trivial and cleanup changes to this code. This code has not been converted to device tree, and is hindering supporting multi-platform on ARM. If someone wishes to continue support for this target, patches that provide devicetree and multi-platform support can start by re-adding these files. Signed-off-by: David Brown --- Note that this patch was made with -D. I can send the full patch on request, and have also made the tree available at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git for-3.14/big-cleanup arch/arm/mach-msm/Kconfig | 32 +- arch/arm/mach-msm/Makefile | 4 - arch/arm/mach-msm/board-halibut.c | 110 -- arch/arm/mach-msm/board-trout-gpio.c| 233 arch/arm/mach-msm/board-trout-mmc.c | 185 - arch/arm/mach-msm/board-trout-panel.c | 292 -- arch/arm/mach-msm/board-trout.c | 113 -- arch/arm/mach-msm/board-trout.h | 162 arch/arm/mach-msm/devices-msm7x00.c | 480 arch/arm/mach-msm/include/mach/irqs-7x00.h | 75 arch/arm/mach-msm/include/mach/msm_iomap-7x00.h | 108 -- arch/arm/mach-msm/irq.c | 151 12 files changed, 1 insertion(+), 1944 deletions(-) delete mode 100644 arch/arm/mach-msm/board-halibut.c delete mode 100644 arch/arm/mach-msm/board-trout-gpio.c delete mode 100644 arch/arm/mach-msm/board-trout-mmc.c delete mode 100644 arch/arm/mach-msm/board-trout-panel.c delete mode 100644 arch/arm/mach-msm/board-trout.c delete mode 100644 arch/arm/mach-msm/board-trout.h delete mode 100644 arch/arm/mach-msm/devices-msm7x00.c delete mode 100644 arch/arm/mach-msm/include/mach/irqs-7x00.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_iomap-7x00.h delete mode 100644 arch/arm/mach-msm/irq.c diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 2586c28..d43d20c 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -5,19 +5,9 @@ comment "Qualcomm MSM SoC Type" choice prompt "Qualcomm MSM SoC Type" - default ARCH_MSM7X00A + default ARCH_MSM7X30 depends on !ARCH_MSM_DT -config ARCH_MSM7X00A - bool "MSM7x00A / MSM7x01A" - select ARCH_MSM_ARM11 - select CPU_V6 - select GPIO_MSM_V1 - select MACH_TROUT if !MACH_HALIBUT - select MSM_PROC_COMM - select MSM_SMD - select MSM_SMD_PKG3 - config ARCH_MSM7X30 bool "MSM7x30" select ARCH_MSM_SCORPION @@ -70,9 +60,6 @@ config MSM_HAS_DEBUG_UART_HS config MSM_SOC_REV_A bool -config ARCH_MSM_ARM11 - bool - config ARCH_MSM_SCORPION bool @@ -82,20 +69,6 @@ config MSM_VIC menu "Qualcomm MSM Board Type" depends on !ARCH_MSM_DT -config MACH_HALIBUT - depends on ARCH_MSM - depends on ARCH_MSM7X00A - bool "Halibut Board (QCT SURF7201A)" - help - Support for the Qualcomm SURF7201A eval board. - -config MACH_TROUT - depends on ARCH_MSM - depends on ARCH_MSM7X00A - bool "HTC Dream (aka trout)" - help - Support for the HTC Dream, T-Mobile G1, Android ADP1 devices. - config MACH_MSM7X30_SURF depends on ARCH_MSM7X30 bool "MSM7x30 SURF" @@ -117,9 +90,6 @@ config MACH_QSD8X50A_ST1_5 endmenu -config MSM_SMD_PKG3 - bool - config MSM_PROC_COMM bool diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile index 7ed4c1b..c7a5b53 100644 --- a/arch/arm/mach-msm/Makefile +++ b/arch/arm/mach-msm/Makefile @@ -3,7 +3,6 @@ obj-y += clock.o obj-$(CONFIG_MSM_VIC) += irq-vic.o -obj-$(CONFIG_ARCH_MSM7X00A) += irq.o obj-$(CONFIG_ARCH_QSD8X50) += sirc.o obj-$(CONFIG_MSM_PROC_COMM) += proc_comm.o clock-pcom.o vreg.o @@ -21,9 +20,6 @@ CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1) obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o obj-$(CONFIG_SMP) += headsmp.o platsmp.o -obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o devices-msm7x00.o -obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o board-trout-panel.o devices-msm7x00.o -obj-$(CONFIG_MACH_HALIBUT) += board-halibut.o devices-msm7x00.o obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o obj-$(CONFIG_ARCH_MSM_DT) += board-dt.o diff --git a/arch/arm/mach-msm/board-halibut.c b/arch/arm/mach-msm/board-halibut.c deleted file mode 100644 index a775298..000 diff --git a/arch/arm/mach-msm/board-trout-gpio.c b/arch/arm/mach-msm/board-trout-gpio.c deleted file mod
[PATCH 0/4] Remove older ARM msm SoC support
Over the past few years, the ARM msm SoC tree has picked up support for a handfull of SoCs. Each of these targets had a brief period of activity, and has since only received trivial fixes. Support has only been minimal, generally serial console, and possibly storage. None of these saw conversion to device tree, and they contain a lot of headers and other aspects that prevent use in the ARM multi-platform kernel. Current activity on MSM seems to be focused on newer SoCs. These devices have the advantage of having dev-boards available, so hopefully there will be more community activity. There also seems to be effort into better DT and multi-platform support on these targets, but not the older ones. This patch series removes support for the three older Qualcomm SoC families: 7x00, 7x30, and 8x50. If there is a serious desire to support any of these SoCs, patches that make them properly support DT, and multi-platform can begin by adding the necessary files back. Note that because these patches remove a lot of lines of code, and the lengths exceed the size typically allowed on the mailing lists, I've generated the patches with the '-D' option to format-patch. I can send full patches on request, and I've also made the patches available at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git for-3.14/big-cleanup David Brown (4): ARM: msm: Remove unused board files ARM: msm: Remove 7x00 support ARM: msm: Remove 7x30 support ARM: msm: Remove 8x50 support arch/arm/mach-msm/Kconfig | 104 --- arch/arm/mach-msm/Makefile | 20 - arch/arm/mach-msm/board-halibut.c | 110 --- arch/arm/mach-msm/board-mahimahi.c | 88 -- arch/arm/mach-msm/board-msm7x30.c | 157 arch/arm/mach-msm/board-qsd8x50.c | 213 - arch/arm/mach-msm/board-sapphire.c | 117 --- arch/arm/mach-msm/board-trout-gpio.c| 233 - arch/arm/mach-msm/board-trout-mmc.c | 185 arch/arm/mach-msm/board-trout-panel.c | 292 --- arch/arm/mach-msm/board-trout.c | 113 --- arch/arm/mach-msm/board-trout.h | 162 arch/arm/mach-msm/clock-pcom.c | 177 arch/arm/mach-msm/clock-pcom.h | 145 arch/arm/mach-msm/devices-msm7x00.c | 480 --- arch/arm/mach-msm/devices-msm7x30.c | 246 -- arch/arm/mach-msm/devices-qsd8x50.c | 388 - arch/arm/mach-msm/devices.h | 53 -- arch/arm/mach-msm/dma.c | 295 --- arch/arm/mach-msm/gpiomux-8x50.c| 51 -- arch/arm/mach-msm/gpiomux-v1.h | 67 -- arch/arm/mach-msm/gpiomux.c | 111 --- arch/arm/mach-msm/gpiomux.h | 84 -- arch/arm/mach-msm/include/mach/entry-macro.S| 36 - arch/arm/mach-msm/include/mach/hardware.h | 18 - arch/arm/mach-msm/include/mach/irqs-7x00.h | 75 -- arch/arm/mach-msm/include/mach/irqs-7x30.h | 153 arch/arm/mach-msm/include/mach/irqs-8x50.h | 88 -- arch/arm/mach-msm/include/mach/irqs.h | 37 - arch/arm/mach-msm/include/mach/msm_gpiomux.h| 38 - arch/arm/mach-msm/include/mach/msm_iomap-7x00.h | 108 --- arch/arm/mach-msm/include/mach/msm_iomap-7x30.h | 103 --- arch/arm/mach-msm/include/mach/msm_iomap-8x50.h | 125 --- arch/arm/mach-msm/include/mach/msm_iomap.h | 53 -- arch/arm/mach-msm/include/mach/msm_smd.h| 109 --- arch/arm/mach-msm/include/mach/sirc.h | 98 --- arch/arm/mach-msm/include/mach/vreg.h | 29 - arch/arm/mach-msm/io.c | 161 arch/arm/mach-msm/irq-vic.c | 363 arch/arm/mach-msm/irq.c | 151 arch/arm/mach-msm/last_radio_log.c | 71 -- arch/arm/mach-msm/proc_comm.c | 129 --- arch/arm/mach-msm/proc_comm.h | 258 -- arch/arm/mach-msm/sirc.c| 172 arch/arm/mach-msm/smd.c | 1035 --- arch/arm/mach-msm/smd_debug.c | 311 --- arch/arm/mach-msm/smd_private.h | 403 - arch/arm/mach-msm/vreg.c| 220 - 48 files changed, 8235 deletions(-) delete mode 100644 arch/arm/mach-msm/board-halibut.c delete mode 100644 arch/arm/mach-msm/board-mahimahi.c delete mode 100644 arch/arm/mach-msm/board-msm7x30.c delete mode 100644 arch/arm/mach-msm/board-qsd8x50.c delete mode 100644 arch/arm/mach-msm/board-sapphire.c delete mode 100644 arch/arm/mach-msm/board-trout-gpio.c delete mode 100644 arch/arm/mach-msm/board-trout-mmc.c delete mode 100644 arch/arm/mach-msm/board-trout-panel.c delete mode 100644 arch/arm/mach-msm/board-trout.c delete mode 100644
[PATCH 2/4] ARM: msm: Remove 7x00 support
Support for the MSM7x00 SoCs was added starting in 2008 based on code from Google's Android kernels. Platform support is fairly minimal, and there have primarily been trivial and cleanup changes to this code. This code has not been converted to device tree, and is hindering supporting multi-platform on ARM. If someone wishes to continue support for this target, patches that provide devicetree and multi-platform support can start by re-adding these files. Signed-off-by: David Brown dav...@codeaurora.org --- Note that this patch was made with -D. I can send the full patch on request, and have also made the tree available at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git for-3.14/big-cleanup arch/arm/mach-msm/Kconfig | 32 +- arch/arm/mach-msm/Makefile | 4 - arch/arm/mach-msm/board-halibut.c | 110 -- arch/arm/mach-msm/board-trout-gpio.c| 233 arch/arm/mach-msm/board-trout-mmc.c | 185 - arch/arm/mach-msm/board-trout-panel.c | 292 -- arch/arm/mach-msm/board-trout.c | 113 -- arch/arm/mach-msm/board-trout.h | 162 arch/arm/mach-msm/devices-msm7x00.c | 480 arch/arm/mach-msm/include/mach/irqs-7x00.h | 75 arch/arm/mach-msm/include/mach/msm_iomap-7x00.h | 108 -- arch/arm/mach-msm/irq.c | 151 12 files changed, 1 insertion(+), 1944 deletions(-) delete mode 100644 arch/arm/mach-msm/board-halibut.c delete mode 100644 arch/arm/mach-msm/board-trout-gpio.c delete mode 100644 arch/arm/mach-msm/board-trout-mmc.c delete mode 100644 arch/arm/mach-msm/board-trout-panel.c delete mode 100644 arch/arm/mach-msm/board-trout.c delete mode 100644 arch/arm/mach-msm/board-trout.h delete mode 100644 arch/arm/mach-msm/devices-msm7x00.c delete mode 100644 arch/arm/mach-msm/include/mach/irqs-7x00.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_iomap-7x00.h delete mode 100644 arch/arm/mach-msm/irq.c diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 2586c28..d43d20c 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -5,19 +5,9 @@ comment Qualcomm MSM SoC Type choice prompt Qualcomm MSM SoC Type - default ARCH_MSM7X00A + default ARCH_MSM7X30 depends on !ARCH_MSM_DT -config ARCH_MSM7X00A - bool MSM7x00A / MSM7x01A - select ARCH_MSM_ARM11 - select CPU_V6 - select GPIO_MSM_V1 - select MACH_TROUT if !MACH_HALIBUT - select MSM_PROC_COMM - select MSM_SMD - select MSM_SMD_PKG3 - config ARCH_MSM7X30 bool MSM7x30 select ARCH_MSM_SCORPION @@ -70,9 +60,6 @@ config MSM_HAS_DEBUG_UART_HS config MSM_SOC_REV_A bool -config ARCH_MSM_ARM11 - bool - config ARCH_MSM_SCORPION bool @@ -82,20 +69,6 @@ config MSM_VIC menu Qualcomm MSM Board Type depends on !ARCH_MSM_DT -config MACH_HALIBUT - depends on ARCH_MSM - depends on ARCH_MSM7X00A - bool Halibut Board (QCT SURF7201A) - help - Support for the Qualcomm SURF7201A eval board. - -config MACH_TROUT - depends on ARCH_MSM - depends on ARCH_MSM7X00A - bool HTC Dream (aka trout) - help - Support for the HTC Dream, T-Mobile G1, Android ADP1 devices. - config MACH_MSM7X30_SURF depends on ARCH_MSM7X30 bool MSM7x30 SURF @@ -117,9 +90,6 @@ config MACH_QSD8X50A_ST1_5 endmenu -config MSM_SMD_PKG3 - bool - config MSM_PROC_COMM bool diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile index 7ed4c1b..c7a5b53 100644 --- a/arch/arm/mach-msm/Makefile +++ b/arch/arm/mach-msm/Makefile @@ -3,7 +3,6 @@ obj-y += clock.o obj-$(CONFIG_MSM_VIC) += irq-vic.o -obj-$(CONFIG_ARCH_MSM7X00A) += irq.o obj-$(CONFIG_ARCH_QSD8X50) += sirc.o obj-$(CONFIG_MSM_PROC_COMM) += proc_comm.o clock-pcom.o vreg.o @@ -21,9 +20,6 @@ CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1) obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o obj-$(CONFIG_SMP) += headsmp.o platsmp.o -obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o devices-msm7x00.o -obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o board-trout-panel.o devices-msm7x00.o -obj-$(CONFIG_MACH_HALIBUT) += board-halibut.o devices-msm7x00.o obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o obj-$(CONFIG_ARCH_MSM_DT) += board-dt.o diff --git a/arch/arm/mach-msm/board-halibut.c b/arch/arm/mach-msm/board-halibut.c deleted file mode 100644 index a775298..000 diff --git a/arch/arm/mach-msm/board-trout-gpio.c b/arch/arm/mach-msm/board-trout-gpio.c deleted file mode 100644 index 87e1d01..000 diff --git a/arch/arm/mach-msm/board-trout
[PATCH 3/4] ARM: msm: Remove 7x30 support
The MSM7x30 SoC support was added in 2009 based on code from Google's Android kernels. Platform support is fairly minimal, and the only changes that have been made have been trivial and cleanup changes. This code has not been converted to device tree, and is hindering supporting multiple-platform on ARM. If someone wishes to continue support for this target, patches that provide devicetree and multi-platform support can start by re-adding these files. Signed-off-by: David Brown dav...@codeaurora.org --- Note that this patch was made with -D. I can send the full patch on request, and have also made the tree available at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git for-3.14/big-cleanup arch/arm/mach-msm/Kconfig | 19 +- arch/arm/mach-msm/Makefile | 2 - arch/arm/mach-msm/board-msm7x30.c | 157 --- arch/arm/mach-msm/devices-msm7x30.c | 246 arch/arm/mach-msm/include/mach/irqs-7x30.h | 153 --- arch/arm/mach-msm/include/mach/msm_iomap-7x30.h | 103 -- 6 files changed, 1 insertion(+), 679 deletions(-) delete mode 100644 arch/arm/mach-msm/board-msm7x30.c delete mode 100644 arch/arm/mach-msm/devices-msm7x30.c delete mode 100644 arch/arm/mach-msm/include/mach/irqs-7x30.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_iomap-7x30.h diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index d43d20c..c9c113d 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -5,20 +5,9 @@ comment Qualcomm MSM SoC Type choice prompt Qualcomm MSM SoC Type - default ARCH_MSM7X30 + default ARCH_QSD8X50 depends on !ARCH_MSM_DT -config ARCH_MSM7X30 - bool MSM7x30 - select ARCH_MSM_SCORPION - select CPU_V7 - select GPIO_MSM_V1 - select MACH_MSM7X30_SURF # if ! - select MSM_GPIOMUX - select MSM_PROC_COMM - select MSM_SMD - select MSM_VIC - config ARCH_QSD8X50 bool QSD8X50 select ARCH_MSM_SCORPION @@ -69,12 +58,6 @@ config MSM_VIC menu Qualcomm MSM Board Type depends on !ARCH_MSM_DT -config MACH_MSM7X30_SURF - depends on ARCH_MSM7X30 - bool MSM7x30 SURF - help - Support for the Qualcomm MSM7x30 SURF eval board. - config MACH_QSD8X50_SURF depends on ARCH_QSD8X50 bool QSD8x50 SURF diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile index c7a5b53..4bc7ee4 100644 --- a/arch/arm/mach-msm/Makefile +++ b/arch/arm/mach-msm/Makefile @@ -8,7 +8,6 @@ obj-$(CONFIG_ARCH_QSD8X50) += sirc.o obj-$(CONFIG_MSM_PROC_COMM) += proc_comm.o clock-pcom.o vreg.o obj-$(CONFIG_ARCH_MSM7X00A) += dma.o io.o -obj-$(CONFIG_ARCH_MSM7X30) += dma.o io.o obj-$(CONFIG_ARCH_QSD8X50) += dma.o io.o obj-$(CONFIG_MSM_SMD) += smd.o smd_debug.o @@ -20,7 +19,6 @@ CFLAGS_scm.o :=$(call as-instr,.arch_extension sec,-DREQUIRES_SEC=1) obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o obj-$(CONFIG_SMP) += headsmp.o platsmp.o -obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o obj-$(CONFIG_ARCH_MSM_DT) += board-dt.o obj-$(CONFIG_MSM_GPIOMUX) += gpiomux.o diff --git a/arch/arm/mach-msm/board-msm7x30.c b/arch/arm/mach-msm/board-msm7x30.c deleted file mode 100644 index f9af5a4..000 diff --git a/arch/arm/mach-msm/devices-msm7x30.c b/arch/arm/mach-msm/devices-msm7x30.c deleted file mode 100644 index c15ea8a..000 diff --git a/arch/arm/mach-msm/include/mach/irqs-7x30.h b/arch/arm/mach-msm/include/mach/irqs-7x30.h deleted file mode 100644 index 1f15902..000 diff --git a/arch/arm/mach-msm/include/mach/msm_iomap-7x30.h b/arch/arm/mach-msm/include/mach/msm_iomap-7x30.h deleted file mode 100644 index 198202c..000 -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 4/4] ARM: msm: Remove 8x50 support
The MSM8x50 SoC support was added in 2010 based on code from Google's Android kernels. Platform support is fairly minimal, and the only changes that have been made have been trivial and cleanup changes. This code has not been converted to device tree, and is hindering support for the multi-platform kernel on ARM. If someone wishes to continue support for this target, patches that provide devicetree and multi-platform support can start by re-adding these files. Signed-off-by: David Brown dav...@codeaurora.org --- Note that this patch was made with -D. I can send the full patch on request, and have also made the tree available at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git for-3.14/big-cleanup arch/arm/mach-msm/Kconfig | 57 -- arch/arm/mach-msm/Makefile | 14 - arch/arm/mach-msm/board-qsd8x50.c | 213 - arch/arm/mach-msm/clock-pcom.c | 177 arch/arm/mach-msm/clock-pcom.h | 145 arch/arm/mach-msm/devices-qsd8x50.c | 388 - arch/arm/mach-msm/devices.h | 53 -- arch/arm/mach-msm/dma.c | 295 --- arch/arm/mach-msm/gpiomux-8x50.c| 51 -- arch/arm/mach-msm/gpiomux-v1.h | 67 -- arch/arm/mach-msm/gpiomux.c | 111 --- arch/arm/mach-msm/gpiomux.h | 84 -- arch/arm/mach-msm/include/mach/entry-macro.S| 36 - arch/arm/mach-msm/include/mach/hardware.h | 18 - arch/arm/mach-msm/include/mach/irqs-8x50.h | 88 -- arch/arm/mach-msm/include/mach/irqs.h | 37 - arch/arm/mach-msm/include/mach/msm_gpiomux.h| 38 - arch/arm/mach-msm/include/mach/msm_iomap-8x50.h | 125 --- arch/arm/mach-msm/include/mach/msm_iomap.h | 53 -- arch/arm/mach-msm/include/mach/msm_smd.h| 109 --- arch/arm/mach-msm/include/mach/sirc.h | 98 --- arch/arm/mach-msm/include/mach/vreg.h | 29 - arch/arm/mach-msm/io.c | 161 arch/arm/mach-msm/irq-vic.c | 363 arch/arm/mach-msm/last_radio_log.c | 71 -- arch/arm/mach-msm/proc_comm.c | 129 --- arch/arm/mach-msm/proc_comm.h | 258 -- arch/arm/mach-msm/sirc.c| 172 arch/arm/mach-msm/smd.c | 1035 --- arch/arm/mach-msm/smd_debug.c | 311 --- arch/arm/mach-msm/smd_private.h | 403 - arch/arm/mach-msm/vreg.c| 220 - 32 files changed, 5409 deletions(-) delete mode 100644 arch/arm/mach-msm/board-qsd8x50.c delete mode 100644 arch/arm/mach-msm/clock-pcom.c delete mode 100644 arch/arm/mach-msm/clock-pcom.h delete mode 100644 arch/arm/mach-msm/devices-qsd8x50.c delete mode 100644 arch/arm/mach-msm/devices.h delete mode 100644 arch/arm/mach-msm/dma.c delete mode 100644 arch/arm/mach-msm/gpiomux-8x50.c delete mode 100644 arch/arm/mach-msm/gpiomux-v1.h delete mode 100644 arch/arm/mach-msm/gpiomux.c delete mode 100644 arch/arm/mach-msm/gpiomux.h delete mode 100644 arch/arm/mach-msm/include/mach/entry-macro.S delete mode 100644 arch/arm/mach-msm/include/mach/hardware.h delete mode 100644 arch/arm/mach-msm/include/mach/irqs-8x50.h delete mode 100644 arch/arm/mach-msm/include/mach/irqs.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_gpiomux.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_iomap-8x50.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_iomap.h delete mode 100644 arch/arm/mach-msm/include/mach/msm_smd.h delete mode 100644 arch/arm/mach-msm/include/mach/sirc.h delete mode 100644 arch/arm/mach-msm/include/mach/vreg.h delete mode 100644 arch/arm/mach-msm/io.c delete mode 100644 arch/arm/mach-msm/irq-vic.c delete mode 100644 arch/arm/mach-msm/last_radio_log.c delete mode 100644 arch/arm/mach-msm/proc_comm.c delete mode 100644 arch/arm/mach-msm/proc_comm.h delete mode 100644 arch/arm/mach-msm/sirc.c delete mode 100644 arch/arm/mach-msm/smd.c delete mode 100644 arch/arm/mach-msm/smd_debug.c delete mode 100644 arch/arm/mach-msm/smd_private.h delete mode 100644 arch/arm/mach-msm/vreg.c diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index c9c113d..cb239ca 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -3,24 +3,6 @@ if ARCH_MSM comment Qualcomm MSM SoC Type depends on ARCH_MSM_DT -choice - prompt Qualcomm MSM SoC Type - default ARCH_QSD8X50 - depends on !ARCH_MSM_DT - -config ARCH_QSD8X50 - bool QSD8X50 - select ARCH_MSM_SCORPION - select CPU_V7 - select GPIO_MSM_V1 - select MACH_QSD8X50_SURF if !MACH_QSD8X50A_ST1_5 - select MSM_GPIOMUX - select MSM_PROC_COMM - select MSM_SMD - select MSM_VIC - -endchoice
[PATCH 1/4] ARM: msm: Remove unused board files
These board files were added in 2010, and have never been compiled in the tree. If these targets were to be included, at this point, they would need to be done using device tree, so there is no reason to keep these files around. Signed-off-by: David Brown dav...@codeaurora.org --- Note that this patch was made with -D. I can send the full patch on request, and have also made the tree available at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git for-3.14/big-cleanup arch/arm/mach-msm/board-mahimahi.c | 88 arch/arm/mach-msm/board-sapphire.c | 117 - 2 files changed, 205 deletions(-) delete mode 100644 arch/arm/mach-msm/board-mahimahi.c delete mode 100644 arch/arm/mach-msm/board-sapphire.c diff --git a/arch/arm/mach-msm/board-mahimahi.c b/arch/arm/mach-msm/board-mahimahi.c deleted file mode 100644 index 7d9981c..000 diff --git a/arch/arm/mach-msm/board-sapphire.c b/arch/arm/mach-msm/board-sapphire.c deleted file mode 100644 index 3276051..000 -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCHv6 2/4] ARM: msm: Add support for APQ8074 Dragonboard
On Thu, Oct 17, 2013 at 11:25:10AM -0700, Rohit Vaswani wrote: This patch adds basic board support for APQ8074 Dragonboard which belongs to the Snapdragon 800 family. For now, just support a basic machine with device tree. Signed-off-by: Rohit Vaswani --- Do you mind putting some history in the commentary part of your patches, especially, like this one, when you make it to v6. Just a brief description of what you've changed makes it a lot easier for reviewers to determine if their concern has been addressed, and what else might have changed. This missed yesterday's pull request, so I'll probably make another one to include this. David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCHv6 2/4] ARM: msm: Add support for APQ8074 Dragonboard
On Thu, Oct 17, 2013 at 11:25:10AM -0700, Rohit Vaswani wrote: This patch adds basic board support for APQ8074 Dragonboard which belongs to the Snapdragon 800 family. For now, just support a basic machine with device tree. Signed-off-by: Rohit Vaswani rvasw...@codeaurora.org --- Do you mind putting some history in the commentary part of your patches, especially, like this one, when you make it to v6. Just a brief description of what you've changed makes it a lot easier for reviewers to determine if their concern has been addressed, and what else might have changed. This missed yesterday's pull request, so I'll probably make another one to include this. David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/4] ARM: debug: Create CONFIG_DEBUG_MSM_UART and re-organize the selects for MSM
On Thu, Oct 03, 2013 at 04:05:54PM -0700, Rohit Vaswani wrote: Create the hidden config DEBUG_MSM_UART and clean-up the default selection for CONFIG_DEBUG_LL_INCLUDE. Signed-off-by: Rohit Vaswani Acked-by: David Brown -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[GIT PULL] msm cleanups for v3.13
The following changes since commit 4a10c2ac2f368583138b774ca41fac4207911983: Linux 3.12-rc2 (2013-09-23 15:41:09 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git tags/msm-cleanup-for-3.13 for you to fetch changes up to 81cf1e061d001fab44dbaa85fc4fbfb6da6713a1: ARM: msm: Rename msm devicetrees to have standard 'qcom' prefix (2013-09-25 13:02:56 -0700) General cleanups for MSM for 3.13 Some small cleanups for MSM. Removes extraneous irq definitions that aren't used on DT targets, moves the single existing board file to board-dt.c in antipication of additional targets, and renames the existing DT files to have a common 'qcom' prefix. Kumar Gala (1): ARM: msm: Rename msm devicetrees to have standard 'qcom' prefix Rohit Vaswani (1): ARM: msm: Create a common board-dt and config ARCH_MSM_DT Stephen Boyd (1): ARM: msm: Remove irqs-*.h files for DT based targets arch/arm/boot/dts/Makefile | 4 +- .../{msm8660-surf.dts => qcom-msm8660-surf.dts}| 0 .../dts/{msm8960-cdp.dts => qcom-msm8960-cdp.dts} | 0 arch/arm/mach-msm/Kconfig | 13 +- arch/arm/mach-msm/Makefile | 3 +- arch/arm/mach-msm/board-dt-8660.c | 48 arch/arm/mach-msm/{board-dt-8960.c => board-dt.c} | 17 +- arch/arm/mach-msm/include/mach/irqs-8960.h | 277 - arch/arm/mach-msm/include/mach/irqs-8x60.h | 258 --- arch/arm/mach-msm/include/mach/irqs.h | 5 - 10 files changed, 20 insertions(+), 605 deletions(-) rename arch/arm/boot/dts/{msm8660-surf.dts => qcom-msm8660-surf.dts} (100%) rename arch/arm/boot/dts/{msm8960-cdp.dts => qcom-msm8960-cdp.dts} (100%) delete mode 100644 arch/arm/mach-msm/board-dt-8660.c rename arch/arm/mach-msm/{board-dt-8960.c => board-dt.c} (64%) delete mode 100644 arch/arm/mach-msm/include/mach/irqs-8960.h delete mode 100644 arch/arm/mach-msm/include/mach/irqs-8x60.h -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 3/4] ARM: debug: msm: Add DEBUG_LL support for ARCH_MSM8974
On Thu, Oct 03, 2013 at 04:05:56PM -0700, Rohit Vaswani wrote: Add debug uart support for MSM8974. This patch adds a Kconfig entry and the base address for the debug uart. Signed-off-by: Rohit Vaswani --- arch/arm/Kconfig.debug | 9 + arch/arm/include/debug/msm.S | 5 + 2 files changed, 14 insertions(+) Acked-by: David Brown -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 3/4] ARM: debug: msm: Add DEBUG_LL support for ARCH_MSM8974
On Thu, Oct 03, 2013 at 04:05:56PM -0700, Rohit Vaswani wrote: Add debug uart support for MSM8974. This patch adds a Kconfig entry and the base address for the debug uart. Signed-off-by: Rohit Vaswani rvasw...@codeaurora.org --- arch/arm/Kconfig.debug | 9 + arch/arm/include/debug/msm.S | 5 + 2 files changed, 14 insertions(+) Acked-by: David Brown dav...@codeaurora.org -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[GIT PULL] msm cleanups for v3.13
The following changes since commit 4a10c2ac2f368583138b774ca41fac4207911983: Linux 3.12-rc2 (2013-09-23 15:41:09 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git tags/msm-cleanup-for-3.13 for you to fetch changes up to 81cf1e061d001fab44dbaa85fc4fbfb6da6713a1: ARM: msm: Rename msm devicetrees to have standard 'qcom' prefix (2013-09-25 13:02:56 -0700) General cleanups for MSM for 3.13 Some small cleanups for MSM. Removes extraneous irq definitions that aren't used on DT targets, moves the single existing board file to board-dt.c in antipication of additional targets, and renames the existing DT files to have a common 'qcom' prefix. Kumar Gala (1): ARM: msm: Rename msm devicetrees to have standard 'qcom' prefix Rohit Vaswani (1): ARM: msm: Create a common board-dt and config ARCH_MSM_DT Stephen Boyd (1): ARM: msm: Remove irqs-*.h files for DT based targets arch/arm/boot/dts/Makefile | 4 +- .../{msm8660-surf.dts = qcom-msm8660-surf.dts}| 0 .../dts/{msm8960-cdp.dts = qcom-msm8960-cdp.dts} | 0 arch/arm/mach-msm/Kconfig | 13 +- arch/arm/mach-msm/Makefile | 3 +- arch/arm/mach-msm/board-dt-8660.c | 48 arch/arm/mach-msm/{board-dt-8960.c = board-dt.c} | 17 +- arch/arm/mach-msm/include/mach/irqs-8960.h | 277 - arch/arm/mach-msm/include/mach/irqs-8x60.h | 258 --- arch/arm/mach-msm/include/mach/irqs.h | 5 - 10 files changed, 20 insertions(+), 605 deletions(-) rename arch/arm/boot/dts/{msm8660-surf.dts = qcom-msm8660-surf.dts} (100%) rename arch/arm/boot/dts/{msm8960-cdp.dts = qcom-msm8960-cdp.dts} (100%) delete mode 100644 arch/arm/mach-msm/board-dt-8660.c rename arch/arm/mach-msm/{board-dt-8960.c = board-dt.c} (64%) delete mode 100644 arch/arm/mach-msm/include/mach/irqs-8960.h delete mode 100644 arch/arm/mach-msm/include/mach/irqs-8x60.h -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/4] ARM: debug: Create CONFIG_DEBUG_MSM_UART and re-organize the selects for MSM
On Thu, Oct 03, 2013 at 04:05:54PM -0700, Rohit Vaswani wrote: Create the hidden config DEBUG_MSM_UART and clean-up the default selection for CONFIG_DEBUG_LL_INCLUDE. Signed-off-by: Rohit Vaswani rvasw...@codeaurora.org Acked-by: David Brown dav...@codeaurora.org -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 2/2] USB: ehci-msm: Add device tree support and binding information
On Fri, Oct 11, 2013 at 02:46:10PM +0300, Ivan T. Ivanov wrote: From: "Ivan T. Ivanov" Allows MSM EHCI controller to be specified via device tree. Signed-off-by: Ivan T. Ivanov --- .../devicetree/bindings/usb/msm-hsusb.txt | 17 + drivers/usb/host/ehci-msm.c| 15 +-- Acked-by: David Brown -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] ehci-msm: Remove global struct usb_phy variable
On Fri, Oct 11, 2013 at 02:46:09PM +0300, Ivan T. Ivanov wrote: From: "Ivan T. Ivanov" Use struct usb_hcd::phy to hold USB PHY instance. Signed-off-by: Ivan T. Ivanov --- drivers/usb/host/ehci-msm.c |5 +++-- Acked-by: David Brown -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 2/2] USB: ehci-msm: Add device tree support and binding information
On Fri, Oct 11, 2013 at 02:46:10PM +0300, Ivan T. Ivanov wrote: From: Ivan T. Ivanov iiva...@mm-sol.com Allows MSM EHCI controller to be specified via device tree. Signed-off-by: Ivan T. Ivanov iiva...@mm-sol.com --- .../devicetree/bindings/usb/msm-hsusb.txt | 17 + drivers/usb/host/ehci-msm.c| 15 +-- Acked-by: David Brown dav...@codeaurora.org -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] ehci-msm: Remove global struct usb_phy variable
On Fri, Oct 11, 2013 at 02:46:09PM +0300, Ivan T. Ivanov wrote: From: Ivan T. Ivanov iiva...@mm-sol.com Use struct usb_hcd::phy to hold USB PHY instance. Signed-off-by: Ivan T. Ivanov iiva...@mm-sol.com --- drivers/usb/host/ehci-msm.c |5 +++-- Acked-by: David Brown dav...@codeaurora.org -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 08/27] mmc: msm_sdcc: Move away from using deprecated APIs
On Thu, Sep 26, 2013 at 04:54:33PM +0200, Ulf Hansson wrote: Suspend and resume of cards are being handled from the protocol layer and consequently the mmc_suspend|resume_host APIs are deprecated. This means we can simplify the suspend|resume callbacks by removing the use of the deprecated APIs. Additionally, remove dead code which also used the deprecated APIs. Cc: David Brown Cc: Daniel Walker Cc: Bryan Huntsman Cc: linux-arm-...@vger.kernel.org Signed-off-by: Ulf Hansson --- drivers/mmc/host/msm_sdcc.c | 27 ++- 1 file changed, 2 insertions(+), 25 deletions(-) Acked-by: David Brown -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCHv4 2/3] ARM: msm: Add support for APQ8074 Dragonboard
On Thu, Sep 26, 2013 at 02:33:53PM -0500, Kumar Gala wrote: "ePAPR 1.1 section 2.2.1.1 "Node Name Requirements" specifies that any node that has a reg property must include a unit address in its name with value matching the first entry in its reg property. Conversely, if a node does not have a reg property, the node name must not include a unit address." The soc node we have does not have a reg property ? Not 100% sure what people will decide on this. There are a number of examples on the PPC side (arch/powerpc/boot/dts) that are soc@ADDR, but they don't typically have "reg" properties at the soc level. Let's go ahead w/o the unit address (as you have it) for now. What is the address even supposed to mean? Are we expecting multiple 'soc' nodes? David -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCHv4 2/3] ARM: msm: Add support for APQ8074 Dragonboard
On Thu, Sep 26, 2013 at 02:33:53PM -0500, Kumar Gala wrote: ePAPR 1.1 section 2.2.1.1 Node Name Requirements specifies that any node that has a reg property must include a unit address in its name with value matching the first entry in its reg property. Conversely, if a node does not have a reg property, the node name must not include a unit address. The soc node we have does not have a reg property ? Not 100% sure what people will decide on this. There are a number of examples on the PPC side (arch/powerpc/boot/dts) that are soc@ADDR, but they don't typically have reg properties at the soc level. Let's go ahead w/o the unit address (as you have it) for now. What is the address even supposed to mean? Are we expecting multiple 'soc' nodes? David -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 08/27] mmc: msm_sdcc: Move away from using deprecated APIs
On Thu, Sep 26, 2013 at 04:54:33PM +0200, Ulf Hansson wrote: Suspend and resume of cards are being handled from the protocol layer and consequently the mmc_suspend|resume_host APIs are deprecated. This means we can simplify the suspend|resume callbacks by removing the use of the deprecated APIs. Additionally, remove dead code which also used the deprecated APIs. Cc: David Brown dav...@codeaurora.org Cc: Daniel Walker dwal...@fifo99.com Cc: Bryan Huntsman bry...@codeaurora.org Cc: linux-arm-...@vger.kernel.org Signed-off-by: Ulf Hansson ulf.hans...@linaro.org --- drivers/mmc/host/msm_sdcc.c | 27 ++- 1 file changed, 2 insertions(+), 25 deletions(-) Acked-by: David Brown dav...@codeaurora.org -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] iommu: remove unnecessary platform_set_drvdata()
On Thu, Aug 22, 2013 at 10:53:01AM +0900, Jingoo Han wrote: The driver core clears the driver data to NULL after device_release or on probe failure. Thus, it is not needed to manually clear the device driver data to NULL. Signed-off-by: Jingoo Han --- drivers/iommu/msm_iommu_dev.c |2 -- With the splitting: Acked-by: David Brown -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] iommu: remove unnecessary platform_set_drvdata()
On Thu, Aug 22, 2013 at 10:53:01AM +0900, Jingoo Han wrote: The driver core clears the driver data to NULL after device_release or on probe failure. Thus, it is not needed to manually clear the device driver data to NULL. Signed-off-by: Jingoo Han jg1@samsung.com --- drivers/iommu/msm_iommu_dev.c |2 -- With the splitting: Acked-by: David Brown dav...@codeaurora.org -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] ARM: msm: Move msm devicetrees under a Qualcomm dir
On Thu, Sep 12, 2013 at 12:55:36PM -0500, Kumar Gala wrote: On Sep 12, 2013, at 12:06 PM, Olof Johansson wrote: My original request to please use a common prefix for your product families stands. Please prefix with msm-*, or if you have to, qcom-* instead, since you guys can't seem to make your mind up on standard prefixes (msm, apq, etc). This is silly, I dont see the reason to go with qcom-apq-.dts and than in the future drop qcom- when we mostly likely shift to a dir structure. As engineers we are all too aware of the lack of sanity in marketing names, but its what we have so we have to live with it. At least what we'd decided a year or two ago was to call _everything_ with an msm* prefix. If marketing comes up with cute prefixes for things, we would basically ignore them. So, under that, it should be an msm8074-dragonboard. Admittedly, it might be a little confusing with the name of the product having the apq in it, but as others have pointed out, I think there is less confusing than not having a common prefix on our MSM products. At least so far, there are no chips where apq vs msm actually distinguishes anything. In fact, a simple "decoder ring" would point out that the 'apq' usually corresponds with the second digit being a zero. It doesn't help that we've added an 'mpq' prefix as well. I don't really see how to satisfy all of this other than qcom-apq*, or just continue to use msm*. David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] ARM: msm: Move msm devicetrees under a Qualcomm dir
On Thu, Sep 12, 2013 at 12:55:36PM -0500, Kumar Gala wrote: On Sep 12, 2013, at 12:06 PM, Olof Johansson wrote: My original request to please use a common prefix for your product families stands. Please prefix with msm-*, or if you have to, qcom-* instead, since you guys can't seem to make your mind up on standard prefixes (msm, apq, etc). This is silly, I dont see the reason to go with qcom-apqSOC-BOARD.dts and than in the future drop qcom- when we mostly likely shift to a dir structure. As engineers we are all too aware of the lack of sanity in marketing names, but its what we have so we have to live with it. At least what we'd decided a year or two ago was to call _everything_ with an msm* prefix. If marketing comes up with cute prefixes for things, we would basically ignore them. So, under that, it should be an msm8074-dragonboard. Admittedly, it might be a little confusing with the name of the product having the apq in it, but as others have pointed out, I think there is less confusing than not having a common prefix on our MSM products. At least so far, there are no chips where apq vs msm actually distinguishes anything. In fact, a simple decoder ring would point out that the 'apq' usually corresponds with the second digit being a zero. It doesn't help that we've added an 'mpq' prefix as well. I don't really see how to satisfy all of this other than qcom-apq*, or just continue to use msm*. David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
On Tue, Aug 06, 2013 at 12:14:46PM +0300, Ivan T. Ivanov wrote: Attached patch enables earlyprink for this board. [920] booting linux @ 0x8000, ramdisk @ 0x200 (1067699), tags/device tree @ 0x1e0 Uncompressing Linux... done, booting the kernel. [0.00] Booting Linux on physical CPU 0x0 [0.00] Linux version 3.11.0-rc4-3-g7c8394e (iivanov@dev) (gcc version 4.6.3 (GCC) ) #502 SMP PREEMPT Tue Aug 6 12:09:07 EEST3 [0.00] CPU: ARMv7 Processor [512f06f0] revision 0 (ARMv7), cr=10c5387d [0.00] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache [0.00] Machine: Qualcomm MSM (Flattened Device Tree), model: Qualcomm MSM8974 Dragonboard We'll need to have either Rohit include this in his patch series, or you'll have to format this as a valid patch. Thanks, David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] ARM: msm: Add support for MSM8974 Dragonboard
On Tue, Aug 06, 2013 at 12:14:46PM +0300, Ivan T. Ivanov wrote: Attached patch enables earlyprink for this board. [920] booting linux @ 0x8000, ramdisk @ 0x200 (1067699), tags/device tree @ 0x1e0 Uncompressing Linux... done, booting the kernel. [0.00] Booting Linux on physical CPU 0x0 [0.00] Linux version 3.11.0-rc4-3-g7c8394e (iivanov@dev) (gcc version 4.6.3 (GCC) ) #502 SMP PREEMPT Tue Aug 6 12:09:07 EEST3 [0.00] CPU: ARMv7 Processor [512f06f0] revision 0 (ARMv7), cr=10c5387d [0.00] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache [0.00] Machine: Qualcomm MSM (Flattened Device Tree), model: Qualcomm MSM8974 Dragonboard We'll need to have either Rohit include this in his patch series, or you'll have to format this as a valid patch. Thanks, David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] mfd: pm8921: include missing linux/module.h
On Tue, Aug 20, 2013 at 04:01:26PM +0900, Jingoo Han wrote: Include in order to fix the following errors. drivers/mfd/pm8921-core.c:209:16: error: expected declaration specifiers or '...' before string constant drivers/mfd/pm8921-core.c:210:20: error: expected declaration specifiers or '...' before string constant drivers/mfd/pm8921-core.c:211:16: error: expected declaration specifiers or '...' before string constant drivers/mfd/pm8921-core.c:212:14: error: expected declaration specifiers or '...' before string constant Signed-off-by: Jingoo Han --- drivers/mfd/pm8921-core.c |1 + 1 file changed, 1 insertion(+) Acked-by: David Brown -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/3] mfd: pm8921: include missing linux/module.h
On Tue, Aug 20, 2013 at 04:01:26PM +0900, Jingoo Han wrote: Include linux/module.h in order to fix the following errors. drivers/mfd/pm8921-core.c:209:16: error: expected declaration specifiers or '...' before string constant drivers/mfd/pm8921-core.c:210:20: error: expected declaration specifiers or '...' before string constant drivers/mfd/pm8921-core.c:211:16: error: expected declaration specifiers or '...' before string constant drivers/mfd/pm8921-core.c:212:14: error: expected declaration specifiers or '...' before string constant Signed-off-by: Jingoo Han jg1@samsung.com --- drivers/mfd/pm8921-core.c |1 + 1 file changed, 1 insertion(+) Acked-by: David Brown dav...@codeaurora.org -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH v2] backlight: Convert from Legacy pm ops to dev_pm_ops
On Wed, Nov 14, 2040 at 04:27:17AM -0700, Shuah Khan wrote: ... The clock on your computer might be running just a wee bit ahead. Either that, or we're getting patches from the future. David -- sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/