26 Aug, 2016

1 commit


02 Aug, 2016

1 commit

  • Pull ARM SoC platform updates from Olof Johansson:
    "Improved and new platform support for various SoCs:

    New SoC support:
    - Broadcom BCM23550
    - Freescale i.MX7Solo
    - Qualcomm MDM9615
    - Renesas r8a7792

    Improvements:
    - convert clps711x to multiplatform
    - debug uart improvements for Atmel platforms
    - Tango platform improvements: HOTPLUG_CPU, Suspend-to-ram
    - OMAP tweaks and improvements to hwmod
    - OMAP support for kexec on SMP"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (109 commits)
    ARM: davinci: fix build break because of undeclared dm365_evm_snd_data
    ARM: s3c64xx: smartq: Avoid sparse warnings
    ARM: sti: Implement dummy L2 cache's write_sec
    ARM: STi: Update machine _namestr to be more generic.
    arm: meson: explicitly select clk drivers
    ARM: tango: add Suspend-to-RAM support
    ARM: hisi: consolidate the hisilicon machine entries
    ARM: tango: fix CONFIG_HOTPLUG_CPU=n build
    MAINTAINERS: Update BCM281XX/BCM11XXX/BCM216XX entry
    MAINTAINERS: Update BCM63XX entry
    MAINTAINERS: Add NS2 entry
    MAINTAINERS: Fix nsp false-positives
    MAINTAINERS: Change L to M for Broadcom ARM/ARM64 SoC entries
    ARM: debug: Enable DEBUG_BCM_5301X for Northstar Plus SoCs
    ARM: clps711x: Switch to MULTIPLATFORM
    ARM: clps711x: Remove boards support
    ARM: clps711x: Add basic DT support
    ARM: clps711x: Reduce static map size
    ARM: SAMSUNG: Constify iomem address passed to s5p_init_cpu
    ARM: oxnas: Change OX810SE default driver config
    ...

    Linus Torvalds
     

27 Jun, 2016

1 commit

  • - dts: rename 'ide-disk' to 'disk-activity'
    - platform: rename 'ide-disk' to 'disk-activity'
    - defconfig: rename 'LEDS_TRIGGER_IDE_DISK' to 'LEDS_TRIGGER_DISK'

    Signed-off-by: Stephan Linz
    Acked-by: Sekhar Nori
    Acked-by: Robert Jarzmik
    Acked-by: Tony Lindgren
    Signed-off-by: Jacek Anaszewski

    Stephan Linz
     

17 Jun, 2016

1 commit


10 Jun, 2016

2 commits


21 Mar, 2016

1 commit

  • Pull ARM SoC platform updates from Arnd Bergmann:
    "Newly added support for additional SoCs:
    - Axis Artpec-6 SoC family
    - Allwinner A83T SoC
    - Mediatek MT7623
    - NXP i.MX6QP SoC
    - ST Microelectronics stm32f469 microcontroller

    New features:
    - SMP support for Mediatek mt2701
    - Big-endian support for NXP i.MX
    - DaVinci now uses the new DMA engine dma_slave_map
    - OMAP now uses the new DMA engine dma_slave_map
    - earlyprintk support for palmchip uart on mach-tango
    - delay timer support for orion

    Other:
    - Exynos PMU driver moved out to drivers/soc/
    - Various smaller updates for Renesas, Xilinx, PXA, AT91, OMAP,
    uniphier"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
    ARM: uniphier: rework SMP code to support new System Bus binding
    ARM: uniphier: add missing of_node_put()
    ARM: at91: avoid defining CONFIG_* symbols in source code
    ARM: DRA7: hwmod: Add data for eDMA tpcc, tptc0, tptc1
    ARM: imx: Make reset_control_ops const
    ARM: imx: Do L2 errata only if the L2 cache isn't enabled
    ARM: imx: select ARM_CPU_SUSPEND only for imx6
    dmaengine: pxa_dma: fix the maximum requestor line
    ARM: alpine: select the Alpine MSI controller driver
    ARM: pxa: add the number of DMA requestor lines
    dmaengine: mmp-pdma: add number of requestors
    dma: mmp_pdma: Add the #dma-requests DT property documentation
    ARM: OMAP2+: Add rtc hwmod configuration for ti81xx
    ARM: s3c24xx: Avoid warning for inb/outb
    ARM: zynq: Move early printk virtual address to vmalloc area
    ARM: DRA7: hwmod: Add custom reset handler for PCIeSS
    ARM: SAMSUNG: Remove unused register offset definition
    ARM: EXYNOS: Cleanup header files inclusion
    drivers: soc: samsung: Enable COMPILE_TEST
    MAINTAINERS: Add maintainers entry for drivers/soc/samsung
    ...

    Linus Torvalds
     

23 Feb, 2016

2 commits

  • OMAP1 can not boot in DT mode and to be able to clean up the driver
    regarding to the dmaengine API use (switching to the new API) the
    device/slave -> filter mapping needs to be provided to the omap-dma driver.

    Signed-off-by: Peter Ujfalusi
    Acked-by: Aaro Koskinen
    Signed-off-by: Tony Lindgren

    Peter Ujfalusi
     
  • When CONFIG_DEBUG_ICEDCC is set, we don't use the platform
    specific putc() function, but use icedcc_putc() instead, so
    putc is unused and causes a compile time warning:

    In file included from ../arch/arm/boot/compressed/misc.c:28:0:
    arch/arm/mach-rpc/include/mach/uncompress.h:79:13: warning: 'putc' defined but not used [-Wunused-function]
    arch/arm/mach-w90x900/include/mach/uncompress.h:30:13: warning: 'putc' defined but not used [-Wunused-function]

    On most platforms, this does not happen, because putc is defined
    as 'static inline' so the compiler will automatically drop it
    when it's unused.

    This changes the remaining seven platforms to behave the same way.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Russell King

    Arnd Bergmann
     

21 Jan, 2016

2 commits

  • Pull ARM SoC platform updates from Olof Johansson:
    "Updates for new platform support:

    - New platform: Tango4 from Sigma Designs.
    - Broadcom BCM2836 (Raspberry Pi 2 SoC)
    - Enable cpufreq on Freescale i.MX7D
    - Rockchip: SMP support for rk3036, general support for rk3228
    - SMP support on Broadcom Kona and NSP
    - Cleanups for OMAP removing legacy IOMMU data

    + a bunch of misc fixes and tweaks for various platforms"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (46 commits)
    ARM: tango: Fix UP build issues
    ARM: tango: pass ARM arch level for smc.S
    ARM: bcm2835: Add Kconfig support for bcm2836
    ARM: OMAP2+: Add support for dm814x and dra62x usb
    ARM: OMAP2+: Add mmc hwmod entries for dm814x
    ARM: OMAP2+: Update 81xx clock and power domains for default, active and sgx
    ARM: OMAP2+: Fix SoC detection for dra62x j5-eco
    ARM: tango4: Initial platform support
    ARM: bcm2835: Add a compat string for bcm2836 machine probe
    dt-bindings: Add root properties for Raspberry Pi 2
    ARM: imx: select SRC for i.MX7
    ARM: uniphier: select PINCTRL
    ARM: OMAP2+: Remove device creation for omap-pcm-audio
    ARM: OMAP1: Remove device creation for omap-pcm-audio
    ARM: rockchip: enable support for RK3228 SoCs
    ARM: rockchip: use const and __initconst for rk3036 smp_operations
    ARM: zynq: Select ARCH_HAS_RESET_CONTROLLER
    ARM: BCM: Add SMP support for Broadcom 4708
    ARM: BCM: Add SMP support for Broadcom NSP
    ARM: BCM: Clean up SMP support for Broadcom Kona
    ...

    Linus Torvalds
     
  • Pull ARM SoC multiplatform code updates from Arnd Bergmann:
    "This branch is the culmination of 5 years of effort to bring the ARMv6
    and ARMv7 platforms together such that they can all be enabled and
    boot the same kernel. It has been a tremendous amount of cleanup and
    refactoring by a huge number of people, and creation of several new
    (and major) subsystems to better abstract out all the platform details
    in an appropriate manner.

    The bulk of this branch is a large patchset from Arnd that brings
    several of the more minor and older platforms we have closer to
    multiplatform support. Among these are MMP, S3C64xx, Orion5x, mv78xx0
    and realview Much of this is moving around header files from old mach
    directories, but there are also some cleanup patches of debug_ll
    (lowlevel debug per-platform options) and other parts.

    Linus Walleij also has some patchs to clean up the older ARM Realview
    platforms by finally introducing DT support, and Rob Herring has some
    for ARM Versatile which is now DT-only. Both of these platforms are
    now multiplatform.

    Finally, a couple of patches from Russell for Dove PMU, and a fix from
    Valentin Rothberg for Exynos ADC, which were rebased on top of the
    series to avoid conflicts"

    * tag 'armsoc-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (75 commits)
    ARM: realview: don't select SMP_ON_UP for UP builds
    ARM: s3c: simplify s3c_irqwake_{e,}intallow definition
    ARM: s3c64xx: fix pm-debug compilation
    iio: exynos-adc: fix irqf_oneshot.cocci warnings
    ARM: realview: build realview-dt SMP support only when used
    ARM: realview: select apropriate targets
    ARM: realview: clean up header files
    ARM: realview: make all header files local
    ARM: no longer make CPU targets visible separately
    ARM: integrator: use explicit core module options
    ARM: realview: enable multiplatform
    ARM: make default platform work for NOMMU
    ARM: debug-ll: move DEBUG_LL_UART_EFM32 to correct Kconfig location
    ARM: defconfig: use correct debug_ll settings
    ARM: versatile: convert to multi-platform
    ARM: versatile: merge mach code into a single file
    ARM: versatile: switch to DT only booting and remove legacy code
    ARM: versatile: add DT based PCI detection
    ARM: pxa: mark ezx structures as __maybe_unused
    ARM: pxa: mark raumfeld init functions as __maybe_unused
    ...

    Linus Torvalds
     

18 Jan, 2016

1 commit

  • Pull GPIO updates from Linus Walleij:
    "Here is the bulk of GPIO changes for v4.5.

    Notably there are big refactorings mostly by myself, aimed at getting
    the gpio_chip into a shape that makes me believe I can proceed to
    preserve state for a proper userspace ABI (character device) that has
    already been proposed once, but resulted in the feedback that I need
    to go back and restructure stuff. So I've been restructuring stuff.
    On the way I ran into brokenness (return code from the get_value()
    callback) and had to fix it. Also, refactored generic GPIO to be
    simpler.

    Some of that is still waiting to trickle down from the subsystems all
    over the kernel that provide random gpio_chips, I've touched every
    single GPIO driver in the kernel now, oh man I didn't know I was
    responsible for so much...

    Apart from that we're churning along as usual.

    I took some effort to test and retest so it should merge nicely and we
    shook out a couple of bugs in -next.

    Infrastructural changes:

    - In struct gpio_chip, rename the .dev node to .parent to better
    reflect the fact that this is not the GPIO struct device
    abstraction. We will add that soon so this would be totallt
    confusing.

    - It was noted that the driver .get_value() callbacks was sometimes
    reporting negative -ERR values to the gpiolib core, expecting them
    to be propagated to consumer gpiod_get_value() and gpio_get_value()
    calls. This was not happening, so as there was a mess of drivers
    returning negative errors and some returning "anything else than
    zero" to indicate that a line was active. As some would have bit
    31 set to indicate "line active" it clashed with negative error
    codes. This is fixed by the largeish series clamping values in all
    drivers with !!value to [0,1] and then augmenting the code to
    propagate error codes to consumers. (Includes some ACKed patches
    in other subsystems.)

    - Add a void *data pointer to struct gpio_chip. The container_of()
    design pattern is indeed very nice, but we want to reform the
    struct gpio_chip to be a non-volative, stateless business, and keep
    states internal to the gpiolib to be able to hold on to the state
    when adding a proper userspace ABI (character device) further down
    the road. To achieve this, drivers need a handle at the internal
    state that is not dependent on their struct gpio_chip() so we add
    gpiochip_add_data() and gpiochip_get_data() following the pattern
    of many other subsystems. All the "use gpiochip data pointer"
    patches transforms drivers to this scheme.

    - The Generic GPIO chip header has been merged into the general
    header, and the custom header for that
    removed. Instead of having a separate mm_gpio_chip struct for
    these generic drivers, merge that into struct gpio_chip,
    simplifying the code and removing the need for separate and
    confusing includes.

    Misc improvements:

    - Stabilize the way GPIOs are looked up from the ACPI legacy
    specification.

    - Incremental driver features for PXA, PCA953X, Lantiq (patches from
    the OpenWRT community), RCAR, Zynq, PL061, 104-idi-48

    New drivers:

    - Add a GPIO chip to the ALSA SoC AC97 driver.

    - Add a new Broadcom NSP SoC driver (this lands in the pinctrl dir,
    but the branch is merged here too to account for infrastructural
    changes).

    - The sx150x driver now supports the sx1502"

    * tag 'gpio-v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (220 commits)
    gpio: generic: make bgpio_pdata always visible
    gpiolib: fix chip order in gpio list
    gpio: mpc8xxx: Do not use gpiochip_get_data() in mpc8xxx_gpio_save_regs()
    gpio: mm-lantiq: Do not use gpiochip_get_data() in ltq_mm_save_regs()
    gpio: brcmstb: Allow building driver for BMIPS_GENERIC
    gpio: brcmstb: Set endian flags for big-endian MIPS
    gpio: moxart: fix build regression
    gpio: xilinx: Do not use gpiochip_get_data() in xgpio_save_regs()
    leds: pca9532: use gpiochip data pointer
    leds: tca6507: use gpiochip data pointer
    hid: cp2112: use gpiochip data pointer
    bcma: gpio: use gpiochip data pointer
    avr32: gpio: use gpiochip data pointer
    video: fbdev: via: use gpiochip data pointer
    gpio: pch: Optimize pch_gpio_get()
    Revert "pinctrl: lantiq: Implement gpio_chip.to_irq"
    pinctrl: nsp-gpio: use gpiochip data pointer
    pinctrl: vt8500-wmt: use gpiochip data pointer
    pinctrl: exynos5440: use gpiochip data pointer
    pinctrl: at91-pio4: use gpiochip data pointer
    ...

    Linus Torvalds
     

14 Jan, 2016

1 commit

  • Pull MTD updates from Brian Norris:
    "Generic MTD:

    - populate the MTD device 'of_node' field (and get a proper 'of_node'
    symlink in sysfs)

    This yielded some new helper functions, and changes across a
    variety of drivers

    - partitioning cleanups, to prepare for better device-tree based
    partitioning in the future

    Eliminate a lot of boilerplate for drivers that want to use
    OF-based partition parsing

    The DT bindings for this didn't settle yet, so most non-cleanup
    portions are deferred for a future release

    NAND:

    - embed a struct mtd_info inside struct nand_chip

    This is really long overdue; too many drivers have to do the same
    silly boilerplate to allocate and link up two "independent"
    structs, when in fact, everyone is assuming there is an exact 1:1
    relationship between a NAND chips struct and its underlying MTD.
    This aids improved helpers and should make certain abstractions
    easier in the future.

    Also causes a lot of churn, helped along by some automated code
    transformations

    - add more core support for detecting (and "correcting") bitflips in
    erased pages; requires opt-in by drivers, but at least we kill a
    few bad implementations and hopefully stave off future ones

    - pxa3xx_nand: cleanups, a few fixes, and PM improvements

    - new JZ4780 NAND driver

    SPI NOR:

    - provide default erase function, for controllers that just want to
    send the SECTOR_ERASE command directly

    - fix some module auto-loading issues with device tree
    ("jedec,spi-nor")

    - error handling fixes

    - new Mediatek QSPI flash driver

    Other:

    - cfi: force valid geometry Kconfig (finally!)

    This one used to trip up randconfigs occasionally, since bots
    aren't deterred by big scary "advanced configuration" menus

    More? Probably. See the commit logs"

    * tag 'for-linus-20160112' of git://git.infradead.org/linux-mtd: (168 commits)
    mtd: jz4780_nand: replace if/else blocks with switch/case
    mtd: nand: jz4780: Update ecc correction error codes
    mtd: nandsim: use nand_get_controller_data()
    mtd: jz4780_nand: remove useless mtd->priv = chip assignment
    staging: mt29f_spinand: make use of nand_set/get_controller_data() helpers
    mtd: nand: make use of nand_set/get_controller_data() helpers
    ARM: make use of nand_set/get_controller_data() helpers
    mtd: nand: add helpers to access ->priv
    mtd: nand: jz4780: driver for NAND devices on JZ4780 SoCs
    mtd: nand: jz4740: remove custom 'erased check' implementation
    mtd: nand: diskonchip: remove custom 'erased check' implementation
    mtd: nand: davinci: remove custom 'erased check' implementation
    mtd: nand: use nand_check_erased_ecc_chunk in default ECC read functions
    mtd: nand: return consistent error codes in ecc.correct() implementations
    doc: dt: mtd: new binding for jz4780-{nand,bch}
    mtd: cfi_cmdset_0001: fixing memory leak and handling failed kmalloc
    mtd: spi-nor: wait until lock/unlock operations are ready
    mtd: tests: consolidate kmalloc/memset 0 call to kzalloc
    jffs2: use to_delayed_work
    mtd: nand: assign reasonable default name for NAND drivers
    ...

    Linus Torvalds
     

05 Jan, 2016

1 commit

  • The separate struct bgpio_chip has been a pain to handle, both
    by being confusingly similar in name to struct gpio_chip and
    for being contained inside a struct so that struct gpio_chip
    is contained in a struct contained in a struct, making several
    steps of dereferencing necessary.

    Make things simpler: include the fields directly into
    , #ifdef:ed for CONFIG_GENERIC_GPIO, and
    get rid of the altogether. Prefix
    some of the member variables with bgpio_* and add proper
    kerneldoc while we're at it.

    Modify all users to handle the change and use a struct
    gpio_chip directly. And while we're at it: replace all
    container_of() dereferencing by gpiochip_get_data() and
    registering the gpio_chip with gpiochip_add_data().

    Cc: arm@kernel.org
    Cc: Alexander Shiyan
    Cc: Shawn Guo
    Cc: Sascha Hauer
    Cc: Kukjin Kim
    Cc: Alexandre Courbot
    Cc: Brian Norris
    Cc: Florian Fainelli
    Cc: Sudeep Holla
    Cc: Lorenzo Pieralisi
    Cc: Nicolas Pitre
    Cc: Olof Johansson
    Cc: Vladimir Zapolskiy
    Cc: Rabin Vincent
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-omap@vger.kernel.org
    Cc: linux-samsung-soc@vger.kernel.org
    Cc: bcm-kernel-feedback-list@broadcom.com
    Acked-by: Gregory Fong
    Acked-by: Liviu Dudau
    Acked-by: H Hartley Sweeten
    Acked-by: Tony Lindgren
    Acked-by: Krzysztof Kozlowski
    Acked-by: Lee Jones
    Signed-off-by: Linus Walleij

    Linus Walleij
     

18 Dec, 2015

1 commit


08 Dec, 2015

1 commit


02 Dec, 2015

1 commit


17 Nov, 2015

1 commit

  • Let's not mix platform_data headers with the core headers. Instead, let's
    create a subdir at linux/platform_data and move the headers to that
    common place, adding it to MAINTAINERS.

    The headers were moved with:
    mkdir include/linux/platform_data/media/; git mv include/media/gpio-ir-recv.h include/media/ir-rx51.h include/media/mmp-camera.h include/media/omap1_camera.h include/media/omap4iss.h include/media/s5p_hdmi.h include/media/si4713.h include/media/sii9234.h include/media/smiapp.h include/media/soc_camera.h include/media/soc_camera_platform.h include/media/timb_radio.h include/media/timb_video.h include/linux/platform_data/media/

    And the references fixed with this script:
    MAIN_DIR="linux/platform_data/"
    PREV_DIR="media/"
    DIRS="media/"

    echo "Checking affected files" >&2
    for i in $DIRS; do
    for j in $(find include/$MAIN_DIR/$i -type f -name '*.h'); do
    n=`basename $j`
    git grep -l $n
    done
    done|sort|uniq >files && (
    echo "Handling files..." >&2;
    echo "for i in \$(cat files|grep -v Documentation); do cat \$i | \\";
    (
    cd include/$MAIN_DIR;
    for j in $DIRS; do
    for i in $(ls $j); do
    echo "perl -ne 's,(include [\\\"\\&2;
    echo "for i in MAINTAINERS \$(cat files); do cat \$i | \\";
    (
    cd include/$MAIN_DIR;
    for j in $DIRS; do
    for i in $(ls $j); do
    echo " perl -ne 's,include/$PREV_DIR($i)\b,include/$MAIN_DIR$j\1,; print \$_' |\\";
    done;
    done;
    echo "cat > a && mv a \$i; done"
    );
    ) >script && . ./script

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Arnd Bergmann
    Acked-by: Lee Jones
    Acked-by: Krzysztof Kozlowski

    Mauro Carvalho Chehab
     

13 Oct, 2015

1 commit


16 Sep, 2015

1 commit

  • Most interrupt flow handlers do not use the irq argument. Those few
    which use it can retrieve the irq number from the irq descriptor.

    Remove the argument.

    Search and replace was done with coccinelle and some extra helper
    scripts around it. Thanks to Julia for her help!

    Signed-off-by: Thomas Gleixner
    Cc: Julia Lawall
    Cc: Jiang Liu

    Thomas Gleixner
     

28 Jul, 2015

1 commit

  • set_irq_flags is ARM specific with custom flags which have genirq
    equivalents. Convert drivers to use the genirq interfaces directly, so we
    can kill off set_irq_flags. The translation of flags is as follows:

    IRQF_VALID -> !IRQ_NOREQUEST
    IRQF_PROBE -> !IRQ_NOPROBE
    IRQF_NOAUTOEN -> IRQ_NOAUTOEN

    For IRQs managed by an irqdomain, the irqdomain core code handles clearing
    and setting IRQ_NOREQUEST already, so there is no need to do this in
    .map() functions and we can simply remove the set_irq_flags calls. Some
    users also modify IRQ_NOPROBE and this has been maintained although it
    is not clear that is really needed. There appears to be a great deal of
    blind copy and paste of this code.

    Signed-off-by: Rob Herring
    Cc: Russell King
    Cc: Sekhar Nori
    Cc: Kevin Hilman
    Cc: Jason Cooper
    Cc: Andrew Lunn
    Cc: Sebastian Hesselbarth
    Cc: Gregory Clement
    Acked-by: Hans Ulli Kroll
    Acked-by: Shawn Guo
    Cc: Sascha Hauer
    Cc: Imre Kaloz
    Acked-by: Krzysztof Halasa
    Cc: Greg Ungerer
    Cc: Roland Stigge
    Cc: Tony Lindgren
    Cc: Daniel Mack
    Cc: Haojian Zhuang
    Cc: Robert Jarzmik
    Cc: Simtec Linux Team
    Cc: Kukjin Kim
    Cc: Krzysztof Kozlowski
    Acked-by: Wan ZongShun
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-omap@vger.kernel.org
    Cc: linux-samsung-soc@vger.kernel.org
    Tested-by: Kevin Hilman
    Signed-off-by: Olof Johansson

    Rob Herring
     

17 Jul, 2015

2 commits

  • Migrate omap timer32 driver to the new 'set-state' interface provided by
    clockevents core, the earlier 'set-mode' interface is marked obsolete
    now.

    This also enables us to implement callbacks for new states of clockevent
    devices, for example: ONESHOT_STOPPED.

    Acked-by: Santosh Shilimkar
    Acked-by: Tony Lindgren
    Signed-off-by: Viresh Kumar

    Viresh Kumar
     
  • Migrate omap driver to the new 'set-state' interface provided by
    clockevents core, the earlier 'set-mode' interface is marked obsolete
    now.

    This also enables us to implement callbacks for new states of clockevent
    devices, for example: ONESHOT_STOPPED.

    Acked-by: Santosh Shilimkar
    Acked-by: Tony Lindgren
    Signed-off-by: Viresh Kumar

    Viresh Kumar
     

27 Jun, 2015

1 commit

  • Pull ARM SoC platform support updates from Kevin Hilman:
    "Our SoC branch usually contains expanded support for new SoCs and
    other core platform code. Some highlights from this round:

    - sunxi: SMP support for A23 SoC
    - socpga: big-endian support
    - pxa: conversion to common clock framework
    - bcm: SMP support for BCM63138
    - imx: support new I.MX7D SoC
    - zte: basic support for ZX296702 SoC"

    * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (134 commits)
    ARM: zx: Add basic defconfig support for ZX296702
    ARM: dts: zx: add an initial zx296702 dts and doc
    clk: zx: add clock support to zx296702
    dt-bindings: Add #defines for ZTE ZX296702 clocks
    ARM: socfpga: fix build error due to secondary_startup
    MAINTAINERS: ARM64: EXYNOS: Extend entry for ARM64 DTS
    ARM: ep93xx: simone: support for SPI-based MMC/SD cards
    MAINTAINERS: update Shawn's email to use kernel.org one
    ARM: socfpga: support suspend to ram
    ARM: socfpga: add CPU_METHOD_OF_DECLARE for Arria 10
    ARM: socfpga: use CPU_METHOD_OF_DECLARE for socfpga_cyclone5
    ARM: EXYNOS: register power domain driver from core_initcall
    ARM: EXYNOS: use PS_HOLD based poweroff for all supported SoCs
    ARM: SAMSUNG: Constify platform_device_id
    ARM: EXYNOS: Constify irq_domain_ops
    ARM: EXYNOS: add coupled cpuidle support for Exynos3250
    ARM: EXYNOS: add exynos_get_boot_addr() helper
    ARM: EXYNOS: add exynos_set_boot_addr() helper
    ARM: EXYNOS: make exynos_core_restart() less verbose
    ARM: EXYNOS: fix exynos_boot_secondary() return value on timeout
    ...

    Linus Torvalds
     

24 Jun, 2015

1 commit

  • Pull clkdev updates from Russell King:
    "This series addresses some breakage in clkdev caused by a previous
    patch set from the clk tree which introduced per-user clk structures.
    This basically renamed the existing 'struct clk' to 'struct clk_hw',
    and introduced a new 'struct clk'.

    This change will break anyone using clk_add_alias() with the common
    clk code enabled. Thankfully, the intersection of users of
    clk_add_alias() and those using the common clk code is practically
    zero, but this is something which should be fixed to keep the code
    sane.

    The problem is that clk_add_alias() does this:

    r = clk_get(...);
    l = clkdev_alloc(r, ...);
    clk_put(...);

    which causes the alias to store a pointer to 'r', which has been
    freed.

    The original patch set tried to work around this problem incorrectly -
    at clk_get() time, it tried to convert the struct clk to a struct
    clk_hw, and then creating a new struct clk from that. Clearly, if the
    original struct clk has been freed, then we have a use-after-free bug.

    We have other places in the tree which do something similar, so this
    series also addresses those locations too.

    This series addresses this problem by converting clkdev to store and
    use the clk_hw pointer. This allows clk_get() to only have to create
    it's per-user struct clk from the clk_hw. We can also get to the
    desired clk_hw at clk_add_alias() or clk lookup creation time, when
    the struct clk is "alive".

    We also perform some cleanups of the code:

    - replacing looped calls to clkdev_add() with clkdev_add_table()

    - replacing open-coded lookup allocation (which should have been
    using clkdev_alloc()) and subsequent clkdev_add() with
    clkdev_create()

    - replacing open-coded clk_add_alias() with clk_add_alias()"

    * 'for-linus-clk' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
    clk: s2mps11: use clkdev_create()
    ASoC: migor: use clkdev_create()
    ARM: omap2: use clkdev_add_alias()
    ARM: omap2: use clkdev_create()
    ARM: orion: use clkdev_create()
    ARM: lpc32xx: convert to use clkdev_add_table()
    SH: use clkdev_add_table()
    clkdev: add clkdev_create() helper
    clkdev: const-ify connection id to clk_add_alias()
    clkdev: get rid of redundant clk_add_alias() prototype in linux/clk.h
    clkdev: drop __init from clkdev_add_table()
    clk: update clk API documentation to clarify clk_round_rate()
    clkdev: use clk_hw internally

    Linus Torvalds
     

22 May, 2015

2 commits

  • This is cleary used after init time too for example for
    configuring UART wake-up events during runtime. This fixes
    section mismatch warnings for randconfig builds that happen
    because __init_or_module.

    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • With the omap1 SPARSE_IRQ changes mach/irqs.h is no longer
    automatically included. Turns out now we rely on ARCH_OMAP15XX
    including hardware.h from memory.h, so without ARCH_OMAP15XX
    we get build failures.

    As we have legacy drivers still relying on these indirect
    includes, let's not add more mach includes to the drivers.
    Those have to be removed anyways for multiplatform support.

    Let's fix up mach-omap1 to include soc.h where cpu_is_omap
    checks are done, and common.h for board-*.c files.

    But let's keep the indirect memory.h include for now to avoid
    unnecessary churn in the drivers.

    Signed-off-by: Tony Lindgren

    Tony Lindgren
     

21 May, 2015

4 commits


13 May, 2015

1 commit


06 May, 2015

1 commit


17 Mar, 2015

1 commit

  • Building an OMAP1510-only Kconfig generates the following warnings:

    arch/arm/mach-omap1/pm.c: In function ¡omap1_pm_idle¢:
    arch/arm/mach-omap1/pm.c:123:2: warning: #warning Enable 32kHz OS timer in order to allow sleep states in idle [-Wcpp]
    #warning Enable 32kHz OS timer in order to allow sleep states in idle
    ^
    arch/arm/mach-omap1/pm.c: At top level:
    arch/arm/mach-omap1/pm.c:76:23: warning: ¡enable_dyn_sleep¢ defined but not used [-Wunused-variable]
    static unsigned short enable_dyn_sleep = 0;
    ^

    These are not so easy to fix in an obviously correct fashion, since I
    don't have these devices up and running in my testbed. So, use
    arch/arm/plat-omap/Kconfig and the existing pm.c source as a guide,
    and posit that deep power saving states are only supported on OMAP16xx
    chips with kernels built with both CONFIG_OMAP_DM_TIMER=y and
    CONFIG_OMAP_32K_TIMER=y.

    While here, clean up a few printk()s and unnecessary #ifdefs.

    This second version of the patch incorporates several suggestions from
    Jon Hunter .

    Signed-off-by: Paul Walmsley
    Cc: Jon Hunter
    Cc: Aaro Koskinen
    Cc: Tuukka Tikkanen
    Cc: Kevin Hilman
    Cc: Tony Lindgren
    Cc: Russell King
    Cc: linux-omap@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Acked-by: Jon Hunter
    Signed-off-by: Tony Lindgren

    Paul Walmsley
     

18 Feb, 2015

1 commit

  • Pull ARM SoC cleanups from Olof Johansson:
    "This is a good healthy set of various code removals. Total net delta
    is 8100 lines removed.

    Among the larger cleanups are:

    - Removal of old Samsung S3C DMA infrastructure by Arnd
    - Removal of the non-DT version of the 'lager' board by Magnus Damm
    - General stale code removal on OMAP and Davinci by Rickard Strandqvist
    - Removal of non-DT support on am3517 platforms by Tony Lindgren

    ... plus several other cleanups of various platforms across the board"

    * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (47 commits)
    ARM: sirf: drop redundant function and marco declaration
    arm: omap: specify PMUs are for ARMv7 CPUs
    arm: shmobile: specify PMUs are for ARMv7 CPUs
    arm: iop: specify PMUs are for XScale CPUs
    arm: pxa: specify PMUs are for XScale CPUs
    arm: realview: specify PMU types
    ARM: SAMSUNG: remove unused DMA infrastructure
    ARM: OMAP3: Add back Kconfig option MACH_OMAP3517EVM for ASoC
    ARM: davinci: Remove CDCE949 driver
    ARM: at91: remove useless at91rm9200_set_type()
    ARM: at91: remove useless at91rm9200_dt_initialize()
    ARM: at91: move debug-macro.S into the common space
    ARM: at91: remove useless at91_sysirq_mask_rtx
    ARM: at91: remove useless config MACH_AT91SAM9_DT
    ARM: at91: remove useless config MACH_AT91RM9200_DT
    ARM: at91: remove unused mach/memory.h
    ARM: at91: remove useless header file includes
    ARM: at91: remove unneeded header file
    rtc: at91/Kconfig: remove useless options
    ARM: at91/Documentation: add a README for Atmel SoCs
    ...

    Linus Torvalds
     

21 Jan, 2015

1 commit

  • The omap1's debug-macro.S is similar to the generic 8250 code. Compared to
    the 8520 code the omap1 macro automatically determines what UART to use
    based on breadcrumbs left by the bootloader and automatically copes with
    the eccentric register layout on OMAP7XX.

    This patch drops both these features and relies instead on the generic
    8250 macros:

    1. Dropping support for the bootloader breadcrumbs is identical to the
    way the migration was handled for OMAP2 (see 808b7e07464d...).

    2. Support for OMAP7XX still exists but it must be configured by hand
    (DEBUG_OMAP7XXUART1/2/3) rather than handled at runtime.

    Signed-off-by: Daniel Thompson
    Cc: Arnd Bergmann
    Cc: linux-omap@vger.kernel.org
    Tested-by: Aaro Koskinen
    Acked-by: Tony Lindgren
    Signed-off-by: Russell King

    Daniel Thompson
     

08 Jan, 2015

2 commits


13 Dec, 2014

1 commit

  • After commit b2b49ccbdd54 (PM: Kconfig: Set PM_RUNTIME if PM_SLEEP is
    selected) PM_RUNTIME is always set if PM is set, so #ifdef blocks
    depending on CONFIG_PM_RUNTIME may now be changed to depend on
    CONFIG_PM.

    Replace CONFIG_PM_RUNTIME with CONFIG_PM everywhere in the code under
    arch/arm/ (the defconfig files will be modified later).

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Nishanth Menon
    Acked-by: Sekhar Nori
    Acked-by: Santosh Shilimkar

    Rafael J. Wysocki
     

09 Aug, 2014

1 commit

  • Pull ARM SoC cleanups from Olof Johansson:
    "This merge window brings a good size of cleanups on various platforms.
    Among the bigger ones:

    - Removal of Samsung s5pc100 and s5p64xx platforms. Both of these
    have lacked active support for quite a while, and after asking
    around nobody showed interest in keeping them around. If needed,
    they could be resurrected in the future but it's more likely that
    we would prefer reintroduction of them as DT and
    multiplatform-enabled platforms instead.

    - OMAP4 controller code register define diet. They defined a lot of
    registers that were never actually used, etc.

    - Move of some of the Tegra platform code (PMC, APBIO, fuse,
    powergate) to drivers/soc so it can be shared with 64-bit code.
    This also converts them over to traditional driver models where
    possible.

    - Removal of legacy gpio-samsung driver, since the last users have
    been removed (moved to pinctrl)

    Plus a bunch of smaller changes for various platforms that sort of
    dissapear in the diffstat for the above. clps711x cleanups, shmobile
    header file refactoring/moves for multiplatform friendliness, some
    misc cleanups, etc"

    * tag 'cleanup-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (117 commits)
    drivers: CCI: Correct use of ! and &
    video: clcd-versatile: Depend on ARM
    video: fix up versatile CLCD helper move
    MAINTAINERS: Add sdhci-st file to ARCH/STI architecture
    ARM: EXYNOS: Fix build breakge with PM_SLEEP=n
    MAINTAINERS: Remove Kirkwood
    ARM: tegra: Convert PMC to a driver
    soc/tegra: fuse: Set up in early initcall
    ARM: tegra: Always lock the CPU reset vector
    ARM: tegra: Setup CPU hotplug in a pure initcall
    soc/tegra: Implement runtime check for Tegra SoCs
    soc/tegra: fuse: fix dummy functions
    soc/tegra: fuse: move APB DMA into Tegra20 fuse driver
    soc/tegra: Add efuse and apbmisc bindings
    soc/tegra: Add efuse driver for Tegra
    ARM: tegra: move fuse exports to soc/tegra/fuse.h
    ARM: tegra: export apb dma readl/writel
    ARM: tegra: Use a function to get the chip ID
    ARM: tegra: Sort includes alphabetically
    ARM: tegra: Move includes to include/soc/tegra
    ...

    Linus Torvalds