08 Oct, 2020

1 commit

  • * tag 'v5.4.70': (3051 commits)
    Linux 5.4.70
    netfilter: ctnetlink: add a range check for l3/l4 protonum
    ep_create_wakeup_source(): dentry name can change under you...
    ...

    Conflicts:
    arch/arm/mach-imx/pm-imx6.c
    arch/arm64/boot/dts/freescale/imx8mm-evk.dts
    arch/arm64/boot/dts/freescale/imx8mn-ddr4-evk.dts
    drivers/crypto/caam/caamalg.c
    drivers/gpu/drm/imx/dw_hdmi-imx.c
    drivers/gpu/drm/imx/imx-ldb.c
    drivers/gpu/drm/imx/ipuv3/ipuv3-crtc.c
    drivers/mmc/host/sdhci-esdhc-imx.c
    drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
    drivers/net/ethernet/freescale/enetc/enetc.c
    drivers/net/ethernet/freescale/enetc/enetc_pf.c
    drivers/thermal/imx_thermal.c
    drivers/usb/cdns3/ep0.c
    drivers/xen/swiotlb-xen.c
    sound/soc/fsl/fsl_esai.c
    sound/soc/fsl/fsl_sai.c

    Signed-off-by: Jason Liu

    Jason Liu
     

22 Jul, 2020

1 commit

  • [ Upstream commit 5a8d7f126c97d04d893f5e5be2b286437a0d01b0 ]

    Commit 209c65b61d94 ("drivers/of/of_mdio.c:fix of_mdiobus_register()")
    introduced a break of the loop on the premise that a successful
    registration should exit the loop. The premise is correct but not to
    code, because rc && rc != -ENODEV is just a special error condition,
    that means we would exit the loop even with rc == -ENODEV which is
    absolutely not correct since this is the error code to indicate to the
    MDIO bus layer that scanning should continue.

    Fix this by explicitly checking for rc = 0 as the only valid condition
    to break out of the loop.

    Fixes: 209c65b61d94 ("drivers/of/of_mdio.c:fix of_mdiobus_register()")
    Reviewed-by: Andrew Lunn
    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller
    Signed-off-by: Sasha Levin

    Florian Fainelli
     

24 Jun, 2020

1 commit

  • [ Upstream commit 8a325dd06f2358ea0888e4ff1c9ca4bc23bd53f3 ]

    The problem in this code is that if kobject_add() fails, then it should
    call of_node_put(np) to drop the reference count. I've actually moved
    the of_node_get(np) later in the function to avoid needing to do clean
    up.

    Fixes: 5b2c2f5a0ea3 ("of: overlay: add missing of_node_get() in __of_attach_node_sysfs")
    Signed-off-by: Dan Carpenter
    Signed-off-by: Rob Herring
    Signed-off-by: Sasha Levin

    Dan Carpenter
     

19 Jun, 2020

1 commit

  • * tag 'v5.4.47': (2193 commits)
    Linux 5.4.47
    KVM: arm64: Save the host's PtrAuth keys in non-preemptible context
    KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception
    ...

    Conflicts:
    arch/arm/boot/dts/imx6qdl.dtsi
    arch/arm/mach-imx/Kconfig
    arch/arm/mach-imx/common.h
    arch/arm/mach-imx/suspend-imx6.S
    arch/arm64/boot/dts/freescale/imx8qxp-mek.dts
    arch/powerpc/include/asm/cacheflush.h
    drivers/cpufreq/imx6q-cpufreq.c
    drivers/dma/imx-sdma.c
    drivers/edac/synopsys_edac.c
    drivers/firmware/imx/imx-scu.c
    drivers/net/ethernet/freescale/fec.h
    drivers/net/ethernet/freescale/fec_main.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
    drivers/net/phy/phy_device.c
    drivers/perf/fsl_imx8_ddr_perf.c
    drivers/usb/cdns3/gadget.c
    drivers/usb/dwc3/gadget.c
    include/uapi/linux/dma-buf.h

    Signed-off-by: Jason Liu

    Jason Liu
     

23 Apr, 2020

4 commits

  • commit 478ff649b1c8eb2409b1a54fb75eb46f7c29f140 upstream.

    kmemleak reports several memory leaks from devicetree unittest.
    This is the fix for problem 4 of 5.

    target_path was not freed in the non-error path.

    Fixes: e0a58f3e08d4 ("of: overlay: remove a dependency on device node full_name")
    Reported-by: Erhard F.
    Signed-off-by: Frank Rowand
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    Frank Rowand
     
  • commit 145fc138f9aae4f9e1331352e301df28e16aed35 upstream.

    kmemleak reports several memory leaks from devicetree unittest.
    This is the fix for problem 3 of 5.

    of_unittest_overlay_high_level() failed to kfree the newly created
    property when the property named 'name' is skipped.

    Fixes: 39a751a4cb7e ("of: change overlay apply input data from unflattened to FDT")
    Reported-by: Erhard F.
    Signed-off-by: Frank Rowand
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    Frank Rowand
     
  • commit 216830d2413cc61be3f76bc02ffd905e47d2439e upstream.

    kmemleak reports several memory leaks from devicetree unittest.
    This is the fix for problem 2 of 5.

    of_unittest_platform_populate() left an elevated reference count for
    grandchild nodes (which are platform devices). Fix the platform
    device reference counts so that the memory will be freed.

    Fixes: fb2caa50fbac ("of/selftest: add testcase for nodes with same name and address")
    Reported-by: Erhard F.
    Signed-off-by: Frank Rowand
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    Frank Rowand
     
  • commit b3fb36ed694b05738d45218ea72cf7feb10ce2b1 upstream.

    kmemleak reports several memory leaks from devicetree unittest.
    This is the fix for problem 1 of 5.

    of_unittest_changeset() reaches deeply into the dynamic devicetree
    functions. Several nodes were left with an elevated reference
    count and thus were not properly cleaned up. Fix the reference
    counts so that the memory will be freed.

    Fixes: 201c910bd689 ("of: Transactional DT support.")
    Reported-by: Erhard F.
    Signed-off-by: Frank Rowand
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    Frank Rowand
     

01 Apr, 2020

1 commit

  • [ Upstream commit 209c65b61d94344522c41a83cd6ce51aac5fd0a4 ]

    When registers a phy_device successful, should terminate the loop
    or the phy_device would be registered in other addr. If there are
    multiple PHYs without reg properties, it will go wrong.

    Signed-off-by: Dajun Jin
    Reviewed-by: Andrew Lunn
    Signed-off-by: David S. Miller
    Signed-off-by: Sasha Levin

    Dajun Jin
     

08 Mar, 2020

1 commit

  • Merge Linux stable release v5.4.24 into imx_5.4.y

    * tag 'v5.4.24': (3306 commits)
    Linux 5.4.24
    blktrace: Protect q->blk_trace with RCU
    kvm: nVMX: VMWRITE checks unsupported field before read-only field
    ...

    Signed-off-by: Jason Liu

    Conflicts:
    arch/arm/boot/dts/imx6sll-evk.dts
    arch/arm/boot/dts/imx7ulp.dtsi
    arch/arm64/boot/dts/freescale/fsl-ls1028a.dtsi
    drivers/clk/imx/clk-composite-8m.c
    drivers/gpio/gpio-mxc.c
    drivers/irqchip/Kconfig
    drivers/mmc/host/sdhci-of-esdhc.c
    drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
    drivers/net/can/flexcan.c
    drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
    drivers/net/ethernet/mscc/ocelot.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
    drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c
    drivers/net/phy/realtek.c
    drivers/pci/controller/mobiveil/pcie-mobiveil-host.c
    drivers/perf/fsl_imx8_ddr_perf.c
    drivers/tee/optee/shm_pool.c
    drivers/usb/cdns3/gadget.c
    kernel/sched/cpufreq.c
    net/core/xdp.c
    sound/soc/fsl/fsl_esai.c
    sound/soc/fsl/fsl_sai.c
    sound/soc/sof/core.c
    sound/soc/sof/imx/Kconfig
    sound/soc/sof/loader.c

    Jason Liu
     

26 Feb, 2020

1 commit

  • There's an OF helper called of_dma_is_coherent(), which checks if a
    device has a "dma-coherent" property to see if the device is coherent
    for DMA.

    But on some platforms devices are coherent by default, and on some
    platforms it's not possible to update existing device trees to add the
    "dma-coherent" property.

    So add a Kconfig symbol to allow arch code to tell
    of_dma_is_coherent() that devices are coherent by default, regardless
    of the presence of the property.

    Select that symbol on powerpc when NOT_COHERENT_CACHE is not set, ie.
    when the system has a coherent cache.

    Fixes: 92ea637edea3 ("of: introduce of_dma_is_coherent() helper")
    Cc: stable@vger.kernel.org # v3.16+
    Reported-by: Christian Zigotzky
    Tested-by: Christian Zigotzky
    Signed-off-by: Michael Ellerman
    Reviewed-by: Ulf Hansson
    Signed-off-by: Rob Herring
    (cherry picked from commit dabf6b36b83a18d57e3d4b9d50544ed040d86255)
    (cherry picked from commit 43557841be9fbf4dc9e053944a2e896c4baea73b)

    Michael Ellerman
     

11 Feb, 2020

1 commit

  • commit dabf6b36b83a18d57e3d4b9d50544ed040d86255 upstream.

    There's an OF helper called of_dma_is_coherent(), which checks if a
    device has a "dma-coherent" property to see if the device is coherent
    for DMA.

    But on some platforms devices are coherent by default, and on some
    platforms it's not possible to update existing device trees to add the
    "dma-coherent" property.

    So add a Kconfig symbol to allow arch code to tell
    of_dma_is_coherent() that devices are coherent by default, regardless
    of the presence of the property.

    Select that symbol on powerpc when NOT_COHERENT_CACHE is not set, ie.
    when the system has a coherent cache.

    Fixes: 92ea637edea3 ("of: introduce of_dma_is_coherent() helper")
    Cc: stable@vger.kernel.org # v3.16+
    Reported-by: Christian Zigotzky
    Tested-by: Christian Zigotzky
    Signed-off-by: Michael Ellerman
    Reviewed-by: Ulf Hansson
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    Michael Ellerman
     

09 Jan, 2020

1 commit

  • commit 637392a8506a3a7dd24ab9094a14f7522adb73b4 upstream.

    No changeset entries are created for #address-cells and #size-cells
    properties, but the duplicated properties are never freed. This
    results in a memory leak which is detected by kmemleak:

    unreferenced object 0x85887180 (size 64):
    backtrace:
    kmem_cache_alloc_trace+0x1fb/0x1fc
    __of_prop_dup+0x25/0x7c
    add_changeset_property+0x17f/0x370
    build_changeset_next_level+0x29/0x20c
    of_overlay_fdt_apply+0x32b/0x6b4
    ...

    Fixes: 6f75118800ac ("of: overlay: validate overlay properties #address-cells and #size-cells")
    Reported-by: Vincent Whitchurch
    Signed-off-by: Frank Rowand
    Tested-by: Vincent Whitchurch
    Signed-off-by: Rob Herring
    Signed-off-by: Greg Kroah-Hartman

    Frank Rowand
     

05 Jan, 2020

1 commit

  • [ Upstream commit 2aacace6dbbb6b6ce4e177e6c7ea901f389c0472 ]

    In attach_node_and_children memory is allocated for full_name via
    kasprintf. If the condition of the 1st if is not met the function
    returns early without freeing the memory. Add a kfree() to fix that.

    This has been detected with kmemleak:
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=205327

    It looks like the leak was introduced by this commit:
    Fixes: 5babefb7f7ab ("of: unittest: allow base devicetree to have symbol metadata")

    Signed-off-by: Erhard Furtner
    Reviewed-by: Michael Ellerman
    Reviewed-by: Tyrel Datwyler
    Signed-off-by: Rob Herring
    Signed-off-by: Sasha Levin

    Erhard Furtner
     

02 Dec, 2019

3 commits

  • * sdhc/next: (27 commits)
    MLK-19402 mmc: sdhci-esdhc-imx: optimize the strobe dll setting
    MLK-22966 mmc: sdhci-esdhc-imx: optimize the clock setting
    mmc: sdhci-esdhc-imx: Add support for S32V234
    mmc: sdhci-of-esdhc: fix up erratum A-008171 workaround
    mmc: sdhci-of-esdhc: poll ESDHC_FLUSH_ASYNC_FIFO bit until completion
    ...

    Dong Aisheng
     
  • If MAC address read from nvmem cell and it is valid mac address,
    .of_get_mac_addr_nvmem() add new property "nvmem-mac-address" in
    ethernet node. Once user call .of_get_mac_address() to get MAC
    address again, it can read valid MAC address from device tree in
    directly.

    Signed-off-by: Fugang Duan

    Fugang Duan
     
  • * arch/next: (81 commits)
    MLK-21599-1 arm64: Kconfig: Make FORCE_MAX_ZONEORDER configurable
    LF-171 ARM: imx: Add cpu type check for imx6ulz in msl code
    LF-176 ARM: imx: mach-imx6q: Revert "ARM: imx: correct the enet_clk_ref clock string"
    drivers: soc: fsl: add qixis driver
    Add APIs to setup HugeTLB mappings for USDPAA
    ...

    Dong Aisheng
     

25 Nov, 2019

4 commits


24 Oct, 2019

2 commits

  • Commit d698a388146c ("of: reserved-memory: ignore disabled memory-region
    nodes") added an early return in of_reserved_mem_device_init_by_idx(), but
    didn't call of_node_put() on a device_node whose ref-count was incremented
    in the call to of_parse_phandle() preceding the early exit.

    Fixes: d698a388146c ("of: reserved-memory: ignore disabled memory-region nodes")
    Signed-off-by: Chris Goldsworthy
    Cc: stable@vger.kernel.org
    Reviewed-by: Bjorn Andersson
    Signed-off-by: Rob Herring

    Chris Goldsworthy
     
  • In unittest_data_add, a copy buffer is created via kmemdup. This buffer
    is leaked if of_fdt_unflatten_tree fails. The release for the
    unittest_data buffer is added.

    Fixes: b951f9dc7f25 ("Enabling OF selftest to run without machine's devicetree")
    Signed-off-by: Navid Emamdoost
    Reviewed-by: Frank Rowand
    Signed-off-by: Rob Herring

    Navid Emamdoost
     

29 Sep, 2019

1 commit

  • Pull networking fixes from David Miller:

    1) Sanity check URB networking device parameters to avoid divide by
    zero, from Oliver Neukum.

    2) Disable global multicast filter in NCSI, otherwise LLDP and IPV6
    don't work properly. Longer term this needs a better fix tho. From
    Vijay Khemka.

    3) Small fixes to selftests (use ping when ping6 is not present, etc.)
    from David Ahern.

    4) Bring back rt_uses_gateway member of struct rtable, it's semantics
    were not well understood and trying to remove it broke things. From
    David Ahern.

    5) Move usbnet snaity checking, ignore endpoints with invalid
    wMaxPacketSize. From Bjørn Mork.

    6) Missing Kconfig deps for sja1105 driver, from Mao Wenan.

    7) Various small fixes to the mlx5 DR steering code, from Alaa Hleihel,
    Alex Vesker, and Yevgeny Kliteynik

    8) Missing CAP_NET_RAW checks in various places, from Ori Nimron.

    9) Fix crash when removing sch_cbs entry while offloading is enabled,
    from Vinicius Costa Gomes.

    10) Signedness bug fixes, generally in looking at the result given by
    of_get_phy_mode() and friends. From Dan Crapenter.

    11) Disable preemption around BPF_PROG_RUN() calls, from Eric Dumazet.

    12) Don't create VRF ipv6 rules if ipv6 is disabled, from David Ahern.

    13) Fix quantization code in tcp_bbr, from Kevin Yang.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (127 commits)
    net: tap: clean up an indentation issue
    nfp: abm: fix memory leak in nfp_abm_u32_knode_replace
    tcp: better handle TCP_USER_TIMEOUT in SYN_SENT state
    sk_buff: drop all skb extensions on free and skb scrubbing
    tcp_bbr: fix quantization code to not raise cwnd if not probing bandwidth
    mlxsw: spectrum_flower: Fail in case user specifies multiple mirror actions
    Documentation: Clarify trap's description
    mlxsw: spectrum: Clear VLAN filters during port initialization
    net: ena: clean up indentation issue
    NFC: st95hf: clean up indentation issue
    net: phy: micrel: add Asym Pause workaround for KSZ9021
    net: socionext: ave: Avoid using netdev_err() before calling register_netdev()
    ptp: correctly disable flags on old ioctls
    lib: dimlib: fix help text typos
    net: dsa: microchip: Always set regmap stride to 1
    nfp: flower: fix memory leak in nfp_flower_spawn_vnic_reprs
    nfp: flower: prevent memory leak in nfp_flower_spawn_phy_reprs
    net/sched: Set default of CONFIG_NET_TC_SKB_EXT to N
    vrf: Do not attempt to create IPv6 mcast rule if IPv6 is disabled
    net: sched: sch_sfb: don't call qdisc_put() while holding tree lock
    ...

    Linus Torvalds
     

27 Sep, 2019

1 commit


20 Sep, 2019

1 commit

  • Pull Devicetree updates from Rob Herring:

    - a bunch of DT binding conversions to DT schema format

    - clean-ups of the Arm idle-states binding

    - support a default number of cells in of_for_each_phandle() when the
    cells name is missing

    - expose dtbs_check and dt_binding_check in the make help

    - convert writting-schema.md to ReST

    - HiSilicon reset controller binding updates

    - add documentation for MT8516 RNG

    * tag 'devicetree-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (46 commits)
    of: restore old handling of cells_name=NULL in of_*_phandle_with_args()
    bus: qcom: fix spelling mistake "ambigous" -> "ambiguous"
    of: Let of_for_each_phandle fallback to non-negative cell_count
    iommu: pass cell_count = -1 to of_for_each_phandle with cells_name
    dt-bindings: arm: Convert Realtek board/soc bindings to json-schema
    dt-bindings: arm: Convert Actions Semi bindings to jsonschema
    dt-bindings: Correct spelling in example schema
    dt-bindings: cpu: Add a support cpu type for cortex-a55
    dt-bindings: gpu: mali-midgard: Add samsung exynos5250 compatible
    dt-bindings: arm: idle-states: Move exit-latency-us explanation
    dt-bindings: arm: idle-states: Add punctuation to improve readability
    dt-bindings: arm: idle-states: Correct "constraint guarantees"
    dt-bindings: arm: idle-states: Correct references to wake-up delay
    dt-bindings: arm: idle-states: Use "e.g." and "i.e." consistently
    pinctrl-mcp23s08: Fix property-name in dt-example
    dt-bindings: Clarify interrupts-extended usage
    dt-bindings: Convert Arm Mali Utgard GPU to DT schema
    dt-bindings: Convert Arm Mali Bifrost GPU to DT schema
    dt-bindings: Convert Arm Mali Midgard GPU to DT schema
    dt-bindings: irq: Convert Allwinner NMI Controller to a schema
    ...

    Linus Torvalds
     

19 Sep, 2019

1 commit

  • Before commit e42ee61017f5 ("of: Let of_for_each_phandle fallback to
    non-negative cell_count") the iterator functions calling
    of_for_each_phandle assumed a cell count of 0 if cells_name was NULL.
    This corner case was missed when implementing the fallback logic in
    e42ee61017f5 and resulted in an endless loop.

    Restore the old behaviour of of_count_phandle_with_args() and
    of_parse_phandle_with_args() and add a check to
    of_phandle_iterator_init() to prevent a similar failure as a safety
    precaution. of_parse_phandle_with_args_map() doesn't need a similar fix
    as cells_name isn't NULL there.

    Affected drivers are:
    - drivers/base/power/domain.c
    - drivers/base/power/domain.c
    - drivers/clk/ti/clk-dra7-atl.c
    - drivers/hwmon/ibmpowernv.c
    - drivers/i2c/muxes/i2c-demux-pinctrl.c
    - drivers/iommu/mtk_iommu.c
    - drivers/net/ethernet/freescale/fman/mac.c
    - drivers/opp/of.c
    - drivers/perf/arm_dsu_pmu.c
    - drivers/regulator/of_regulator.c
    - drivers/remoteproc/imx_rproc.c
    - drivers/soc/rockchip/pm_domains.c
    - sound/soc/fsl/imx-audmix.c
    - sound/soc/fsl/imx-audmix.c
    - sound/soc/meson/axg-card.c
    - sound/soc/samsung/tm2_wm5110.c
    - sound/soc/samsung/tm2_wm5110.c

    Thanks to Geert Uytterhoeven for reporting the issue, Peter Rosin for
    helping pinpoint the actual problem and the testers for confirming this
    fix.

    Fixes: e42ee61017f5 ("of: Let of_for_each_phandle fallback to non-negative cell_count")
    Tested-by: Marek Szyprowski
    Tested-by: Geert Uytterhoeven
    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Rob Herring

    Uwe Kleine-König
     

18 Sep, 2019

1 commit

  • …anaszewski/linux-leds

    Pull LED updates from Jacek Anaszewski:
    "In this cycle we've finally managed to contribute the patch set
    sorting out LED naming issues. Besides that there are many changes
    scattered among various LED class drivers and triggers.

    LED naming related improvements:

    - add new 'function' and 'color' fwnode properties and deprecate
    'label' property which has been frequently abused for conveying
    vendor specific names that have been available in sysfs anyway

    - introduce a set of standard LED_FUNCTION* definitions

    - introduce a set of standard LED_COLOR_ID* definitions

    - add a new {devm_}led_classdev_register_ext() API with the
    capability of automatic LED name composition basing on the
    properties available in the passed fwnode; the function is
    backwards compatible in a sense that it uses 'label' data, if
    present in the fwnode, for creating LED name

    - add tools/leds/get_led_device_info.sh script for retrieving LED
    vendor, product and bus names, if applicable; it also performs
    basic validation of an LED name

    - update following drivers and their DT bindings to use the new LED
    registration API:

    - leds-an30259a, leds-gpio, leds-as3645a, leds-aat1290, leds-cr0014114,
    leds-lm3601x, leds-lm3692x, leds-lp8860, leds-lt3593, leds-sc27xx-blt

    Other LED class improvements:

    - replace {devm_}led_classdev_register() macros with inlines

    - allow to call led_classdev_unregister() unconditionally

    - switch to use fwnode instead of be stuck with OF one

    LED triggers improvements:

    - led-triggers:
    - fix dereferencing of null pointer
    - fix a memory leak bug

    - ledtrig-gpio:
    - GPIO 0 is valid

    Drop superseeded apu2/3 support from leds-apu since for apu2+ a newer,
    more complete driver exists, based on a generic driver for the AMD
    SOCs gpio-controller, supporting LEDs as well other devices:

    - drop profile field from priv data

    - drop iosize field from priv data

    - drop enum_apu_led_platform_types

    - drop superseeded apu2/3 led support

    - add pr_fmt prefix for better log output

    - fix error message on probing failure

    Other misc fixes and improvements to existing LED class drivers:

    - leds-ns2, leds-max77650:
    - add of_node_put() before return

    - leds-pwm, leds-is31fl32xx:
    - use struct_size() helper

    - leds-lm3697, leds-lm36274, leds-lm3532:
    - switch to use fwnode_property_count_uXX()

    - leds-lm3532:
    - fix brightness control for i2c mode
    - change the define for the fs current register
    - fixes for the driver for stability
    - add full scale current configuration
    - dt: Add property for full scale current.
    - avoid potentially unpaired regulator calls
    - move static keyword to the front of declarations
    - fix optional led-max-microamp prop error handling

    - leds-max77650:
    - add of_node_put() before return
    - add MODULE_ALIAS()
    - Switch to fwnode property API

    - leds-as3645a:
    - fix misuse of strlcpy

    - leds-netxbig:
    - add of_node_put() in netxbig_leds_get_of_pdata()
    - remove legacy board-file support

    - leds-is31fl319x:
    - simplify getting the adapter of a client

    - leds-ti-lmu-common:
    - fix coccinelle issue
    - move static keyword to the front of declaration

    - leds-syscon:
    - use resource managed variant of device register

    - leds-ktd2692:
    - fix a typo in the name of a constant

    - leds-lp5562:
    - allow firmware files up to the maximum length

    - leds-an30259a:
    - fix typo

    - leds-pca953x:
    - include the right header"

    * tag 'leds-for-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (72 commits)
    leds: lm3532: Fix optional led-max-microamp prop error handling
    led: triggers: Fix dereferencing of null pointer
    leds: ti-lmu-common: Move static keyword to the front of declaration
    leds: lm3532: Move static keyword to the front of declarations
    leds: trigger: gpio: GPIO 0 is valid
    leds: pwm: Use struct_size() helper
    leds: is31fl32xx: Use struct_size() helper
    leds: ti-lmu-common: Fix coccinelle issue in TI LMU
    leds: lm3532: Avoid potentially unpaired regulator calls
    leds: syscon: Use resource managed variant of device register
    leds: Replace {devm_}led_classdev_register() macros with inlines
    leds: Allow to call led_classdev_unregister() unconditionally
    leds: lm3532: Add full scale current configuration
    dt: lm3532: Add property for full scale current.
    leds: lm3532: Fixes for the driver for stability
    leds: lm3532: Change the define for the fs current register
    leds: lm3532: Fix brightness control for i2c mode
    leds: Switch to use fwnode instead of be stuck with OF one
    leds: max77650: Switch to fwnode property API
    led: triggers: Fix a memory leak bug
    ...

    Linus Torvalds
     

17 Sep, 2019

1 commit

  • Pull arm64 updates from Will Deacon:
    "Although there isn't tonnes of code in terms of line count, there are
    a fair few headline features which I've noted both in the tag and also
    in the merge commits when I pulled everything together.

    The part I'm most pleased with is that we had 35 contributors this
    time around, which feels like a big jump from the usual small group of
    core arm64 arch developers. Hopefully they all enjoyed it so much that
    they'll continue to contribute, but we'll see.

    It's probably worth highlighting that we've pulled in a branch from
    the risc-v folks which moves our CPU topology code out to where it can
    be shared with others.

    Summary:

    - 52-bit virtual addressing in the kernel

    - New ABI to allow tagged user pointers to be dereferenced by
    syscalls

    - Early RNG seeding by the bootloader

    - Improve robustness of SMP boot

    - Fix TLB invalidation in light of recent architectural
    clarifications

    - Support for i.MX8 DDR PMU

    - Remove direct LSE instruction patching in favour of static keys

    - Function error injection using kprobes

    - Support for the PPTT "thread" flag introduced by ACPI 6.3

    - Move PSCI idle code into proper cpuidle driver

    - Relaxation of implicit I/O memory barriers

    - Build with RELR relocations when toolchain supports them

    - Numerous cleanups and non-critical fixes"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (114 commits)
    arm64: remove __iounmap
    arm64: atomics: Use K constraint when toolchain appears to support it
    arm64: atomics: Undefine internal macros after use
    arm64: lse: Make ARM64_LSE_ATOMICS depend on JUMP_LABEL
    arm64: asm: Kill 'asm/atomic_arch.h'
    arm64: lse: Remove unused 'alt_lse' assembly macro
    arm64: atomics: Remove atomic_ll_sc compilation unit
    arm64: avoid using hard-coded registers for LSE atomics
    arm64: atomics: avoid out-of-line ll/sc atomics
    arm64: Use correct ll/sc atomic constraints
    jump_label: Don't warn on __exit jump entries
    docs/perf: Add documentation for the i.MX8 DDR PMU
    perf/imx_ddr: Add support for AXI ID filtering
    arm64: kpti: ensure patched kernel text is fetched from PoU
    arm64: fix fixmap copy for 16K pages and 48-bit VA
    perf/smmuv3: Validate groups for global filtering
    perf/smmuv3: Validate group size
    arm64: Relax Documentation/arm64/tagged-pointers.rst
    arm64: kvm: Replace hardcoded '1' with SYS_PAR_EL1_F
    arm64: mm: Ignore spurious translation faults taken from the kernel
    ...

    Linus Torvalds
     

14 Sep, 2019

1 commit

  • Referencing device tree nodes from a property allows to pass arguments.
    This is for example used for referencing gpios. This looks as follows:

    gpio_ctrl: gpio-controller {
    #gpio-cells =
    ...
    }

    someothernode {
    gpios = ;
    ...
    }

    To know the number of arguments this must be either fixed, or the
    referenced node is checked for a $cells_name (here: "#gpio-cells")
    property and with this information the start of the second reference can
    be determined.

    Currently regulators are referenced with no additional arguments. To
    allow some optional arguments without having to change all referenced
    nodes this change introduces a way to specify a default cell_count. So
    when a phandle is parsed we check for the $cells_name property and use
    it as before if present. If it is not present we fall back to
    cells_count if non-negative and only fail if cells_count is smaller than
    zero.

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Rob Herring

    Uwe Kleine-König
     

28 Aug, 2019

1 commit

  • The local variable np in function of_unittest_platform_populate takes
    the return value of of_find_node_by_path, which gets a node but does not
    put it. If np is not put before return it may cause a memory leak. Hence
    put np before a return statement.
    Issue found with Coccinelle.

    Signed-off-by: Nishka Dasgupta
    Signed-off-by: Rob Herring

    Nishka Dasgupta
     

27 Aug, 2019

1 commit

  • Commit 428826f5358c ("fdt: add support for rng-seed") moves of_fdt_crc32
    from early_init_dt_verify() to early_init_dt_scan() since
    early_init_dt_scan_chosen() may modify fdt to erase rng-seed.

    However, arm and some other arch won't call early_init_dt_scan(), they
    call early_init_dt_verify() then early_init_dt_scan_nodes().

    Restore of_fdt_crc32 to early_init_dt_verify() then update it in
    early_init_dt_scan_chosen() if fdt if updated.

    Fixes: 428826f5358c ("fdt: add support for rng-seed")
    Reported-by: Geert Uytterhoeven
    Signed-off-by: Hsin-Yi Wang
    Tested-by: Geert Uytterhoeven
    Signed-off-by: Will Deacon

    Hsin-Yi Wang
     

23 Aug, 2019

1 commit

  • Introducing a chosen node, rng-seed, which is an entropy that can be
    passed to kernel called very early to increase initial device
    randomness. Bootloader should provide this entropy and the value is
    read from /chosen/rng-seed in DT.

    Obtain of_fdt_crc32 for CRC check after early_init_dt_scan_nodes(),
    since early_init_dt_scan_chosen() would modify fdt to erase rng-seed.

    Add a new interface add_bootloader_randomness() for rng-seed use case.
    Depends on whether the seed is trustworthy, rng seed would be passed to
    add_hwgenerator_randomness(). Otherwise it would be passed to
    add_device_randomness(). Decision is controlled by kernel config
    RANDOM_TRUST_BOOTLOADER.

    Signed-off-by: Hsin-Yi Wang
    Reviewed-by: Stephen Boyd
    Reviewed-by: Rob Herring
    Reviewed-by: Theodore Ts'o # drivers/char/random.c
    Signed-off-by: Will Deacon

    Hsin-Yi Wang
     

15 Aug, 2019

1 commit


13 Aug, 2019

1 commit

  • Each iteration of for_each_child_of_node puts the previous node, but in
    the case of a return or break from the middle of the loop, there is no
    put, thus causing a memory leak. Hence add an of_node_put before the
    return or break in three places.
    Issue found with Coccinelle.

    Signed-off-by: Nishka Dasgupta
    Signed-off-by: Rob Herring

    Nishka Dasgupta
     

30 Jul, 2019

1 commit

  • Introduce wrappers for {bus/driver/class}_find_device() to
    locate devices by its of_node.

    Cc: Maarten Lankhorst
    Cc: Maxime Ripard
    Cc: dri-devel@lists.freedesktop.org
    Cc: David Airlie
    Cc: Daniel Vetter
    Cc: devicetree@vger.kernel.org
    Cc: Florian Fainelli
    Cc: Frank Rowand
    Cc: Heiko Stuebner
    Cc: Liam Girdwood
    Cc: linux-i2c@vger.kernel.org
    Cc: linux-rockchip@lists.infradead.org
    Cc: linux-spi@vger.kernel.org
    Cc: Mathieu Poirier
    Cc: Rob Herring
    Cc: Srinivas Kandagatla
    Cc: Takashi Iwai
    Cc: Alan Tull
    Cc: linux-fpga@vger.kernel.org
    Cc: Peter Rosin
    Cc: Florian Fainelli
    Cc: Heiner Kallweit
    Cc: "David S. Miller"
    Cc: Andrew Lunn
    Cc: Liam Girdwood
    Cc: "Rafael J. Wysocki"
    Cc: Thor Thayer
    Cc: Jiri Slaby
    Cc: Andrew Lunn
    Cc: Peter Rosin
    Signed-off-by: Suzuki K Poulose
    Acked-by: Lee Jones
    Acked-by: Wolfram Sang # I2C part
    Acked-by: Moritz Fischer # For FPGA part
    Acked-by: Mark Brown
    Link: https://lore.kernel.org/r/20190723221838.12024-3-suzuki.poulose@arm.com
    Signed-off-by: Greg Kroah-Hartman

    Suzuki K Poulose
     

18 Jul, 2019

1 commit

  • Pull virtio, vhost updates from Michael Tsirkin:
    "Fixes, features, performance:

    - new iommu device

    - vhost guest memory access using vmap (just meta-data for now)

    - minor fixes"

    * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    virtio-mmio: add error check for platform_get_irq
    scsi: virtio_scsi: Use struct_size() helper
    iommu/virtio: Add event queue
    iommu/virtio: Add probe request
    iommu: Add virtio-iommu driver
    PCI: OF: Initialize dev->fwnode appropriately
    of: Allow the iommu-map property to omit untranslated devices
    dt-bindings: virtio: Add virtio-pci-iommu node
    dt-bindings: virtio-mmio: Add IOMMU description
    vhost: fix clang build warning
    vhost: access vq metadata through kernel virtual address
    vhost: factor out setting vring addr and num
    vhost: introduce helpers to get the size of metadata area
    vhost: rename vq_iotlb_prefetch() to vq_meta_prefetch()
    vhost: fine grain userspace memory accessors
    vhost: generalize adding used elem

    Linus Torvalds
     

13 Jul, 2019

1 commit

  • Pull driver core and debugfs updates from Greg KH:
    "Here is the "big" driver core and debugfs changes for 5.3-rc1

    It's a lot of different patches, all across the tree due to some api
    changes and lots of debugfs cleanups.

    Other than the debugfs cleanups, in this set of changes we have:

    - bus iteration function cleanups

    - scripts/get_abi.pl tool to display and parse Documentation/ABI
    entries in a simple way

    - cleanups to Documenatation/ABI/ entries to make them parse easier
    due to typos and other minor things

    - default_attrs use for some ktype users

    - driver model documentation file conversions to .rst

    - compressed firmware file loading

    - deferred probe fixes

    All of these have been in linux-next for a while, with a bunch of
    merge issues that Stephen has been patient with me for"

    * tag 'driver-core-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (102 commits)
    debugfs: make error message a bit more verbose
    orangefs: fix build warning from debugfs cleanup patch
    ubifs: fix build warning after debugfs cleanup patch
    driver: core: Allow subsystems to continue deferring probe
    drivers: base: cacheinfo: Ensure cpu hotplug work is done before Intel RDT
    arch_topology: Remove error messages on out-of-memory conditions
    lib: notifier-error-inject: no need to check return value of debugfs_create functions
    swiotlb: no need to check return value of debugfs_create functions
    ceph: no need to check return value of debugfs_create functions
    sunrpc: no need to check return value of debugfs_create functions
    ubifs: no need to check return value of debugfs_create functions
    orangefs: no need to check return value of debugfs_create functions
    nfsd: no need to check return value of debugfs_create functions
    lib: 842: no need to check return value of debugfs_create functions
    debugfs: provide pr_fmt() macro
    debugfs: log errors when something goes wrong
    drivers: s390/cio: Fix compilation warning about const qualifiers
    drivers: Add generic helper to match by of_node
    driver_find_device: Unify the match function with class_find_device()
    bus_find_device: Unify the match callback with class_find_device
    ...

    Linus Torvalds
     

12 Jul, 2019

1 commit

  • Pull Devicetree updates from Rob Herring:

    - DT binding schema examples are now validated against the schemas.
    Various examples are fixed due to that.

    - Sync dtc with upstream version v1.5.0-30-g702c1b6c0e73

    - Initial schemas for networking bindings. This includes ethernet, phy
    and mdio common bindings with several Allwinner and stmmac converted
    to the schema.

    - Conversion of more Arm top-level SoC/board bindings to DT schema

    - Conversion of PSCI binding to DT schema

    - Rework Arm CPU schema to coexist with other CPU schemas

    - Add a bunch of missing vendor prefixes and new ones for SoChip,
    Sipeed, Kontron, B&R Industrial Automation GmbH, and Espressif

    - Add Mediatek UART RX wakeup support to binding

    - Add reset to ST UART binding

    - Remove some Linuxisms from the endianness common-properties.txt
    binding

    - Make the flattened DT read-only after init

    - Ignore disabled reserved memory nodes

    - Clean-up some dead code in FDT functions

    * tag 'devicetree-for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (56 commits)
    dt-bindings: vendor-prefixes: add Sipeed
    dt-bindings: vendor-prefixes: add SoChip
    dt-bindings: 83xx-512x-pci: Drop cell-index property
    dt-bindings: serial: add documentation for Rx in-band wakeup support
    dt-bindings: arm: Convert RDA Micro board/soc bindings to json-schema
    of: unittest: simplify getting the adapter of a client
    of/fdt: pass early_init_dt_reserve_memory_arch() with bool type nomap
    of/platform: Drop superfluous cast in of_device_make_bus_id()
    dt-bindings: usb: ehci: Fix example warnings
    dt-bindings: net: Use phy-mode instead of phy-connection-type
    dt-bindings: simple-framebuffer: Add requirement for pipelines
    dt-bindings: display: Fix simple-framebuffer example
    dt-bindings: net: mdio: Add child nodes
    dt-bindings: net: mdio: Add address and size cells
    dt-bindings: net: mdio: Add a nodename pattern
    dt-bindings: mtd: sunxi-nand: Drop 'maxItems' from child 'reg' property
    dt-bindings: arm: Limit cpus schema to only check Arm 'cpu' nodes
    dt-bindings: backlight: lm3630a: correct schema validation
    dt-bindings: net: dwmac: Deprecate the PHY reset properties
    dt-bindings: net: sun8i-emac: Convert the binding to a schemas
    ...

    Linus Torvalds
     

09 Jul, 2019

1 commit