1. 31 5月, 2018 15 次提交
  2. 24 3月, 2018 4 次提交
  3. 21 3月, 2018 1 次提交
    • T
      ARM: OMAP: Fix SRAM W+X mapping · eb85a355
      Tony Lindgren 提交于
      We are still using custom SRAM code for some SoCs and are not marking
      the PM code mapped to SRAM as read-only and executable after we're
      done. With CONFIG_DEBUG_WX=y, we will get "Found insecure W+X mapping
      at address" warning.
      
      Let's fix this issue the same way as commit 728bbe75 ("misc: sram:
      Introduce support code for protect-exec sram type") is doing for
      drivers/misc/sram-exec.c.
      
      On omap3, we need to restore SRAM when returning from off mode after
      idle, so init time configuration is not enough.
      
      And as we no longer have users for omap_sram_push_address() we can
      make it static while at it.
      
      Note that eventually we should be using sram-exec.c for all SoCs.
      
      Cc: stable@vger.kernel.org	# v4.12+
      Cc: Dave Gerlach <d-gerlach@ti.com>
      Reported-by: NPavel Machek <pavel@ucw.cz>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      eb85a355
  4. 14 3月, 2018 1 次提交
    • J
      ARM: dts: aspeed: Add default memory node · 9bdc00a5
      Joel Stanley 提交于
      When we removed the inclusion of skeleton.dtsi from the device trees, we
      broke booting for systems with bootloaders that aren't device tre aware.
      This can be seen, for example, when appending the device tree blob to
      the kernel image.
      
      The reason booting broke was that the kernel lacked the device_type
      label in the memory node. Add in a default memory node wth the
      device_type. It can contain the memory address as the location is fixed
      for each SoC generation, but the size needs to be added by the
      bootloader or the board specific dts.
      
      Fixes: 73102d6f ("ARM: dts: aspeed: Remove skeleton.dtsi")
      Cc: <stable@vger.kernel.org>
      Reported-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NJoel Stanley <joel@jms.id.au>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      9bdc00a5
  5. 09 3月, 2018 1 次提交
  6. 08 3月, 2018 1 次提交
  7. 07 3月, 2018 1 次提交
    • L
      ARM: ux500: Fix PMU IRQ regression · dbe8a9df
      Linus Walleij 提交于
      Commit 2b05f6ae ("ARM: ux500: remove PMU IRQ bouncer")
      deleted some code to bounce and work around the weird PMU
      IRQs in the DB8500 ASIC, but did a semantic mistake:
      since the auxdata was now unused, the call to
      of_platform_populate() was removed, but this does not
      work: the default platform population will only kick in
      if .init_machine() is assigned NULL, and since the U8540
      was still using the callback that was not the case.
      
      Fix this by reinstating the call to of_platform_populate(),
      but pass NULL as auxdata.
      
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Will Deacon <will.deacon@arm.com>
      Fixes: 2b05f6ae ("ARM: ux500: remove PMU IRQ bouncer")
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      dbe8a9df
  8. 05 3月, 2018 1 次提交
  9. 28 2月, 2018 3 次提交
  10. 27 2月, 2018 3 次提交
    • L
      ARM: dts: Set D-Link DNS-313 SATA to muxmode 0 · 29d1d52b
      Linus Walleij 提交于
      This stops the driver from trying to probe the ATA slave
      interface. The vendor code enables the slave interface
      but the driver in the vendor tree does not make use of
      it.
      
      Setting it to muxmode 0 disables the slave interface:
      the hardware only has the master interface connected
      to the one harddrive slot anyways.
      
      Without this change booting takes excessive time, so it
      is very annoying to end users.
      
      Fixes: dd5c0561 ("ARM: dts: Add basic devicetree for D-Link DNS-313")
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      29d1d52b
    • A
      ARM: omap2: set CONFIG_LIRC=y in defconfig · 133390fe
      Arnd Bergmann 提交于
      The CONFIG_LIRC symbol has changed from 'tristate' to 'bool, so we now
      get a warning for omap2plus_defconfig:
      
      arch/arm/configs/omap2plus_defconfig:322:warning: symbol value 'm' invalid for LIRC
      
      This changes the file to mark the symbol as built-in to get rid of the
      warning.
      
      Fixes: a60d64b1 ("media: lirc: lirc interface should not be a raw decoder")
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      133390fe
    • D
      ARM: orion5x: Revert commit 4904dbda. · 13a55372
      David S. Miller 提交于
      It is not valid for orion5x to use mac_pton().
      
      First of all, the orion5x buffer is not NULL terminated.  mac_pton()
      has no business operating on non-NULL terminated buffers because
      only the caller can know that this is valid and in what manner it
      is ok to parse this NULL'less buffer.
      
      Second of all, orion5x operates on an __iomem pointer, which cannot
      be dereferenced using normal C pointer operations.  Accesses to
      such areas much be performed with the proper iomem accessors.
      
      Fixes: 4904dbda ("ARM: orion5x: use mac_pton() helper")
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      13a55372
  11. 24 2月, 2018 1 次提交
  12. 23 2月, 2018 6 次提交
    • M
      ARM: BCM: dts: Remove leading 0x and 0s from bindings notation · 77ee2e1b
      Mathieu Malaterre 提交于
      Improve the DTS files by removing all the leading "0x" and zeros to fix the
      following dtc warnings:
      
      Warning (unit_address_format): Node /XXX unit name should not have leading "0x"
      
      and
      
      Warning (unit_address_format): Node /XXX unit name should not have leading 0s
      
      Converted using the following command:
      
      find . -type f \( -iname *.dts -o -iname *.dtsi \) -exec sed -i -e "s/@\([0-9a-fA-FxX\.;:#]+\)\s*{/@\L\1 {/g" -e "s/@0x\(.*\) {/@\1 {/g" -e "s/@0+\(.*\) {/@\1 {/g" {} +^C
      
      For simplicity, two sed expressions were used to solve each warnings separately.
      
      To make the regex expression more robust a few other issues were resolved,
      namely setting unit-address to lower case, and adding a whitespace before the
      the opening curly brace:
      
      https://elinux.org/Device_Tree_Linux#Linux_conventions
      
      This will solve as a side effect warning:
      
      Warning (simple_bus_reg): Node /XXX@<UPPER> simple-bus unit address format error, expected "<lower>"
      
      This is a follow up to commit 4c9847b7 ("dt-bindings: Remove leading 0x from bindings notation")
      Reported-by: NDavid Daney <ddaney@caviumnetworks.com>
      Suggested-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NMathieu Malaterre <malat@debian.org>
      Acked-by: NStefan Wahren <stefan.wahren@i2se.com>
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      77ee2e1b
    • T
      ARM: OMAP: Fix dmtimer init for omap1 · ba688783
      Tony Lindgren 提交于
      We need to enable PM runtime on omap1 also as otherwise we
      will get errors:
      
      omap_timer omap_timer.1: omap_dm_timer_probe: pm_runtime_get_sync failed!
      omap_timer: probe of omap_timer.1 failed with error -13
      ...
      
      We are checking for OMAP_TIMER_NEEDS_RESET flag elsewhere so this is
      safe to do.
      
      Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
      Cc: Keerthy <j-keerthy@ti.com>
      Cc: Ladislav Michl <ladis@linux-mips.org>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ba688783
    • A
      ARM: orion: fix orion_ge00_switch_board_info initialization · 8337d083
      Arnd Bergmann 提交于
      A section type mismatch warning shows up when building with LTO,
      since orion_ge00_mvmdio_bus_name was put in __initconst but not marked
      const itself:
      
      include/linux/of.h: In function 'spear_setup_of_timer':
      arch/arm/mach-spear/time.c:207:34: error: 'timer_of_match' causes a section type conflict with 'orion_ge00_mvmdio_bus_name'
       static const struct of_device_id timer_of_match[] __initconst = {
                                        ^
      arch/arm/plat-orion/common.c:475:32: note: 'orion_ge00_mvmdio_bus_name' was declared here
       static __initconst const char *orion_ge00_mvmdio_bus_name = "orion-mii";
                                      ^
      
      As pointed out by Andrew Lunn, it should in fact be 'const' but not
      '__initconst' because the string is never copied but may be accessed
      after the init sections are freed. To fix that, I get rid of the
      extra symbol and rewrite the initialization in a simpler way that
      assigns both the bus_id and modalias statically.
      
      I spotted another theoretical bug in the same place, where d->netdev[i]
      may be an out of bounds access, this can be fixed by moving the device
      assignment into the loop.
      
      Cc: stable@vger.kernel.org
      Reviewed-by: NAndrew Lunn <andrew@lunn.ch>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      8337d083
    • A
      ARM: davinci: mark spi_board_info arrays as const · eec51afc
      Arnd Bergmann 提交于
      Building with LTO revealed that three spi_board_info arrays are marked
      __initconst, but not const:
      
      arch/arm/mach-davinci/board-dm365-evm.c: In function 'dm365_evm_init':
      arch/arm/mach-davinci/board-dm365-evm.c:729:30: error: 'dm365_evm_spi_info' causes a section type conflict with 'dm646x_edma_device'
       static struct spi_board_info dm365_evm_spi_info[] __initconst = {
                                    ^
      arch/arm/mach-davinci/dm646x.c:603:42: note: 'dm646x_edma_device' was declared here
       static const struct platform_device_info dm646x_edma_device __initconst = {
      
      This marks them const as well, as was originally intended.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      eec51afc
    • A
      ARM: clps711x: mark clps711x_compat as const · 01a6e126
      Arnd Bergmann 提交于
      The array of string pointers is put in __initconst, and the strings themselves
      are marke 'const' but the the pointers are not, which caused a warning when
      built with LTO:
      
      arch/arm/mach-clps711x/board-dt.c:72:20: error: 'clps711x_compat' causes a section type conflict with 'feroceon_ids'
       static const char *clps711x_compat[] __initconst = {
      
      This marks the array itself const as well, which was certainly the
      intention originally.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      01a6e126
    • M
      arm: zx: dts: Remove leading 0x and 0s from bindings notation · e519eedb
      Mathieu Malaterre 提交于
      Improve the DTS files by removing all the leading "0x" and zeros to fix the
      following dtc warnings:
      
      Warning (unit_address_format): Node /XXX unit name should not have leading "0x"
      
      and
      
      Warning (unit_address_format): Node /XXX unit name should not have leading 0s
      
      Converted using the following command:
      
      find . -type f \( -iname *.dts -o -iname *.dtsi \) -exec sed -i -e "s/@\([0-9a-fA-FxX\.;:#]+\)\s*{/@\L\1 {/g" -e "s/@0x\(.*\) {/@\1 {/g" -e "s/@0+\(.*\) {/@\1 {/g" {} +^C
      
      For simplicity, two sed expressions were used to solve each warnings separately.
      
      To make the regex expression more robust a few other issues were resolved,
      namely setting unit-address to lower case, and adding a whitespace before the
      the opening curly brace:
      
      https://elinux.org/Device_Tree_Linux#Linux_conventions
      
      This will solve as a side effect warning:
      
      Warning (simple_bus_reg): Node /XXX@<UPPER> simple-bus unit address format error, expected "<lower>"
      
      This is a follow up to commit 4c9847b7 ("dt-bindings: Remove leading 0x from bindings notation")
      Reported-by: NDavid Daney <ddaney@caviumnetworks.com>
      Suggested-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NMathieu Malaterre <malat@debian.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      e519eedb
  13. 22 2月, 2018 1 次提交
    • I
      treewide/trivial: Remove ';;$' typo noise · ed7158ba
      Ingo Molnar 提交于
      On lkml suggestions were made to split up such trivial typo fixes into per subsystem
      patches:
      
        --- a/arch/x86/boot/compressed/eboot.c
        +++ b/arch/x86/boot/compressed/eboot.c
        @@ -439,7 +439,7 @@ setup_uga32(void **uga_handle, unsigned long size, u32 *width, u32 *height)
                struct efi_uga_draw_protocol *uga = NULL, *first_uga;
                efi_guid_t uga_proto = EFI_UGA_PROTOCOL_GUID;
                unsigned long nr_ugas;
        -       u32 *handles = (u32 *)uga_handle;;
        +       u32 *handles = (u32 *)uga_handle;
                efi_status_t status = EFI_INVALID_PARAMETER;
                int i;
      
      This patch is the result of the following script:
      
        $ sed -i 's/;;$/;/g' $(git grep -E ';;$'  | grep "\.[ch]:"  | grep -vwE 'for|ia64' | cut -d: -f1 | sort | uniq)
      
      ... followed by manual review to make sure it's all good.
      
      Splitting this up is just crazy talk, let's get over with this and just do it.
      Reported-by: NPavel Machek <pavel@ucw.cz>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: NIngo Molnar <mingo@kernel.org>
      ed7158ba
  14. 20 2月, 2018 1 次提交