04 Oct, 2018

1 commit

  • [ Upstream commit d0d378ff451a66e486488eec842e507d28145813 ]

    With CONFIG_FORTIFY_SOURCE, memcpy uses the declared size of operands to
    detect buffer overflows. If src or dest is declared as a char, attempts to
    copy more than byte will result in a fortify_panic().

    Address this problem in mvebu_setup_boot_addr_wa() by declaring
    mvebu_boot_wa_start and mvebu_boot_wa_end as character arrays. Also remove
    a couple addressof operators to avoid "arithmetic on pointer to an
    incomplete type" compiler error.

    See commit 54a7d50b9205 ("x86: mark kprobe templates as character arrays,
    not single characters") for a similar fix.

    Fixes "detected buffer overflow in memcpy" error during init on some mvebu
    systems (armada-370-xp, armada-375):

    (fortify_panic) from (mvebu_setup_boot_addr_wa+0xb0/0xb4)
    (mvebu_setup_boot_addr_wa) from (mvebu_v7_cpu_pm_init+0x154/0x204)
    (mvebu_v7_cpu_pm_init) from (do_one_initcall+0x7c/0x1a8)
    (do_one_initcall) from (kernel_init_freeable+0x1bc/0x254)
    (kernel_init_freeable) from (kernel_init+0x8/0x114)
    (kernel_init) from (ret_from_fork+0x14/0x2c)

    Signed-off-by: Ethan Tuttle
    Tested-by: Ethan Tuttle
    Signed-off-by: Gregory CLEMENT
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Ethan Tuttle
     

09 Mar, 2018

1 commit

  • commit 8aa36a8dcde3183d84db7b0d622ffddcebb61077 upstream.

    The MACH_ARMADA_375 and MACH_ARMADA_38X boards select ARM_ERRATA_753970,
    but it was renamed to PL310_ERRATA_753970 by commit fa0ce4035d48 ("ARM:
    7162/1: errata: tidy up Kconfig options for PL310 errata workarounds").

    Fix the selects to use the new name.

    Discovered with the
    https://github.com/ulfalizer/Kconfiglib/blob/master/examples/list_undefined.py
    script.
    Fixes: fa0ce4035d48 ("ARM: 7162/1: errata: tidy up Kconfig options for
    PL310 errata workarounds"
    cc: stable@vger.kernel.org
    Signed-off-by: Ulf Magnusson
    Signed-off-by: Gregory CLEMENT
    Signed-off-by: Greg Kroah-Hartman

    Ulf Magnusson
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

06 Sep, 2017

1 commit

  • * next/cleanup:
    soc: versatile: remove unnecessary static in realview_soc_probe()
    ARM: Convert to using %pOF instead of full_name
    ARM: hisi: Fix typo in comment
    ARM: OMAP4+: PRM: fix of_irq_get() result checks
    ARM: OMAP3+: PRM: fix of_irq_get() result check
    ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin strap
    ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strap
    ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq
    bus: omap-ocp2scp: Fix error handling in omap_ocp2scp_probe

    Olof Johansson
     

17 Aug, 2017

2 commits

  • Pull "mvebu soc for 4.14 (part 1)" from Gregory CLEMENT:

    Enabling ARM_GLOBAL_TIMER in mvebu_v7_defconfig for Armada 38x

    * tag 'mvebu-soc-4.14-1' of git://git.infradead.org/linux-mvebu:
    ARM: mvebu: enable ARM_GLOBAL_TIMER compilation Armada 38x platforms

    Arnd Bergmann
     
  • Now that we have a custom printf format specifier, convert users of
    full_name to use %pOF instead. This is preparation to remove storing
    of the full path string for each node.

    Signed-off-by: Rob Herring
    Acked-by: Krzysztof Kozlowski
    Acked-by: Heiko Stuebner
    Reviewed-by: Geert Uytterhoeven
    Acked-by: Gregory CLEMENT
    Acked-by: Shawn Guo
    Acked-by: Simon Horman
    Cc: Russell King
    Cc: Kukjin Kim
    Cc: Javier Martinez Canillas
    Cc: Fabio Estevam
    Cc: Jason Cooper
    Cc: Andrew Lunn
    Cc: Sebastian Hesselbarth
    Cc: Tony Lindgren
    Cc: "Benoît Cousson"
    Cc: Paul Walmsley
    Cc: Magnus Damm
    Signed-off-by: Arnd Bergmann

    Rob Herring
     

03 Aug, 2017

1 commit


18 Jul, 2017

1 commit

  • As we already did for Armada XP switch from virt_to_phys() to
    __pa_symbol().

    The reason for it was well explained by Mark Rutland so let's quote him:

    "virt_to_phys() is intended to operate on the linear/direct mapping of
    RAM.

    __pa_symbol() is intended to operate on the kernel mapping, which may
    not be in the linear/direct mapping on all architectures. e.g. arm64 and
    x86_64 map the kernel image and RAM separately.

    On 32-bit ARM the kernel image mapping is tied to the linear/direct
    mapping, so that works, but as it's semantically wrong (and broken for
    generic code), the DEBUG_VIRTUAL checks complain."

    Fixes: db88977894ab ("arm: mvebu: support for SMP on 98DX3336 SoC")
    Cc:
    Reviewed-by: Florian Fainelli
    Tested-by: Chris Packham
    Signed-off-by: Gregory CLEMENT

    Gregory CLEMENT
     

01 Mar, 2017

1 commit

  • Pull ARM updates from Russell King:

    - nommu updates from Afzal Mohammed cleaning up the vectors support

    - allow DMA memory "mapping" for nommu Benjamin Gaignard

    - fixing a correctness issue with R_ARM_PREL31 relocations in the
    module linker

    - add strlen() prototype for the decompressor

    - support for DEBUG_VIRTUAL from Florian Fainelli

    - adjusting memory bounds after memory reservations have been
    registered

    - unipher cache handling updates from Masahiro Yamada

    - initrd and Thumb Kconfig cleanups

    * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: (23 commits)
    ARM: mm: round the initrd reservation to page boundaries
    ARM: mm: clean up initrd initialisation
    ARM: mm: move initrd init code out of arm_memblock_init()
    ARM: 8655/1: improve NOMMU definition of pgprot_*()
    ARM: 8654/1: decompressor: add strlen prototype
    ARM: 8652/1: cache-uniphier: clean up active way setup code
    ARM: 8651/1: cache-uniphier: include instead of
    ARM: 8650/1: module: handle negative R_ARM_PREL31 addends correctly
    ARM: 8649/2: nommu: remove Hivecs configuration is asm
    ARM: 8648/2: nommu: display vectors base
    ARM: 8647/2: nommu: dynamic exception base address setting
    ARM: 8646/1: mmu: decouple VECTORS_BASE from Kconfig
    ARM: 8644/1: Reduce "CPU: shutdown" message to debug level
    ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol
    ARM: 8640/1: Add support for CONFIG_DEBUG_VIRTUAL
    ARM: 8639/1: Define KERNEL_START and KERNEL_END
    ARM: 8638/1: mtd: lart: Rename partition defines to be prefixed with PART_
    ARM: 8637/1: Adjust memory boundaries after reservations
    ARM: 8636/1: Cleanup sanity_check_meminfo
    ARM: add CPU_THUMB_CAPABLE to indicate possible Thumb support
    ...

    Linus Torvalds
     

28 Feb, 2017

1 commit


30 Jan, 2017

1 commit

  • Compared to the armada-xp the 98DX3336 uses different registers to set
    the boot address for the secondary CPU so a new enable-method is needed.
    This will only work if the machine definition doesn't define an overall
    smp_ops because there is not currently a way of overriding this from the
    device tree if it is set in the machine definition.

    Signed-off-by: Chris Packham
    Acked-by: Rob Herring
    Signed-off-by: Gregory CLEMENT

    Chris Packham
     

25 Dec, 2016

1 commit

  • When the state names got added a script was used to add the extra argument
    to the calls. The script basically converted the state constant to a
    string, but the cleanup to convert these strings into meaningful ones did
    not happen.

    Replace all the useless strings with 'subsys/xxx/yyy:state' strings which
    are used in all the other places already.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Cc: Sebastian Siewior
    Link: http://lkml.kernel.org/r/20161221192112.085444152@linutronix.de
    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

18 Oct, 2016

1 commit


19 Sep, 2016

1 commit

  • Since the commit bd3677ff31a3 ("clk: mvebu: Remove corediv clock from
    Armada XP"), the corediv clk is no more selected for Armada XP, however
    this clock is used for Armada XP using the compatible
    armada-370-corediv-clock.

    While since commit 1594d568c6e3 ("clk: mvebu: Move corediv config to
    mvebu config") Armada 38x and Armada 375 got corediv support again, not
    only Armada XP was missed but also Armada 39x.

    Actually all the SoC selecting MVEBU_V7 config need this clock:
    git grep "\-corediv-clock" arch/arm/boot/dts
    arch/arm/boot/dts/armada-370-xp.dtsi: compatible = "marvell,armada-370-corediv-clock";
    arch/arm/boot/dts/armada-375.dtsi: compatible = "marvell,armada-375-corediv-clock";
    arch/arm/boot/dts/armada-38x.dtsi: compatible = "marvell,armada-380-corediv-clock";
    arch/arm/boot/dts/armada-39x.dtsi: compatible = "marvell,armada-390-corediv-clock"

    This commit now fixes this behavior by letting MVEBU_V7 select
    MVEBU_CLK_COREDIV.

    Fixes: bd3677ff31a3 ("clk: mvebu: Remove corediv clock from Armada XP")
    Cc: stable@vger.kernel.org
    Reported-by: Uwe Kleine-König
    Acked-by: Uwe Kleine-König
    Signed-off-by: Gregory CLEMENT

    Gregory CLEMENT
     

11 Aug, 2016

1 commit

  • Three platforms used to have header files in include/mach that
    are now all gone, but the removed directories are still being
    included, which leads to -Wmissing-include-dirs warnings.

    This removes the extra -I flags.

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

02 Aug, 2016

1 commit

  • Pull ARM SoC cleanups from Olof Johansson:
    "The cleanup branch keeps going down in size as we've completed a lot
    of the major legacy platform removals and conversions.

    A handful of changes this time around, some of the themes or larger
    sets are:

    - A bunch of i.MX cleanups around platform detection, init call cleanups
    - Misc fixes of missing/implicit includes
    - Removal of ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB"

    * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
    ARM: mps2: fix typo
    ARM: s3c64xx: avoid warning about 'struct device_node'
    bus: mvebu-mbus: make mvebu_mbus_syscore_ops static
    bus: mvebu-mbus: fix __iomem on register pointers
    ARM: tegra: Remove board_init_funcs array
    ARM: iop: Fix indentation
    ARM: imx: remove cpu_is_mx*()
    ARM: imx: remove last call to cpu_is_mx5*
    ARM: imx: rework mx27_pm_init() call
    ARM: imx: deconstruct mx3_idle
    ARM: imx: deconstruct mxc_rnga initialization
    ARM: imx: remove cpu_is_mx1 check
    ARM: i.MX: Do not explicitly call l2x0_of_init()
    ARM: i.MX: system.c: Tweak prefetch settings for performance
    ARM: i.MX: system.c: Replace magic numbers
    ARM: i.MX: system.c: Remove redundant errata 752271 code
    ARM: i.MX: system.c: Convert goto to if statement
    ARM: Kirkwood: fix kirkwood_pm_init() declaration/type
    ARM: Kirkwood: make kirkwood_disable_mbus_error_propagation() static
    ARM: orion5x: make orion5x_legacy_handle_irq static
    ...

    Linus Torvalds
     

31 Jul, 2016

1 commit

  • Pull DeviceTree updates from Rob Herring:

    - remove most of_platform_populate() calls in arch code. Now the DT
    core code calls it in the default case and platforms only need to
    call it if they have special needs

    - use pr_fmt on all the DT core print statements

    - CoreSight binding doc improvements to block name descriptions

    - add dt_to_config script which can parse dts files and list
    corresponding kernel config options

    - fix memory leak hit with a PowerMac DT

    - correct a bunch of STMicro compatible strings to use the correct
    vendor prefix

    - fix DA9052 PMIC binding doc to match what is actually used in dts
    files

    * tag 'devicetree-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (35 commits)
    documentation: da9052: Update regulator bindings names to match DA9052/53 DTS expectations
    xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table"
    xtensa: Fix build error due to missing include file
    MIPS: ath79: Add missing include file
    Fix spelling errors in Documentation/devicetree
    ARM: dts: fix STMicroelectronics compatible strings
    powerpc/dts: fix STMicroelectronics compatible strings
    Documentation: dt: i2c: use correct STMicroelectronics vendor prefix
    scripts/dtc: dt_to_config - kernel config options for a devicetree
    of: fdt: mark unflattened tree as detached
    of: overlay: add resolver error prints
    coresight: document binding acronyms
    Documentation/devicetree: document cavium-pip rx-delay/tx-delay properties
    of: use pr_fmt prefix for all console printing
    of/irq: Mark initialised interrupt controllers as populated
    of: fix memory leak related to safe_name()
    Revert "of/platform: export of_default_bus_match_table"
    of: unittest: use of_platform_default_populate() to populate default bus
    memory: omap-gpmc: use of_platform_default_populate() to populate default bus
    bus: uniphier-system-bus: use of_platform_default_populate() to populate default bus
    ...

    Linus Torvalds
     

30 Jul, 2016

1 commit

  • Pull smp hotplug updates from Thomas Gleixner:
    "This is the next part of the hotplug rework.

    - Convert all notifiers with a priority assigned

    - Convert all CPU_STARTING/DYING notifiers

    The final removal of the STARTING/DYING infrastructure will happen
    when the merge window closes.

    Another 700 hundred line of unpenetrable maze gone :)"

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (70 commits)
    timers/core: Correct callback order during CPU hot plug
    leds/trigger/cpu: Move from CPU_STARTING to ONLINE level
    powerpc/numa: Convert to hotplug state machine
    arm/perf: Fix hotplug state machine conversion
    irqchip/armada: Avoid unused function warnings
    ARC/time: Convert to hotplug state machine
    clocksource/atlas7: Convert to hotplug state machine
    clocksource/armada-370-xp: Convert to hotplug state machine
    clocksource/exynos_mct: Convert to hotplug state machine
    clocksource/arm_global_timer: Convert to hotplug state machine
    rcu: Convert rcutree to hotplug state machine
    KVM/arm/arm64/vgic-new: Convert to hotplug state machine
    smp/cfd: Convert core to hotplug state machine
    x86/x2apic: Convert to CPU hotplug state machine
    profile: Convert to hotplug state machine
    timers/core: Convert to hotplug state machine
    hrtimer: Convert to hotplug state machine
    x86/tboot: Convert to hotplug state machine
    arm64/armv8 deprecated: Convert to hotplug state machine
    hwtracing/coresight-etm4x: Convert to hotplug state machine
    ...

    Linus Torvalds
     

14 Jul, 2016

1 commit

  • Install the callbacks via the state machine.

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Anna-Maria Gleixner
    Cc: Andrew Lunn
    Cc: Gregory Clement
    Cc: Jason Cooper
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Russell King
    Cc: Sebastian Hesselbarth
    Cc: Thomas Gleixner
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: rt@linutronix.de
    Link: http://lkml.kernel.org/r/20160713153333.503198935@linutronix.de
    Signed-off-by: Ingo Molnar

    Sebastian Andrzej Siewior
     

05 Jul, 2016

1 commit

  • mvebu cleanup for 4.8 (part 1)

    Various warning fixes

    * tag 'mvebu-cleanup-4.8-1' of git://git.infradead.org/linux-mvebu:
    ARM: Kirkwood: fix kirkwood_pm_init() declaration/type
    ARM: Kirkwood: make kirkwood_disable_mbus_error_propagation() static
    ARM: orion5x: make orion5x_legacy_handle_irq static
    mvebu: add definition for coherency_base
    mvebu: make mvebu_armada375_smp_wa_init() static
    mvebu: fix missing include of common.h in cpu-reset.c
    mvebu: fix missing include of common.h in pm.c
    mvebu: fix missing includes in pmsu.c

    Signed-off-by: Olof Johansson

    Olof Johansson
     

30 Jun, 2016

1 commit

  • A cleanup to include the headers correctly caused another build problem:

    arch/arm/mach-mvebu/kirkwood-pm.c:70:13: error: redefinition of 'kirkwood_pm_init'
    arch/arm/mach-mvebu/kirkwood-pm.h:23:20: note: previous definition of 'kirkwood_pm_init' was here

    The underlying issue is that kirkwood-pm.o is not actually meant to be
    used when CONFIG_PM is disabled, so we should also leave it out of the
    Makefile.

    The same seems to be true for the PM code in MACH_MVEBU_V7, and I'm
    treating it the same way here.

    Signed-off-by: Arnd Bergmann
    Fixes: d705c1a66e15 ("ARM: Kirkwood: fix kirkwood_pm_init() declaration/type")
    Signed-off-by: Gregory CLEMENT

    Arnd Bergmann
     

24 Jun, 2016

2 commits

  • Use helper of_platform_default_populate() in linux/of_platform
    when possible, instead of calling of_platform_populate() with
    the default match table.

    Acked-by: Viresh Kumar
    Acked-by: Nicolas Ferre
    Cc: Nicolas Ferre
    Cc: Krzysztof Halasa
    Cc: Sekhar Nori
    Cc: Shawn Guo
    Cc: Russell King
    Cc: Roland Stigge
    Cc: Jason Cooper
    Cc: Ray Jui
    Cc: Viresh Kumar
    Cc: Stephen Warren
    Cc: Rob Herring
    Cc: Michal Simek
    Signed-off-by: Kefeng Wang
    Signed-off-by: Rob Herring

    Kefeng Wang
     
  • After patch "of/platform: Add common method to populate default bus",
    it is possible for arch code to remove unnecessary callers of
    of_platform_populate with default match table.

    Acked-by: Viresh Kumar
    Cc: Nicolas Ferre
    Cc: Ray Jui
    Cc: Lee Jones
    Cc: Krzysztof Halasa
    Cc: Kukjin Kim
    Cc: Rob Herring
    Cc: Shawn Guo
    Cc: Santosh Shilimkar
    Cc: Roland Stigge
    Cc: Jason Cooper
    Cc: Haojian Zhuang
    Cc: Heiko Stuebner
    Cc: Viresh Kumar
    Cc: Shiraz Hashim
    Cc: Tony Prisk
    Cc: Arnd Bergmann
    Cc: Russell King
    Signed-off-by: Kefeng Wang
    Signed-off-by: Rob Herring

    Kefeng Wang
     

16 Jun, 2016

9 commits

  • In order for HW I/O coherency to work on Cortex-A9 based Marvell SoCs,
    all MMIO registers must be mapped strongly ordered. In commit
    1c8c3cf0b5239 ("ARM: 8060/1: mm: allow sub-architectures to override PCI
    I/O memory type") we implemented a new function,
    pci_ioremap_set_mem_type(), that allow sub-architecture code to override
    the memory type used to map PCI I/O regions.

    In the discussion around this patch series [1], Arnd Bergmann made the
    comment that maybe all PCI I/O regions should be mapped
    strongly-ordered, which would have made our proposal to add
    pci_ioremap_set_mem_type() irrelevant. So, we submitted a patch [2] that
    did what Arnd suggested.

    However, Russell in the end merged our initial proposal to add
    pci_ioremap_set_mem_type(), but it was never used anywhere. Further
    discussion with Arnd and other folks on IRC lead to the conclusion that
    in fact using strongly-ordered for all platforms was maybe not
    desirable, and therefore, using pci_ioremap_set_mem_type() was the most
    appropriate solution.

    As a consequence, this commit finally adds the
    pci_ioremap_set_mem_type() call in the mach-mvebu platform code, which
    was originally part of our initial patch series [3] and is necessary for
    the whole mechanism to work.

    [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/256565.html
    [2] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/256755.html
    [3] http://lists.infradead.org/pipermail/linux-arm-kernel/2014-May/256563.html

    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Gregory CLEMENT

    Thomas Petazzoni
     
  • Until now, our understanding for HW I/O coherency to work on the
    Cortex-A9 based Marvell SoC was that only the PCIe regions should be
    mapped strongly-ordered. However, we were still encountering some
    deadlocks, especially when testing the CESA crypto engine. After
    checking with the HW designers, it was concluded that all the MMIO
    registers should be mapped as strongly ordered for the HW I/O coherency
    mechanism to work properly.

    This fixes some easy to reproduce deadlocks with the CESA crypto engine
    driver (dmcrypt on a sufficiently large disk partition).

    Tested-by: Terry Stockert
    Tested-by: Romain Perier
    Cc: Terry Stockert
    Cc: Romain Perier
    Cc:
    Signed-off-by: Thomas Petazzoni
    Signed-off-by: Gregory CLEMENT

    Thomas Petazzoni
     
  • The kirkwood-pm.c was missing the include of kirkwood-pm.h to
    define the kirkwood_pm_init() function. However once this is
    included, the types do not match.

    Fixup the include, and then the prototype to avoid the following
    warning:

    arch/arm/mach-mvebu/kirkwood-pm.c:69:12: warning: symbol 'kirkwood_pm_init' was not declared. Should it be static?

    Signed-off-by: Ben Dooks
    Reviewed-by: Andrew Lunn
    Signed-off-by: Gregory CLEMENT

    Ben Dooks
     
  • The kirkwood_disable_mbus_error_propagation is not exported or declared
    elsewhere, so make it static to avoid the following warning:

    arch/arm/mach-mvebu/kirkwood.c:153:6: warning: symbol 'kirkwood_disable_mbus_error_propagation' was not declared. Should it be static?

    Signed-off-by: Ben Dooks
    Reviewed-by: Andrew Lunn
    Signed-off-by: Gregory CLEMENT

    Ben Dooks
     
  • Fix the warning that coherency_base is not defined by adding
    it to coherency.h (it is only used in the coherency_ll.S):

    arch/arm/mach-mvebu/coherency.c:41:14: warning: symbol 'coherency_base' was not declared. Should it be static?

    Signed-off-by: Ben Dooks
    Signed-off-by: Gregory CLEMENT

    Ben Dooks
     
  • The mvebu_armada375_smp_wa_init() is not exported or declared
    anywhere, so make it static to fix the following warning:

    arch/arm/mach-mvebu/system-controller.c:130:6: warning: symbol 'mvebu_armada375_smp_wa_init' was not declared. Should it be static?

    Signed-off-by: Ben Dooks
    Signed-off-by: Gregory CLEMENT

    Ben Dooks
     
  • The mvebu_cpu_reset_deassert() is missing the definition for
    it, so include common.h where it is defined to fix the warning:

    arch/arm/mach-mvebu/cpu-reset.c:25:5: warning: symbol 'mvebu_cpu_reset_deassert' was not declared. Should it be static?

    Signed-off-by: Ben Dooks
    Signed-off-by: Gregory CLEMENT

    Ben Dooks
     
  • The mvebu_pm_suspend_init() is missing a definition, so
    include common.h which defines this function into pm.c to
    fix the following warning:

    arch/arm/mach-mvebu/pm.c:235:12: warning: symbol 'mvebu_pm_suspend_init' was not declared. Should it be static?

    Signed-off-by: Ben Dooks
    Signed-off-by: Gregory CLEMENT

    Ben Dooks
     
  • The file is missing definitions for some functions due to not
    including two header files. Fix the following warnings by
    including "pmsu.h" and in pmsu.c:

    arch/arm/mach-mvebu/pmsu.c:127:5: warning: symbol 'mvebu_setup_boot_addr_wa' was not declared. Should it be static?
    arch/arm/mach-mvebu/pmsu.c:267:5: warning: symbol 'armada_370_xp_pmsu_idle_enter' was not declared. Should it be static?
    arch/arm/mach-mvebu/pmsu.c:313:5: warning: symbol 'armada_38x_do_cpu_suspend' was not declared. Should it be static?
    arch/arm/mach-mvebu/pmsu.c:340:6: warning: symbol 'mvebu_v7_pmsu_idle_exit' was not declared. Should it be static?
    arch/arm/mach-mvebu/pmsu.c:570:5: warning: symbol 'mvebu_pmsu_dfs_request' was not declared. Should it be static?

    Signed-off-by: Ben Dooks
    Signed-off-by: Gregory CLEMENT

    Ben Dooks
     

04 Jun, 2016

1 commit

  • This replaces:

    - "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB" as this can
    now be selected directly.

    - "select ARCH_WANT_OPTIONAL_GPIOLIB" with no dependency: GPIOLIB
    is now selectable by everyone, so we need not declare our
    intent to select it.

    When ordering the symbols the following rationale was used:
    if the selects were in alphabetical order, I moved select GPIOLIB
    to be in alphabetical order, but if the selects were not
    maintained in alphabetical order, I just replaced
    "select ARCH_REQUIRE_GPIOLIB" with "select GPIOLIB".

    Cc: Michael Büsch
    Cc: arm@kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Signed-off-by: Linus Walleij
    Signed-off-by: Olof Johansson

    Linus Walleij
     

28 Apr, 2016

2 commits


23 Mar, 2016

1 commit

  • Pull clk updates from Stephen Boyd:
    "The clk changes for this release cycle are mostly dominated by new
    device support in terms of LoC, but there has been some cleanup in the
    core as well as the usual minor clk additions to various drivers.

    Core:
    - parent tracking has been simplified
    - CLK_IS_ROOT is now a no-op flag, cleaning up drivers has started
    - of_clk_init() doesn't consider disabled DT nodes anymore
    - clk_unregister() had an error path bug squashed
    - of_clk_get_parent_count() has been fixed to only return unsigned ints
    - HAVE_MACH_CLKDEV is removed now that the last arch user (ARM) is gone

    New Drivers:
    - NXP LPC18xx creg
    - QCOM IPQ4019 GCC
    - TI dm814x ADPLL
    - i.MX6QP

    Updates:
    - Cyngus audio clks found on Broadcom iProc devices
    - Non-critical fixes for BCM2385 PLLs
    - Samsung exynos5433 updates for clk id errors, HDMI support,
    suspend/resume simplifications
    - USB, CAN, LVDS, and FCP clks on shmobile devices
    - sunxi got support for more clks on new SoCs and went through a
    minor refactoring/rewrite to use a simpler factor clk construct
    - rockchip added some more clk ids and added suport for fraction
    dividers
    - QCOM GDSCs in msm8996
    - A new devm helper to make adding custom actions simpler (acked by Greg)"

    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (197 commits)
    clk: bcm2835: fix check of error code returned by devm_ioremap_resource()
    clk: renesas: div6: use RENESAS for #define
    clk: renesas: Rename header file renesas.h
    clk: max77{686,802}: Remove CLK_IS_ROOT
    clk: versatile: Remove CLK_IS_ROOT
    clk: sunxi: Remove use of variable length array
    clk: fixed-rate: Remove CLK_IS_ROOT
    clk: qcom: Remove CLK_IS_ROOT
    doc: dt: add documentation for lpc1850-creg-clk driver
    clk: add lpc18xx creg clk driver
    clk: lpc32xx: fix compilation warning
    clk: xgene: Add missing parenthesis when clearing divider value
    clk: mb86s7x: Remove CLK_IS_ROOT
    clk: x86: Remove clkdev.h and clk.h includes
    clk: x86: Remove CLK_IS_ROOT
    clk: mvebu: Remove CLK_IS_ROOT
    clk: renesas: move drivers to renesas directory
    clk: si5{14,351,70}: Remove CLK_IS_ROOT
    clk: scpi: Remove CLK_IS_ROOT
    clk: s2mps11: Remove CLK_IS_ROOT
    ...

    Linus Torvalds
     

21 Mar, 2016

2 commits

  • Pull ARM SoC cleanups from Arnd Bergmann:
    "A few simple cleanups across multiple platforms, not much standing
    out:

    - lpc32xx removes its private implementation of the clk API, after
    generic code was merged in 4.5
    - all unused Makefile.boot files get removed
    - a number of simplifications for shmobile
    - asm/clkdev.h gets replaced with the asm-generic version after all
    mach/clkdev.h implementations are gone"

    * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: shmobile: Kconfig: Get rid of old comment
    ARM: shmobile: Consolidate SCU mapping code
    arm: lpc32xx: remove direct control of GPIOs from shared mach file
    arm: lpc32xx: remove selected HAVE_IDE
    arm: lpc32xx: switch to common clock framework
    ARM: Use generic clkdev.h header
    ARM: plat-versatile: Remove unused clock.c file
    ARM: netx: remove redundant "depends on ARCH_NETX"
    ARM: integrator: remove redundant select in Kconfig
    ARM: drop unused Makefile.boot of Multiplatform SoCs
    ARM: mvebu: add missing of_node_put()
    ARM: shmobile: r8a7779: Remove remainings of removed SCU boot setup code
    ARM: shmobile: Typo s/MIPDR/MPIDR/
    ARM: shmobile: Add includes providing forward declarations
    ARM: shmobile: rcar-gen2: Make rcar_gen2_dma_contiguous static
    ARM: mv78xx0: use "depends on" instead of "if" after prompt

    Linus Torvalds
     
  • Pull ARM SoC non-urgent fixes from Arnd Bergmann:
    "As usual, we queue up a few fixes that don't seem urgent enough to go
    in through -rc.

    - a number of randconfig warning fixes from Arnd
    - various small fixes for OMAP
    - one somewhat larger patch to restore the OMAP3 cpuidle tuning that
    was lost in a cleanup
    - a small regression fix for cns3xxx PCI"

    * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (26 commits)
    CNS3xxx: Fix PCI cns3xxx_write_config()
    MAINTAINERS: unify email addrs for Kevin Hilman
    CNS3xxx: remove unused *_VIRT definitions
    ARM: OMAP2+: Fix hwmod clock for l4_ls
    soc: TI knav_qmss: fix dma_addr_t printing
    ARM: prima2: always enable reset controller
    ARM: socfpga: hide unused functions
    ARM: ux500: fix ureachable iounmap()
    ARM: ks8695: fix __initdata annotation
    ARM: mvebu: mark mvebu_hwcc_pci_nb as __maybe_unused
    ARM: mv78xx0: avoid unused function warning
    ARM: orion: only select I2C_BOARDINFO when using I2C
    ARM: OMAP2+: Fix out of range register access with syscon_config.max_register
    ARM: OMAP3: Add cpuidle parameters table for omap3430
    ARM: davinci: make I2C support optional
    ARM: davinci: DA8xx+DMx combined kernels need PATCH_PHYS_VIRT
    ARM: davinci: avoid unused mityomapl138_pn_info variable
    ARM: davinci: limit DT support to DA850
    ARM: DRA7: hwmod: Add reset data for PCIe
    ARM: DRA7: hwmod: Fix OCP2SCP sysconfig
    ...

    Linus Torvalds
     

26 Feb, 2016

1 commit

  • The core clock does not depend on corediv, so enabling corediv
    based on the clock is not really correct. Move the corediv
    config option from the clock driver Kconfig to the mvebu Kconfig
    so that it can be enabled by the MACH option instead.

    This also enables corediv on Armada 375 and 38X, which was
    previously missing.

    Signed-off-by: Kevin Smith
    Cc: Michael Turquette
    Cc: Stephen Boyd
    Cc: Gregory CLEMENT
    Cc: Thomas Petazzoni
    Signed-off-by: Stephen Boyd

    Kevin Smith
     

25 Feb, 2016

1 commit

  • The coherency notifier block is only used when CONFIG_PCI
    is enabled, otherwise we get a warning:

    arch/arm/mach-mvebu/coherency.c:110:30: warning: 'mvebu_hwcc_pci_nb' defined but not used [-Wunused-variable]

    There is no nice way to use an if(IS_ENABLED()) check here to
    let the compiler know that it might be used, so let's mark
    the structure as __maybe_unused.

    Signed-off-by: Arnd Bergmann
    Reviewed-by: Andrew Lunn
    Acked-by: Jason Cooper
    Signed-off-by: Gregory CLEMENT

    Arnd Bergmann