20 Jan, 2017

1 commit

  • commit c090959b9dd8c87703e275079aa4b4a824ba3f8e upstream.

    Make sure to drop the reference to the parent device taken by
    class_find_device() after populating the bus.

    Fixes: 3b9334ac835b ("mfd: vexpress: Convert custom func API to regmap")
    Acked-by: Sudeep Holla
    Signed-off-by: Johan Hovold
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Johan Hovold
     

15 Jan, 2017

1 commit

  • commit 26242b330093fd14c2e94fb6cbdf0f482ab26576 upstream.

    In case the driver registration fails, the hotplug callback is leaked.

    Not fatal, because it's never invoked as there are no instances registered,
    but wrong nevertheless.

    Fixes: fdc15a36d84e ("bus/arm-ccn: Convert to hotplug statemachine")
    Signed-off-by: Thomas Gleixner
    Cc: Sebastian Andrzej Siewior
    Cc: Mark Rutland
    Cc: Pawel Moll
    Cc: Suzuki K Poulose
    Cc: Peter Zijlstra
    Cc: Will Deacon
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

18 Oct, 2016

1 commit


08 Oct, 2016

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "Driver updates for ARM SoCs, including a couple of newly added
    drivers:

    - The Qualcomm external bus interface 2 (EBI2), used in some of their
    mobile phone chips for connecting flash memory, LCD displays or
    other peripherals

    - Secure monitor firmware for Amlogic SoCs, and an NVMEM driver for
    the EFUSE based on that firmware interface.

    - Perf support for the AppliedMicro X-Gene performance monitor unit

    - Reset driver for STMicroelectronics STM32

    - Reset driver for SocioNext UniPhier SoCs

    Aside from these, there are minor updates to SoC-specific bus,
    clocksource, firmware, pinctrl, reset, rtc and pmic drivers"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (50 commits)
    bus: qcom-ebi2: depend on HAS_IOMEM
    pinctrl: mvebu: orion5x: Generalise mv88f5181l support for 88f5181
    clk: mvebu: Add clk support for the orion5x SoC mv88f5181
    dt-bindings: EXYNOS: Add Exynos5433 PMU compatible
    clocksource: exynos_mct: Add the support for ARM64
    perf: xgene: Add APM X-Gene SoC Performance Monitoring Unit driver
    Documentation: Add documentation for APM X-Gene SoC PMU DTS binding
    MAINTAINERS: Add entry for APM X-Gene SoC PMU driver
    bus: qcom: add EBI2 driver
    bus: qcom: add EBI2 device tree bindings
    rtc: rtc-pm8xxx: Add support for pm8018 rtc
    nvmem: amlogic: Add Amlogic Meson EFUSE driver
    firmware: Amlogic: Add secure monitor driver
    soc: qcom: smd: Reset rx tail rather than tx
    memory: atmel-sdramc: fix a possible NULL dereference
    reset: hi6220: allow to compile test driver on other architectures
    reset: zynq: add driver Kconfig option
    reset: sunxi: add driver Kconfig option
    reset: stm32: add driver Kconfig option
    reset: socfpga: add driver Kconfig option
    ...

    Linus Torvalds
     

04 Oct, 2016

1 commit

  • Pull CPU hotplug updates from Thomas Gleixner:
    "Yet another batch of cpu hotplug core updates and conversions:

    - Provide core infrastructure for multi instance drivers so the
    drivers do not have to keep custom lists.

    - Convert custom lists to the new infrastructure. The block-mq custom
    list conversion comes through the block tree and makes the diffstat
    tip over to more lines removed than added.

    - Handle unbalanced hotplug enable/disable calls more gracefully.

    - Remove the obsolete CPU_STARTING/DYING notifier support.

    - Convert another batch of notifier users.

    The relayfs changes which conflicted with the conversion have been
    shipped to me by Andrew.

    The remaining lot is targeted for 4.10 so that we finally can remove
    the rest of the notifiers"

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
    cpufreq: Fix up conversion to hotplug state machine
    blk/mq: Reserve hotplug states for block multiqueue
    x86/apic/uv: Convert to hotplug state machine
    s390/mm/pfault: Convert to hotplug state machine
    mips/loongson/smp: Convert to hotplug state machine
    mips/octeon/smp: Convert to hotplug state machine
    fault-injection/cpu: Convert to hotplug state machine
    padata: Convert to hotplug state machine
    cpufreq: Convert to hotplug state machine
    ACPI/processor: Convert to hotplug state machine
    virtio scsi: Convert to hotplug state machine
    oprofile/timer: Convert to hotplug state machine
    block/softirq: Convert to hotplug state machine
    lib/irq_poll: Convert to hotplug state machine
    x86/microcode: Convert to hotplug state machine
    sh/SH-X3 SMP: Convert to hotplug state machine
    ia64/mca: Convert to hotplug state machine
    ARM/OMAP/wakeupgen: Convert to hotplug state machine
    ARM/shmobile: Convert to hotplug state machine
    arm64/FP/SIMD: Convert to hotplug state machine
    ...

    Linus Torvalds
     

03 Oct, 2016

1 commit

  • After being asked to not depend on ARCH_QCOM* or similar,
    unsurprisingly compilation fails on UM as it has no I/O
    memory:

    drivers/built-in.o: In function `qcom_ebi2_probe':
    >> drivers/bus/qcom-ebi2.c:333: undefined reference to
    `devm_ioremap_resource'

    Fix this by letting the Kconfig atleast depend on HAS_IOMEM.

    Reported-by: kbuild test robot
    Cc: Arnd Bergmann
    Cc: Andy Gross
    Cc: linux-arm-msm@vger.kernel.org
    Signed-off-by: Linus Walleij
    Signed-off-by: Olof Johansson

    Linus Walleij
     

22 Sep, 2016

1 commit


08 Sep, 2016

2 commits

  • This adds a driver for the Qualcomm External Bus Interface EBI2
    found in the MSM8660 and APQ8060 SoCs (at least).

    This was tested with the SMSC9112 ethernet on the APQ8060
    Dragonboard sitting on top of the SLOW CS2.

    Some of my understanding if very vague and based on guesses and
    extrapolations: the documentation in APQ8060 Qualcomm Application
    Processor User Guide 80-N7150-14 Rev. A describes select features but
    does not document the register bit fields.

    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • For one of the CCI events exposed under sysfs, "snoop" was typo'd as
    "snopp". Correct this such that users see the expected event name when
    enumerating events via sysfs.

    Cc: arm@kernel.org
    Acked-by: Mark Rutland
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Olof Johansson

    Suzuki K Poulose
     

07 Sep, 2016

1 commit

  • Install the callbacks via the state machine and let the core invoke
    the callbacks on the already online CPUs.

    Signed-off-by: Sebastian Andrzej Siewior
    Cc: James Hogan
    Cc: Peter Zijlstra
    Cc: Ralf Baechle
    Cc: rt@linutronix.de
    Link: http://lkml.kernel.org/r/20160818125731.27256-14-bigeasy@linutronix.de
    Signed-off-by: Thomas Gleixner

    Sebastian Andrzej Siewior
     

03 Sep, 2016

2 commits


02 Sep, 2016

1 commit

  • Merge "bus: ARM CCN PMU driver updates" from Paweł Moll:

    - Fixes and improvements for XP watchpoint and events handling
    - Added missing condition checks for KVM-related exclusions
    - Improved interrupt affinity handling
    - Fix for hrtimer use in polling mode
    - Event grouping implementation improvement

    * tag 'ccn/fixes-for-4.8-v2' of git://git.linaro.org/people/pawel.moll/linux:
    bus: arm-ccn: make event groups reliable
    bus: arm-ccn: fix hrtimer registration
    bus: arm-ccn: fix PMU interrupt flags
    bus: arm-ccn: Add missing event attribute exclusions for host/guest
    bus: arm-ccn: Correct required arguments for XP PMU events
    bus: arm-ccn: Fix XP watchpoint settings bitmask
    bus: arm-ccn: Do not attempt to configure XPs for cycle counter
    bus: arm-ccn: Fix PMU handling of MN

    Arnd Bergmann
     

26 Aug, 2016

3 commits

  • The CCN PMU driver leaves the counting logic always enabled, and thus
    events are enabled while groups are manipulated. As each event is
    stopped and read individually, this leads to arbitrary skew across event
    groups, which can be seen if counting several identical events.

    To avoid this, implement pmu_{enable,disable} callbacks to stop and
    start all counters atomically around event manipulation. As the counters
    are now stopped, we cannot poll the cycle counter to wait for events to
    drain from the bus. However, as the counters are stopped and the events
    will not be read regardless, we can simply allow the bus to drain
    naturally.

    Signed-off-by: Mark Rutland
    Signed-off-by: Pawel Moll

    Mark Rutland
     
  • The CCN PMU driver has a single hrtimer, used to simulate a periodic
    interrupt on systems where the overflow interrupt is not possible to
    use. The hrtimer is started when any event is started, and cancelled when
    any event is stopped. Thus, stopping a single event is sufficient to
    disable to hrtimer, and overflows (of other events) may be lost.

    To avoid this, this patch reworks the hrtimer start/cancel to only occur
    when the first event is added to a PMU, and the last event removed,
    making use of the existing bitmap counting active events.

    Signed-off-by: Mark Rutland
    Signed-off-by: Pawel Moll

    Mark Rutland
     
  • Currently the IRQ core is permitted to make the CCN PMU IRQ handler
    threaded, and will allow userspace to change the CPU affinity of the
    interrupt behind our back. Both of these could violate our
    synchronisation requirements with the core perf code, which relies upon
    strict CPU affinity and disabling of interrupts to guarantee mutual
    exclusion in some cases.

    As with the CPU PMU drivers, we should request the interrupt with
    IRQF_NOBALANCING and IRQF_NO_THREAD, to avoid these issues.

    Signed-off-by: Mark Rutland
    Acked-by: Pawel Moll
    Reviewed-by: Will Deacon
    Signed-off-by: Pawel Moll

    Mark Rutland
     

17 Aug, 2016

5 commits

  • CCN PMUs have no knowledge into VM-related origins of the memory
    traffic, therefore can't handle requests for host-only or guest-only
    events.

    Added appropriate exclusions (they should have been there from the
    beginning). This required changing the error code returned, as the
    userspace tool only re-negotiates the options (exclude_guest is true by
    default) only for EINVAL.

    Signed-off-by: Pawel Moll

    Pawel Moll
     
  • XP can provide events from two sources: watchpoints, observing traffic
    on device ports and PMU looking at internal buses.

    Unfortunately the sysfs definition of the PMU events was requiring
    port number (instead of bus number) and direction (the buses are
    unidirectional), as these fields were shared with the watchpoint event.

    Although it does not introduce a major problem (port can be used as
    bus alias and direction is simply ignored for XP PMU events), it's
    better to fix it now, before external tools start depending on this
    behaviour.

    Signed-off-by: Pawel Moll

    Pawel Moll
     
  • The code setting XP watchpoint comparator and mask registers should, in
    order to be fully compliant with specification, zero one or more most
    significant bits of each field. In both L cases it means zeroing bit 63.
    The bitmask doing this was wrong, though, zeroing bit 60 instead.
    Fortunately, due to a lucky coincidence, this turned out to be fairly
    innocent with the existing hardware.

    Fixed now.

    Cc: stable@vger.kernel.org # 3.17+
    Signed-off-by: Pawel Moll

    Pawel Moll
     
  • Fuzzing the CCN perf driver revealed a small but definitely dangerous
    mistake in the event setup code. When a cycle counter is requested, the
    driver should not reconfigure the events bus at all, otherwise it will
    corrupt (in most but the simplest cases) its configuration and may end
    up accessing XP array out of its bounds and corrupting control
    registers.

    Reported-by: Mark Rutland
    Reviewed-by: Mark Rutland
    Tested-by: Mark Rutland
    Cc: stable@vger.kernel.org # 3.17+
    Signed-off-by: Pawel Moll

    Pawel Moll
     
  • The "Miscellaneous Node" fell through cracks of node initialisation,
    as its ID is shared with HN-I.

    This patch treats MN as a special case (which it is), adding separate
    validation check for it and pre-defining the node ID in relevant events
    descriptions. That way one can simply run:

    # perf stat -a -e ccn/mn_ecbarrier/

    Additionally, direction in the MN pseudo-events XP watchpoint
    definitions is corrected to be "TX" (1) as they are defined from the
    crosspoint point of view (thus barriers are transmitted from XP to MN).

    Cc: stable@vger.kernel.org # 3.17+
    Signed-off-by: Pawel Moll

    Pawel Moll
     

16 Aug, 2016

2 commits

  • Commit 498b5fdd40dd ("PM / clk: Add support for adding a specific clock
    from device-tree") add a new helper function for adding a clock from
    device-tree to a device. Update the Tegra ACONNECT driver to use this
    new function to simplify the driver.

    Signed-off-by: Jon Hunter
    Signed-off-by: Thierry Reding

    Jon Hunter
     
  • The driver uses symbols that weren't being exported in earlier versions
    of the Linux kernel and hence it had to be made bool. The exports have
    been merged into v4.8-rc1, so the driver can now be built as a module
    again.

    Signed-off-by: Thierry Reding

    Thierry Reding
     

08 Aug, 2016

1 commit


02 Aug, 2016

2 commits

  • Pull ARM SoC driver updates from Olof Johansson:
    "Driver updates for ARM SoCs.

    A slew of changes this release cycle. The reset driver tree, that we
    merge through arm-soc for historical reasons, is also sizable this
    time around.

    Among the changes:

    - clps711x: Treewide changes to compatible strings, merged here for simplicity.
    - Qualcomm: SCM firmware driver cleanups, move to platform driver
    - ux500: Major cleanups, removal of old mach-specific infrastructure.
    - Atmel external bus memory driver
    - Move of brcmstb platform to the rest of bcm
    - PMC driver updates for tegra, various fixes and improvements
    - Samsung platform driver updates to support 64-bit Exynos platforms
    - Reset controller cleanups moving to devm_reset_controller_register() APIs
    - Reset controller driver for Amlogic Meson
    - Reset controller driver for Hisilicon hi6220
    - ARM SCPI power domain support"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (100 commits)
    ARM: ux500: consolidate base platform files
    ARM: ux500: move soc_id driver to drivers/soc
    ARM: ux500: call ux500_setup_id later
    ARM: ux500: consolidate soc_device code in id.c
    ARM: ux500: remove cpu_is_u* helpers
    ARM: ux500: use CLK_OF_DECLARE()
    ARM: ux500: move l2x0 init to .init_irq
    mfd: db8500 stop passing around platform data
    ASoC: ab8500-codec: remove platform data based probe
    ARM: ux500: move ab8500_regulator_plat_data into driver
    ARM: ux500: remove unused regulator data
    soc: raspberrypi-power: add CONFIG_OF dependency
    firmware: scpi: add CONFIG_OF dependency
    video: clps711x-fb: Changing the compatibility string to match with the smallest supported chip
    input: clps711x-keypad: Changing the compatibility string to match with the smallest supported chip
    pwm: clps711x: Changing the compatibility string to match with the smallest supported chip
    serial: clps711x: Changing the compatibility string to match with the smallest supported chip
    irqchip: clps711x: Changing the compatibility string to match with the smallest supported chip
    clocksource: clps711x: Changing the compatibility string to match with the smallest supported chip
    clk: clps711x: Changing the compatibility string to match with the smallest supported chip
    ...

    Linus Torvalds
     
  • 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
     

14 Jul, 2016

2 commits

  • Install the callbacks via the state machine and let the core invoke
    the callbacks on the already online CPUs.

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Anna-Maria Gleixner
    Cc: Arnd Bergmann
    Cc: Dan Carpenter
    Cc: Linus Torvalds
    Cc: Pawel Moll
    Cc: Peter Zijlstra
    Cc: Suzuki K Poulose
    Cc: Thomas Gleixner
    Cc: rt@linutronix.de
    Link: http://lkml.kernel.org/r/20160713153334.768498577@linutronix.de
    Signed-off-by: Ingo Molnar

    Sebastian Andrzej Siewior
     
  • Install the callbacks via the state machine and let the core invoke
    the callbacks on the already online CPUs.

    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Anna-Maria Gleixner
    Cc: Andrzej Hajda
    Cc: Linus Torvalds
    Cc: Mark Rutland
    Cc: Olof Johansson
    Cc: Pawel Moll
    Cc: Peter Zijlstra
    Cc: Punit Agrawal
    Cc: Suzuki K Poulose
    Cc: Suzuki K. Poulose
    Cc: Thomas Gleixner
    Cc: Will Deacon
    Cc: rt@linutronix.de
    Link: http://lkml.kernel.org/r/20160713153334.679142601@linutronix.de
    Signed-off-by: Ingo Molnar

    Sebastian Andrzej Siewior
     

11 Jul, 2016

2 commits

  • Make mvebu_mbus_syscore_ops static as it does not get
    used or declared outside mvebu-mbus.c to fix the following
    sparse warning:

    linux/drivers/bus/mvebu-mbus.c:1092:20: warning: symbol 'mvebu_mbus_syscore_ops' was not declared. Should it be static?

    Signed-off-by: Ben Dooks
    Acked-by: Arnd Bergmann
    Signed-off-by: Gregory CLEMENT

    Ben Dooks
     
  • The save_cpu_target functions should take "u32 __iomem *", not a
    plain "u32 *" as it is passed to register access functions. Fix
    the following warnings by adding the annotation:

    drivers/bus/mvebu-mbus.c:739:17: warning: incorrect type in argument 2 (different address spaces)
    drivers/bus/mvebu-mbus.c:739:17: expected void volatile [noderef] *addr
    drivers/bus/mvebu-mbus.c:739:17: got unsigned int [usertype] *
    drivers/bus/mvebu-mbus.c:741:17: warning: incorrect type in argument 2 (different address spaces)
    drivers/bus/mvebu-mbus.c:741:17: expected void volatile [noderef] *addr
    drivers/bus/mvebu-mbus.c:741:17: got unsigned int [usertype] *
    drivers/bus/mvebu-mbus.c:742:17: warning: incorrect type in argument 2 (different address spaces)
    drivers/bus/mvebu-mbus.c:742:17: expected void volatile [noderef] *addr
    drivers/bus/mvebu-mbus.c:742:17: got unsigned int [usertype] *
    drivers/bus/mvebu-mbus.c:744:17: warning: incorrect type in argument 2 (different address spaces)
    drivers/bus/mvebu-mbus.c:744:17: expected void volatile [noderef] *addr
    drivers/bus/mvebu-mbus.c:744:17: got unsigned int [usertype] *
    drivers/bus/mvebu-mbus.c:790:17: warning: incorrect type in argument 2 (different address spaces)
    drivers/bus/mvebu-mbus.c:790:17: expected void volatile [noderef] *addr
    drivers/bus/mvebu-mbus.c:790:17: got unsigned int [usertype] *
    drivers/bus/mvebu-mbus.c:792:17: warning: incorrect type in argument 2 (different address spaces)
    drivers/bus/mvebu-mbus.c:792:17: expected void volatile [noderef] *addr
    drivers/bus/mvebu-mbus.c:792:17: got unsigned int [usertype] *

    Signed-off-by: Ben Dooks
    Acked-by: Arnd Bergmann
    Signed-off-by: Gregory CLEMENT

    Ben Dooks
     

01 Jul, 2016

1 commit

  • Add a bus driver for the Tegra ACONNECT which is used to interface to
    various devices within the Audio Processing Engine (APE). The purpose
    of the bus driver is to register child devices that are accessed via
    the ACONNECT bus and through the device parent child relationship,
    ensure that the appropriate power domain and clocks are enabled for
    the ACONNECT when any of the child devices are active. Hence, the
    ACONNECT driver simply enables runtime-pm for the ACONNECT device
    so that when a child device is resumed, it will enable the power-domain
    and clocks associated with the ACONNECT.

    Signed-off-by: Jon Hunter
    Signed-off-by: Thierry Reding

    Jon Hunter
     

24 Jun, 2016

2 commits


20 May, 2016

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "This is the main pull request for MIPS for 4.7. Here's the summary of
    the changes:

    - ATH79: Support for DTB passuing using the UHI boot protocol
    - ATH79: Remove support for builtin DTB.
    - ATH79: Add zboot debug serial support.
    - ATH79: Add initial support for Dragino MS14 (Dragine 2), Onion Omega
    and DPT-Module.
    - ATH79: Update devicetree clock support for AR9132 and AR9331.
    - ATH79: Cleanup the DT code.
    - ATH79: Support newer SOCs in ath79_ddr_ctrl_init.
    - ATH79: Fix regression in PCI window initialization.
    - BCM47xx: Move SPROM driver to drivers/firmware/
    - BCM63xx: Enable partition parser in defconfig.
    - BMIPS: BMIPS5000 has I cache filing from D cache
    - BMIPS: BMIPS: Add cpu-feature-overrides.h
    - BMIPS: Add Whirlwind support
    - BMIPS: Adjust mips-hpt-frequency for BCM7435
    - BMIPS: Remove maxcpus from BCM97435SVMB DTS
    - BMIPS: Add missing 7038 L1 register cells to BCM7435
    - BMIPS: Various tweaks to initialization code.
    - BMIPS: Enable partition parser in defconfig.
    - BMIPS: Cache tweaks.
    - BMIPS: Add UART, I2C and SATA devices to DT.
    - BMIPS: Add BCM6358 and BCM63268support
    - BMIPS: Add device tree example for BCM6358.
    - BMIPS: Improve Improve BCM6328 and BCM6368 device trees
    - Lantiq: Add support for device tree file from boot loader
    - Lantiq: Allow build with no built-in DT.
    - Loongson 3: Reserve 32MB for RS780E integrated GPU.
    - Loongson 3: Fix build error after ld-version.sh modification
    - Loongson 3: Move chipset ACPI code from drivers to arch.
    - Loongson 3: Speedup irq processing.
    - Loongson 3: Add basic Loongson 3A support.
    - Loongson 3: Set cache flush handlers to nop.
    - Loongson 3: Invalidate special TLBs when needed.
    - Loongson 3: Fast TLB refill handler.
    - MT7620: Fallback strategy for invalid syscfg0.
    - Netlogic: Fix CP0_EBASE redefinition warnings
    - Octeon: Initialization fixes
    - Octeon: Add DTS files for the D-Link DSR-1000N and EdgeRouter Lite
    - Octeon: Enable add Octeon-drivers in cavium_octeon_defconfig
    - Octeon: Correctly handle endian-swapped initramfs images.
    - Octeon: Support CN73xx, CN75xx and CN78xx.
    - Octeon: Remove dead code from cvmx-sysinfo.
    - Octeon: Extend number of supported CPUs past 32.
    - Octeon: Remove some code limiting NR_IRQS to 255.
    - Octeon: Simplify octeon_irq_ciu_gpio_set_type.
    - Octeon: Mark some functions __init in smp.c
    - Octeon: Octeon: Add Octeon III CN7xxx interface detection
    - PIC32: Add serial driver and bindings for it.
    - PIC32: Add PIC32 deadman timer driver and bindings.
    - PIC32: Add PIC32 clock timer driver and bindings.
    - Pistachio: Determine SoC revision during boot
    - Sibyte: Fix Kconfig dependencies of SIBYTE_BUS_WATCHER.
    - Sibyte: Strip redundant comments from bcm1480_regs.h.
    - Panic immediately if panic_on_oops is set.
    - module: fix incorrect IS_ERR_VALUE macro usage.
    - module: Make consistent use of pr_*
    - Remove no longer needed work_on_cpu() call.
    - Remove CONFIG_IPV6_PRIVACY from defconfigs.
    - Fix registers of non-crashing CPUs in dumps.
    - Handle MIPSisms in new vmcore_elf32_check_arch.
    - Select CONFIG_HANDLE_DOMAIN_IRQ and make it work.
    - Allow RIXI to be used on non-R2 or R6 cores.
    - Reserve nosave data for hibernation
    - Fix siginfo.h to use strict POSIX types.
    - Don't unwind user mode with EVA.
    - Fix watchpoint restoration
    - Ptrace watchpoints for R6.
    - Sync icache when it fills from dcache
    - I6400 I-cache fills from dcache.
    - Various MSA fixes.
    - Cleanup MIPS_CPU_* definitions.
    - Signal: Move generic copy_siginfo to signal.h
    - Signal: Fix uapi include in exported asm/siginfo.h
    - Timer fixes for sake of KVM.
    - XPA TLB refill fixes.
    - Treat perf counter feature
    - Update John Crispin's email address
    - Add PIC32 watchdog and bindings.
    - Handle R10000 LL/SC bug in set_pte()
    - cpufreq: Various fixes for Longson1.
    - R6: Fix R2 emulation.
    - mathemu: Cosmetic fix to ADDIUPC emulation, plenty of other small fixes
    - ELF: ABI and FP fixes.
    - Allow for relocatable kernel and use that to support KASLR.
    - Fix CPC_BASE_ADDR mask
    - Plenty fo smp-cps, CM, R6 and M6250 fixes.
    - Make reset_control_ops const.
    - Fix kernel command line handling of leading whitespace.
    - Cleanups to cache handling.
    - Add brcm, bcm6345-l1-intc device tree bindings.
    - Use generic clkdev.h header
    - Remove CLK_IS_ROOT usage.
    - Misc small cleanups.
    - CM: Fix compilation error when !MIPS_CM
    - oprofile: Fix a preemption issue
    - Detect DSP ASE v3 support:1"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (275 commits)
    MIPS: pic32mzda: fix getting timer clock rate.
    MIPS: ath79: fix regression in PCI window initialization
    MIPS: ath79: make ath79_ddr_ctrl_init() compatible for newer SoCs
    MIPS: Fix VZ probe gas errors with binutils of MSA context in non-MSA kernels
    MIPS: cevt-r4k: Dynamically calculate min_delta_ns
    MIPS: malta-time: Take seconds into account
    MIPS: malta-time: Start GIC count before syncing to RTC
    MIPS: Force CPUs to lose FP context during mode switches
    ...

    Linus Torvalds
     

19 May, 2016

1 commit

  • Pull ARM SoC driver updates from Arnd Bergmann:
    "Driver updates for ARM SoCs, these contain various things that touch
    the drivers/ directory but got merged through arm-soc for practical
    reasons.

    For the most part, this is now related to power management
    controllers, which have not yet been abstracted into a separate
    subsystem, and typically require some code in drivers/soc or arch/arm
    to control the power domains.

    Another large chunk here is a rework of the NVIDIA Tegra USB3.0
    support, which was surprisingly tricky and took a long time to get
    done.

    Finally, reset controller handling as always gets merged through here
    as well"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (97 commits)
    arm-ccn: Enable building as module
    soc/tegra: pmc: Add generic PM domain support
    usb: xhci: tegra: Add Tegra210 support
    usb: xhci: Add NVIDIA Tegra XUSB controller driver
    dt-bindings: usb: xhci-tegra: Add Tegra210 XUSB controller support
    dt-bindings: usb: Add NVIDIA Tegra XUSB controller binding
    PCI: tegra: Support per-lane PHYs
    dt-bindings: pci: tegra: Update for per-lane PHYs
    phy: tegra: Add Tegra210 support
    phy: Add Tegra XUSB pad controller support
    dt-bindings: phy: tegra-xusb-padctl: Add Tegra210 support
    dt-bindings: phy: Add NVIDIA Tegra XUSB pad controller binding
    phy: core: Allow children node to be overridden
    clk: tegra: Add interface to enable hardware control of SATA/XUSB PLLs
    drivers: firmware: psci: make two helper functions inline
    soc: renesas: rcar-sysc: Add support for R-Car H3 power areas
    soc: renesas: rcar-sysc: Add support for R-Car E2 power areas
    soc: renesas: rcar-sysc: Add support for R-Car M2-N power areas
    soc: renesas: rcar-sysc: Add support for R-Car M2-W power areas
    soc: renesas: rcar-sysc: Add support for R-Car H2 power areas
    ...

    Linus Torvalds
     

13 May, 2016

2 commits

  • Since commit 3b9d6da67e11 ("cpu/hotplug: Fix rollback during error-out
    in __cpu_disable()") it is ensured that callbacks of CPU_ONLINE and
    CPU_DOWN_PREPARE are processed on the hotplugged CPU. Due to this
    work_on_cpu() calls are no longer required.

    Replace work_on_cpu() with a direct call of mips_cdmm_bus_up() or
    mips_cdmm_bus_down(). Description of those functions are adapted.

    Signed-off-by: Anna-Maria Gleixner
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Cc: rt@linutronix.de
    Patchwork: https://patchwork.linux-mips.org/patch/13197/
    Signed-off-by: Ralf Baechle

    Anna-Maria Gleixner
     
  • MIPS kernels allow platforms to invoke a custom Bus Error handler, add the
    necessary code to do this for Broadcom SoCs where the GISB bus error handler can be used.

    We may get a bus error from an address decoded outside of the GISB bus space,
    so we need to check the validity of such a capture before printing anything.

    Signed-off-by: Florian Fainelli
    Cc: cernekee@gmail.com
    Cc: arnd@arndb.de
    Cc: jaedon.shin@gmail.com
    Cc: pgynther@google.com
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/12284/
    Signed-off-by: Ralf Baechle

    Florian Fainelli
     

09 May, 2016

1 commit

  • arm-ccn driver uses irq_set_affinity, which is not exported and
    hence cannot be built as a module, eventhough we have all the
    bits ready. This patch makes use of the exported helper
    irq_set_affinity_hint() instead. Also, the __free_irq expects
    the affinity_hint to be NULL when we free the irq. So set the
    affinity_hint to NULL at clean up.

    Now that we can build it as a module, update the Kconfig to
    reflect the change.

    Cc: Will Deacon
    Cc: Mark Rutland
    Cc: Paul Gortmaker
    Acked-by: Pawel Moll
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Arnd Bergmann

    Suzuki K Poulose
     

26 Apr, 2016

1 commit

  • Merge "Broadcom ARM-based SoCs drivers changes" from Florian Fainelli:

    - Justin adds a soc_dev driver to properly report to user-space the Broadcom
    STB SoC family, product and revision

    - Florian reworks how the brcmstb_gisb driver dependency is done to enable it
    on Broadcom STB MIPS-based SoCs and remove a select in
    arch/arm/mach-bcm/Kconfig

    * tag 'arm-soc/for-4.7/drivers' of http://github.com/Broadcom/stblinux:
    bus: brcmstb_gisb: Rework dependencies
    soc: brcmstb: add SoC driver to brcmstb

    Arnd Bergmann