17 Dec, 2018

1 commit

  • [ Upstream commit eef3dc34a1e0b01d53328b88c25237bcc7323777 ]

    When building the kernel with Clang, the following section mismatch
    warning appears:

    WARNING: vmlinux.o(.text+0x38b3c): Section mismatch in reference from
    the function omap44xx_prm_late_init() to the function
    .init.text:omap44xx_prm_enable_io_wakeup()
    The function omap44xx_prm_late_init() references
    the function __init omap44xx_prm_enable_io_wakeup().
    This is often because omap44xx_prm_late_init lacks a __init
    annotation or the annotation of omap44xx_prm_enable_io_wakeup is wrong.

    Remove the __init annotation from omap44xx_prm_enable_io_wakeup so there
    is no more mismatch.

    Signed-off-by: Nathan Chancellor
    Signed-off-by: Tony Lindgren
    Signed-off-by: Sasha Levin

    Nathan Chancellor
     

04 Oct, 2018

1 commit

  • [ Upstream commit 6d609b35c815ba20132b7b64bcca04516bb17c56 ]

    When the RTC lock and unlock functions were introduced it was likely
    assumed that they would always be called from irq enabled context, hence
    the use of local_irq_disable/enable. This is no longer true as the
    RTC+DDR path makes a late call during the suspend path after irqs
    have been disabled to enable the RTC hwmod which calls both unlock and
    lock, leading to IRQs being reenabled through the local_irq_enable call
    in omap_hwmod_rtc_lock call.

    To avoid this change the local_irq_disable/enable to
    local_irq_save/restore to ensure that from whatever context this is
    called the proper IRQ configuration is maintained.

    Signed-off-by: Dave Gerlach
    Signed-off-by: Keerthy
    Signed-off-by: Tony Lindgren
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Dave Gerlach
     

24 Aug, 2018

1 commit

  • [ Upstream commit 2f8b5b21830aea95989a6e67d8a971297272a086 ]

    Call secure services to enable ACTLR[0] (Enable invalidates of BTB with
    ICIALLU) when branch hardening is enabled for kernel.

    On GP devices OMAP5/DRA7, there is no possibility to update secure
    side since "secure world" is ROM and there are no override mechanisms
    possible. On HS devices, appropriate PPA should do the workarounds as
    well.

    However, the configuration is only done for secondary core, since it is
    expected that firmware/bootloader will have enabled the required
    configuration for the primary boot core (note: bootloaders typically
    will NOT enable secondary processors, since it has no need to do so).

    Signed-off-by: Nishanth Menon
    Signed-off-by: Tony Lindgren
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Nishanth Menon
     

21 Jun, 2018

1 commit

  • [ Upstream commit 33e9572483031a79ad0a4468064675144d9269ec ]

    smp_processor_id() checks preemption if CONFIG_DEBUG_PREEMPT is enabled,
    causing a warning dump during boot:

    [ 5.042377] BUG: using smp_processor_id() in preemptible [00000000] code: swapper/0/1
    [ 5.050281] caller is pwrdm_set_next_pwrst+0x48/0x88
    [ 5.055330] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.14.24-g57341df0b4 #1

    Use the raw_smp_processor_id() for the trace instead, this value does
    not need to be perfectly correct. The alternative of disabling preempt
    is too heavy weight operation to be applied in PM hot path for just
    tracing purposes.

    Signed-off-by: Tero Kristo
    Signed-off-by: Tony Lindgren
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Tero Kristo
     

30 May, 2018

3 commits

  • [ Upstream commit fe27f16794f313f5fc16f6d2f42d8c2b2f4d70cc ]

    HS omaps use irq_save_secure_context() instead of irq_save_context()
    so sar_base will never get initialized and irq_sar_clear() gets called
    with a wrong address for HS omaps from irq_restore_context().

    Starting with commit f4b9f40ae95b ("ARM: OMAP4+: Initialize SAR RAM
    base early for proper CPU1 reset for kexec") we have it available,
    and this ideally would been fixed with that commit already.

    Fixes: f4b9f40ae95b ("ARM: OMAP4+: Initialize SAR RAM base early for
    proper CPU1 reset for kexec")
    Cc: Andrew F. Davis
    Cc: Dave Gerlach
    Cc: Keerthy
    Cc: Santosh Shilimkar
    Cc: Tero Kristo
    Signed-off-by: Tony Lindgren
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Tony Lindgren
     
  • [ Upstream commit d3be6d2a08bd26580562d9714d3d97ea9ba22c73 ]

    For platform_suspend_ops, the finish call is too late to re-enable wake
    irqs and we need re-enable wake irqs on wake call instead.

    Otherwise noirq resume for devices has already happened. And then
    dev_pm_disarm_wake_irq() has already disabled the dedicated wake irqs
    when the interrupt triggers and the wake irq is never handled.

    For devices that are already in PM runtime suspended state when we
    enter suspend this means that a possible wake irq will never trigger.

    And this can lead into a situation where a device has a pending padconf
    wake irq, and the device will stay unresponsive to any further wake
    irqs.

    This issue can be easily reproduced by setting serial console log level
    to zero, letting the serial console idle, and suspend the system from
    an ssh terminal. Then try to wake up the system by typing to the serial
    console.

    Note that this affects only omap3 PRM interrupt as that's currently
    the only omap variant that does anything in omap_pm_wake().

    In general, for the wake irqs to work, the interrupt must have either
    IRQF_NO_SUSPEND or IRQF_EARLY_RESUME set for it to trigger before
    dev_pm_disarm_wake_irq() disables the wake irqs.

    Reported-by: Grygorii Strashko
    Cc: Tero Kristo
    Signed-off-by: Tony Lindgren
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Tony Lindgren
     
  • [ Upstream commit db35340c536f1af0108ec9a0b2126a05d358d14a ]

    When more than one GP timers are used as kernel system timers and the
    corresponding nodes in device-tree are marked with the same "disabled"
    property, then the "attr" field of the property will be initialized
    more than once as the property being added to sys file system via
    __of_add_property_sysfs().

    In __of_add_property_sysfs(), the "name" field of pp->attr.attr is set
    directly to the return value of safe_name(), without taking care of
    whether it's already a valid pointer to a memory block. If it is, its
    old value will always be overwritten by the new one and the memory block
    allocated before will a "ghost", then a kmemleak happened.

    That the same "disabled" property being added to different nodes of device
    tree would cause that kind of kmemleak overhead, at least once.

    To fix it, allocate the property dynamically, and delete static one.

    Signed-off-by: Qi Hou
    Signed-off-by: Tony Lindgren
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Qi Hou
     

15 Mar, 2018

1 commit

  • commit 863204cfdae98626a92535ac928ad79f4d6b74ff upstream.

    In configurations without CONFIG_OMAP3 but with secure RAM support,
    we now run into a link failure:

    arch/arm/mach-omap2/omap-secure.o: In function `omap3_save_secure_ram':
    omap-secure.c:(.text+0x130): undefined reference to `save_secure_ram_context'

    The omap3_save_secure_ram() function is only called from the OMAP34xx
    power management code, so we can simply hide that function in the
    appropriate #ifdef.

    Fixes: d09220a887f7 ("ARM: OMAP2+: Fix SRAM virt to phys translation for save_secure_ram_context")
    Acked-by: Tony Lindgren
    Tested-by: Dan Murphy
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Greg Kroah-Hartman

    Arnd Bergmann
     

25 Feb, 2018

2 commits

  • [ Upstream commit b6d6af7226465b6d11eac09d0be2ab78a4a9eb62 ]

    Referring TRM Am335X series:
    http://www.ti.com/lit/ug/spruh73p/spruh73p.pdf

    The LastPowerStateEntered bitfield is present only for PM_CEFUSE
    domain. This is not present in any of the other power domains. Hence
    remove the generic am33xx_pwrdm_read_prev_pwrst hook which wrongly
    reads the reserved bit fields for all the other power domains.

    Reading the reserved bits leads to wrongly interpreting the low
    power transitions for various power domains that do not have the
    LastPowerStateEntered field. The pm debug counters values are wrong
    currently as we are incrementing them based on the reserved bits.

    Signed-off-by: Keerthy
    Signed-off-by: Tony Lindgren
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Keerthy
     
  • [ Upstream commit d09220a887f70368afa79e850c95e74890c0a32d ]

    With the CMA changes from Joonsoo Kim , it
    was noticed that n900 stopped booting. After investigating it turned
    out that n900 save_secure_ram_context does some whacky virtual to
    physical address translation for the SRAM data address.

    As we now only have minimal parts of omap3 idle code copied to SRAM,
    running save_secure_ram_context() in SRAM is not needed. It only gets
    called on PM init. And it seems there's no need to ever call this from
    SRAM idle code.

    So let's just keep save_secure_ram_context() in DDR, and pass it the
    physical address of the parameters. We can do everything else in
    omap-secure.c like we already do for other secure code.

    And since we don't have any documentation, I still have no clue what
    the values for 0, 1 and 1 for the parameters might be. If somebody has
    figured it out, please do send a patch to add some comments.

    Debugged-by: Joonsoo Kim
    Signed-off-by: Tony Lindgren
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Tony Lindgren
     

24 Jan, 2018

1 commit

  • commit 3c4d296e58a23687f2076d8ad531e6ae2b725846 upstream.

    MMC3 hwmod data is missing the module_offs definition. MMC3 belongs under
    core, so add CORE_MOD for it.

    Signed-off-by: Tero Kristo
    Signed-off-by: Tony Lindgren
    Cc: Adam Ford
    Fixes: 6c0afb503937 ("clk: ti: convert to use proper register definition for all accesses")
    Signed-off-by: Greg Kroah-Hartman

    Tero Kristo
     

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
     

20 Sep, 2017

2 commits

  • With 4.13 kernel I get this boot message:

    [    1.051727] ------------[ cut here ]------------
    [    1.051818] WARNING: CPU: 0 PID: 1 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x54/0x74
    [    1.051849] sysfs: cannot create duplicate filename '/devices/platform/omap_hsmmc.2'
    [    1.051879] Modules linked in:
    [    1.051971] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.13.0-letux+ #1360
    [    1.052001] Hardware name: Generic OMAP3 (Flattened Device Tree)
    [    1.052062] [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
    [    1.052124] [] (show_stack) from [] (dump_stack+0x98/0xd0)
    [    1.052185] [] (dump_stack) from [] (__warn+0xd0/0x100)
    [    1.052215] [] (__warn) from [] (warn_slowpath_fmt+0x34/0x44)
    [    1.052276] [] (warn_slowpath_fmt) from [] (sysfs_warn_dup+0x54/0x74)
    [    1.052337] [] (sysfs_warn_dup) from [] (sysfs_create_dir_ns+0x74/0x84)
    [    1.052398] [] (sysfs_create_dir_ns) from [] (kobject_add_internal+0xd0/0x294)
    [    1.052429] [] (kobject_add_internal) from [] (kobject_add+0x6c/0x8c)
    [    1.052490] [] (kobject_add) from [] (device_add+0xe4/0x510)
    [    1.052551] [] (device_add) from [] (platform_device_add+0x130/0x1c0)
    [    1.052612] [] (platform_device_add) from [] (omap_hsmmc_late_init+0x3c/0x60)
    [    1.052673] [] (omap_hsmmc_late_init) from [] (omap3_pandora_legacy_init+0x24/0xb4)
    [    1.052734] [] (omap3_pandora_legacy_init) from [] (pdata_quirks_check+0x30/0x3c)
    [    1.052795] [] (pdata_quirks_check) from [] (omap_generic_init+0xc/0x18)
    [    1.052856] [] (omap_generic_init) from [] (customize_machine+0x1c/0x28)
    [    1.052917] [] (customize_machine) from [] (do_one_initcall+0xa8/0x150)
    [    1.052947] [] (do_one_initcall) from [] (kernel_init_freeable+0x110/0x1d4)
    [    1.053009] [] (kernel_init_freeable) from [] (kernel_init+0x8/0x10c)
    [    1.053070] [] (kernel_init) from [] (ret_from_fork+0x14/0x24)
    [    1.055023] ---[ end trace 44e490b09ac4ab88 ]---

    This can be traced down to the calls of

    omap_hsmmc_init(pandora_mmc3);
    omap_hsmmc_late_init(pandora_mmc3);

    in omap3_pandora_legacy_init().

    It turns out that both funcions disagree how to decide if the other one was alredy called.

    Signed-off-by: H. Nikolaus Schaller
    Signed-off-by: Tony Lindgren

    H. Nikolaus Schaller
     
  • gpio1 soft reset fails in the kexec path as the optional clock
    is not enabled hence enable the HWMOD_CONTROL_OPT_CLKS_IN_RESET
    flag for gpio1 hwmod.

    Signed-off-by: Keerthy
    Signed-off-by: Tony Lindgren

    Keerthy
     

12 Sep, 2017

1 commit

  • Pull ARM updates from Russell King:
    "Low priority fixes and updates for ARM:

    - add some missing includes

    - efficiency improvements in system call entry code when tracing is
    enabled

    - ensure ARMv6+ is always built as EABI

    - export save_stack_trace_tsk()

    - fix fatal signal handling during mm fault

    - build translation table base address register from scratch

    - appropriately align the .data section to a word boundary where we
    rely on that data being word aligned"

    * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
    ARM: 8691/1: Export save_stack_trace_tsk()
    ARM: 8692/1: mm: abort uaccess retries upon fatal signal
    ARM: 8690/1: lpae: build TTB control register value from scratch in v7_ttb_setup
    ARM: align .data section
    ARM: always enable AEABI for ARMv6+
    ARM: avoid saving and restoring registers unnecessarily
    ARM: move PC value into r9
    ARM: obtain thread info structure later
    ARM: use aliases for registers in entry-common
    ARM: 8689/1: scu: add missing errno include
    ARM: 8688/1: pm: add missing types include

    Linus Torvalds
     

11 Sep, 2017

1 commit

  • Pull ARM/arm64 SoC platform updates from Olof Johansson: "This branch
    contains platform updates for 32- and 64-bit ARM, including defconfig
    updates to enable new options, drivers and platforms. There are also a
    few fixes and cleanups for some existing vendors.

    Some of the things worth highlighting here are:

    - Enabling new crypt drivers on arm64 defconfig

    - QCOM IPQ8074 clocks and pinctrl drivers on arm64 defconfig

    - Debug support enabled for Renesas r8a7743

    - Various config updates for Renesas platforms (sound, USB, other
    drivers)

    - Platform support (including SMP) for TI dra762

    - OMAP cleanups: Move to use generic 8250 debug_ll, removal of stale
    DMA code"

    * tag 'armsoc-platforms' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (109 commits)
    ARM: multi_v7_defconfig: make eSDHC driver built-in
    arm64: defconfig: enable rockchip graphics
    MAINTAINERS: Update Cavium ThunderX2 entry
    ARM: config: aspeed: Add I2C, VUART, LPC Snoop
    ARM: configs: aspeed: Update Aspeed G4 with VMSPLIT_2G
    ARM: s3c24xx: Fix NAND ECC mode for mini2440 board
    ARM: davinci_all_defconfig: enable tinydrm and ST7586
    arm64: defconfig: Enable QCOM IPQ8074 clock and pinctrl
    ARM: defconfig: tegra: Enable ChipIdea UDC driver
    ARM: configs: Add Tegra I2S interfaces to multi_v7_defconfig
    ARM: tegra: Add Tegra I2S interfaces to defconfig
    ARM: tegra: Update default configuration for v4.13-rc1
    MAINTAINERS: update ARM/ZTE entry
    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: multi_v7_defconfig: add CONFIG_BRCMSTB_THERMAL
    arm64: defconfig: add CONFIG_BRCMSTB_THERMAL
    arm64: defconfig: add recently added crypto drivers as modules
    arm64: defconfig: enable CONFIG_UNIPHIER_WATCHDOG
    ...

    Linus Torvalds
     

09 Sep, 2017

1 commit


08 Sep, 2017

1 commit

  • Pull MFD updates from Lee Jones:
    "New Drivers
    - RK805 Power Management IC (PMIC)
    - ROHM BD9571MWV-M MFD Power Management IC (PMIC)
    - Texas Instruments TPS68470 Power Management IC (PMIC) & LEDs

    New Device Support:
    - Add support for HiSilicon Hi6421v530 to hi6421-pmic-core
    - Add support for X-Powers AXP806 to axp20x
    - Add support for X-Powers AXP813 to axp20x
    - Add support for Intel Sunrise Point LPSS to intel-lpss-pci

    New Functionality:
    - Amend API to provide register layout; atmel-smc

    Fix-ups:
    - DT re-work; omap, nokia
    - Header file location change {I2C => MFD}; dm355evm_msp, tps65010
    - Fix chip ID formatting issue(s); rk808
    - Optionally register touchscreen devices; da9052-core
    - Documentation improvements; twl-core
    - Constification; rtsx_pcr, ab8500-core, da9055-i2c, da9052-spi
    - Drop unnecessary static declaration; max8925-i2c
    - Kconfig changes (missing deps and remove module support)
    - Slim down oversized licence statement; hi6421-pmic-core
    - Use managed resources (devm_*); lp87565
    - Supply proper error checking/handling; t7l66xb

    Bug Fixes:
    - Fix counter duplication issue; da9052-core
    - Fix potential NULL deference issue; max8998
    - Leave SPI-NOR write-protection bit alone; lpc_ich
    - Ensure device is put into reset during suspend; intel-lpss
    - Correct register offset variable size; omap-usb-tll"

    * tag 'mfd-next-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (61 commits)
    mfd: intel_soc_pmic: Differentiate between Bay and Cherry Trail CRC variants
    mfd: intel_soc_pmic: Export separate mfd-cell configs for BYT and CHT
    dt-bindings: mfd: Add bindings for ZII RAVE devices
    mfd: omap-usb-tll: Fix register offsets
    mfd: da9052: Constify spi_device_id
    mfd: intel-lpss: Put I2C and SPI controllers into reset state on suspend
    mfd: da9055: Constify i2c_device_id
    mfd: intel-lpss: Add missing PCI ID for Intel Sunrise Point LPSS devices
    mfd: t7l66xb: Handle return value of clk_prepare_enable
    mfd: Add ROHM BD9571MWV-M PMIC DT bindings
    mfd: intel_soc_pmic_chtwc: Turn Kconfig option into a bool
    mfd: lp87565: Convert to use devm_mfd_add_devices()
    mfd: Add support for TPS68470 device
    mfd: lpc_ich: Do not touch SPI-NOR write protection bit on Haswell/Broadwell
    mfd: syscon: atmel-smc: Add helper to retrieve register layout
    mfd: axp20x: Use correct platform device ID for many PEK
    dt-bindings: mfd: axp20x: Introduce bindings for AXP813
    mfd: axp20x: Add support for AXP813 PMIC
    dt-bindings: mfd: axp20x: Add AXP806 to supported list of chips
    mfd: Add ROHM BD9571MWV-M MFD PMIC driver
    ...

    Linus Torvalds
     

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
     

04 Sep, 2017

1 commit

  • include/linux/i2c is not for client devices. Move the header file to a
    more appropriate location.

    Signed-off-by: Wolfram Sang
    Acked-by: Greg Kroah-Hartman
    Acked-by: Alexandre Belloni
    Acked-by: Mark Brown
    Acked-by: Sebastian Reichel
    Acked-by: Jonathan Cameron
    Acked-by: Dmitry Torokhov
    Acked-by: Kishon Vijay Abraham I
    Acked-by: Bartlomiej Zolnierkiewicz
    Acked-by: Thierry Reding
    Acked-by: Tony Lindgren
    Acked-by: Daniel Thompson
    Acked-by: Linus Walleij
    Acked-by: Guenter Roeck
    Signed-off-by: Lee Jones

    Wolfram Sang
     

24 Aug, 2017

1 commit

  • The function that was added doesn't actually build:

    arch/arm/mach-omap2/display.c: In function 'omapdss_init_fbdev':
    arch/arm/mach-omap2/display.c:184:2: error: 'r' undeclared (first use in this function)

    This adds a declaration for 'r' to fix it.

    Fixes: 5ce783025c82 ("ARM: OMAP2+: Don't register omapdss device for omapdrm")
    Signed-off-by: Arnd Bergmann
    Reviewed-by: Laurent Pinchart
    Acked-by: Tony Lindgren
    Signed-off-by: Tomi Valkeinen

    Arnd Bergmann
     

19 Aug, 2017

1 commit

  • …b/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup

    Pull "non-urgent fixes for omaps for v4.14" from Tony Lindgren:

    Non-urgent fixes for omaps for v4.14 merge window. These all
    can wait for the merge window as we have not seemed to hit
    any of these so far:

    - Fix error handling in omap_ocp2scp_probe affecting runtime
    PM error path

    - Drop broken RPM status update for omap_device

    - Two fixes for of_irq_get() usage that can return 0

    * tag 'omap-for-v4.14/fixes-not-urgent-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP4+: PRM: fix of_irq_get() result checks
    ARM: OMAP3+: PRM: fix of_irq_get() result check
    ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq
    bus: omap-ocp2scp: Fix error handling in omap_ocp2scp_probe

    Arnd Bergmann
     

17 Aug, 2017

2 commits

  • …el/git/tmlind/linux-omap into next/soc

    Pull "soc changes for omaps for v4.14" from Tony Lindgren:

    SoC updates for omaps for v4.14. Most of the chages are to add
    support for new dra762 SoC. The other changes are are for legacy
    DMA code removal, and MMC quirk and iodelay config for dra7.

    * tag 'omap-for-v4.14/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
    ARM: OMAP: dra7: powerdomain data: Register SoC specific powerdomains
    ARM: dra762: Enable SMP for dra762
    ARM: dra7: hwmod: Register dra76x specific hwmod
    ARM: dra762: Add support for device identification
    ARM: OMAP2+: board-generic: add support for dra762 family
    ARM: OMAP2+: Select PINCTRL_TI_IODELAY for SOC_DRA7XX
    ARM: OMAP2+: Add pdata-quirks for MMC/SD on DRA74x EVM
    ARM: OMAP2+: Remove unused legacy code for DMA

    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
     

16 Aug, 2017

2 commits


15 Aug, 2017

8 commits


14 Aug, 2017

1 commit

  • Robert Jarzmik reports that his PXA25x system fails to boot with 4.12,
    failing at __flush_whole_cache in arch/arm/mm/proc-xscale.S:215:

    0xc0019e20 : ldr r1, [pc, #788]
    0xc0019e24 : ldr r0, [r1]
    Tested-by: Robert Jarzmik
    Signed-off-by: Russell King

    Russell King
     

11 Aug, 2017

2 commits

  • PINCTRL_TI_IODELAY should be enabled so that "pinctrl_dev" can be created
    for pinctrl entries populated with iodelay values in device tree data.
    Select PINCTRL_TI_IODELAY for SOC_DRA7XX here.

    Signed-off-by: Kishon Vijay Abraham I
    Signed-off-by: Tony Lindgren

    Kishon Vijay Abraham I
     
  • DRA74x EVM Rev H EVM comes with revision 2.0 silicon.
    However, earlier versions of EVM can come with either
    revision 1.1 or revision 1.0 of silicon.

    The device-tree file is written to support rev 2.0 of
    silicon. pdata quirks are used to then override the
    settings needed for PG 1.1 silicon.

    PG 1.1 silicon has limitations w.r.t frequencies at
    which MMC1/2/3 can operate as well as different IOdelay
    numbers.

    Signed-off-by: Kishon Vijay Abraham I
    Signed-off-by: Sekhar Nori
    Signed-off-by: Tony Lindgren

    Sekhar Nori
     

10 Aug, 2017

2 commits

  • We are now booting all mach-omap2 in device tree only mode.
    Any code that is only called in legacy boot mode where
    of_have_populated_dt() is not set is safe to remove now.

    Let's leave the dummy omap2_system_dma_init_dev() check
    in place for now to avoid a pointless merge conflict with
    tusb6010 dmaengine conversion as pointed out by Peter
    Ujfalusi .

    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • Since commit a8636c89648a ("PM / Runtime: Don't allow to suspend a
    device with an active child"), which went into 4.10, it is no longer
    permitted to set RPM_SUSPENDED state for a device with active children
    (unless power.ignore_children is set).

    This specifically means that the attempts to do just that from the omap
    pm-domain suspend_noirq callback have since been failing whenever a
    child is active, for example:

    am335x-usb-childs 47400000.usb: runtime PM trying to suspend
    device but active child

    Silence this warning by dropping the broken pm_runtime_set_suspended()
    call from the omap suspend_noirq callback along with the redundant
    pm_runtime_set_active() in resume_noirq.

    This effectively reverts commit 3522bf7bfa24 ("ARM: OMAP2+: omap_device:
    maintain sane runtime pm status around suspend/resume"), which started
    updating the RPM state after the runtime_suspend callback (!) for active
    omap devices had been called during system suspend. The rationale was
    that a later pm_runtime_get_sync() would then fail (even after runtime
    pm had been disabled) and that this in turn would avoid any external
    aborts when accessing registers with clocks disabled. (See also commit
    6f3c77b040fc ("PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE,
    even when disabled, v2").

    But during the suspend_noirq phase all children would already have been
    suspended and their drivers would specifically not attempt any further
    register accesses. And if this was all just a workaround for random
    device drivers doing cross-tree calls during system suspend, those
    drivers should be fixed and updated to explicitly model such
    dependencies using device-links instead (and either way, any such calls
    have been causing crashes since 4.10).

    Fixes: 3522bf7bfa24 ("ARM: OMAP2+: omap_device: maintain sane runtime pm status around suspend/resume")
    Fixes: a8636c89648a ("PM / Runtime: Don't allow to suspend a device with an active child")
    Cc: Alan Stern
    Cc: Dave Gerlach
    Cc: Kevin Hilman
    Cc: Nishanth Menon
    Cc: Rafael J. Wysocki
    Cc: Tony Lindgren
    Cc: Ulf Hansson
    Signed-off-by: Johan Hovold
    Tested-by: Grygorii Strashko
    Signed-off-by: Tony Lindgren

    Johan Hovold
     

05 Aug, 2017

1 commit

  • Pull ARM SoC fixes from Arnd Bergmann:
    "This comes a bit later than I planned, and as a consequence is a
    larger than it should be.

    Most of the changes are devicetree fixes, across lots of platforms:
    Renesas, Samsung Exynos, Marvell EBU, TI OMAP, Rockchips, Amlogic
    Meson, Sigma Desings Tango, Allwinner SUNxi and TI Davinci.

    Also across many platforms, I applied an older series of simple
    randconfig build fixes. This includes making the CONFIG_MTD_XIP option
    compile again, which had been broken for many years and probably has
    not been missed, but it felt wrong to just remove it completely.

    The only other changes are:

    - We enable HWSPINLOCK in defconfig to get some Qualcomm boards to
    work out of the box.

    - A few regression fixes for Texas Instruments OMAP2+.

    - A boot regression fix for the Renesas regulator quirk.

    - A suspend/resume fix for Uniphier SoCs, fixing the resume of the
    system bus"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
    ARM: dts: tango4: Request RGMII RX and TX clock delays
    bus: uniphier-system-bus: set up registers when resuming
    ARM64: dts: marvell: armada-37xx: Fix the number of GPIO on south bridge
    ARM: shmobile: rcar-gen2: Fix deadlock in regulator quirk
    arm64: defconfig: enable missing HWSPINLOCK
    ARM: pxa: select both FB and FB_W100 for eseries
    ARM: ixp4xx: fix ioport_unmap definition
    ARM: ep93xx: use ARM_PATCH_PHYS_VIRT correctly
    ARM: mmp: mark usb_dma_mask as __maybe_unused
    ARM: omap2: mark unused functions as __maybe_unused
    ARM: omap1: avoid unused variable warning
    ARM: sirf: mark sirfsoc_init_late as __maybe_unused
    ARM: ixp4xx: use normal prototype for {read,write}s{b,w,l}
    ARM: omap1/ams-delta: warn about failed regulator enable
    ARM: rpc: rename RAM_SIZE macro
    ARM: w90x900: normalize clk API
    ARM: ep93xx: normalize clk API
    ARM: dts: sun8i: a83t: Switch to CCU device tree binding macros
    arm64: allwinner: sun50i-a64: Correct emac register size
    ARM: dts: sunxi: h3/h5: Correct emac register size
    ...

    Linus Torvalds