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

3 commits


24 Jun, 2019

1 commit

  • There is an arbitrary difference between the prototypes of
    bus_find_device() and class_find_device() preventing their callers
    from passing the same pair of data and match() arguments to both of
    them, which is the const qualifier used in the prototype of
    class_find_device(). If that qualifier is also used in the
    bus_find_device() prototype, it will be possible to pass the same
    match() callback function to both bus_find_device() and
    class_find_device(), which will allow some optimizations to be made in
    order to avoid code duplication going forward. Also with that, constify
    the "data" parameter as it is passed as a const to the match function.

    For this reason, change the prototype of bus_find_device() to match
    the prototype of class_find_device() and adjust its callers to use the
    const qualifier in accordance with the new prototype of it.

    Cc: Alexander Shishkin
    Cc: Andrew Lunn
    Cc: Andreas Noever
    Cc: Arnd Bergmann
    Cc: Bjorn Helgaas
    Cc: Corey Minyard
    Cc: Christian Borntraeger
    Cc: David Kershner
    Cc: "David S. Miller"
    Cc: David Airlie
    Cc: Felipe Balbi
    Cc: Frank Rowand
    Cc: Grygorii Strashko
    Cc: Harald Freudenberger
    Cc: Hartmut Knaack
    Cc: Heiko Stuebner
    Cc: Jason Gunthorpe
    Cc: Jonathan Cameron
    Cc: "James E.J. Bottomley"
    Cc: Len Brown
    Cc: Mark Brown
    Cc: Michael Ellerman
    Cc: Michael Jamet
    Cc: "Martin K. Petersen"
    Cc: Peter Oberparleiter
    Cc: Sebastian Ott
    Cc: Srinivas Kandagatla
    Cc: Yehezkel Bernat
    Cc: rafael@kernel.org
    Acked-by: Corey Minyard
    Acked-by: David Kershner
    Acked-by: Mark Brown
    Acked-by: Rafael J. Wysocki
    Acked-by: Srinivas Kandagatla
    Acked-by: Wolfram Sang # for the I2C parts
    Acked-by: Rob Herring
    Signed-off-by: Suzuki K Poulose
    Signed-off-by: Greg Kroah-Hartman

    Suzuki K Poulose
     

18 Jun, 2019

1 commit

  • When CONFIG_OF_EARLY_FLATTREE is disabled, there is a compiler
    warning,

    drivers/of/fdt.c:129:19: warning: ‘of_fdt_match’ defined but not used [-Wunused-function]
    static int __init of_fdt_match(const void *blob, unsigned long node,

    Since the only caller of of_fdt_match() is of_flat_dt_match(),
    let's move the body of of_fdt_match() into of_flat_dt_match()
    and eliminate of_fdt_match().

    Meanwhile, move of_fdt_is_compatible() under CONFIG_OF_EARLY_FLATTREE,
    as all callers are over there.

    Fixes: 9b4d2b635bd0 ("of/fdt: Remove dead code and mark functions with __init")
    Cc: Frank Rowand
    Signed-off-by: Kefeng Wang
    Reviewed-by: Stephen Boyd
    Signed-off-by: Rob Herring

    Kefeng Wang
     

07 Jun, 2019

1 commit

  • In PCI root complex nodes, the iommu-map property describes the IOMMU that
    translates each endpoint. On some platforms, the IOMMU itself is presented
    as a PCI endpoint (e.g. AMD IOMMU and virtio-iommu). This isn't supported
    by the current OF driver, which expects all endpoints to have an IOMMU.
    Allow the iommu-map property to have gaps.

    Relaxing of_map_rid() also allows the msi-map property to have gaps, which
    is invalid since MSIs always reach an MSI controller. In that case
    pci_msi_setup_msi_irqs() will return an error when attempting to find the
    device's MSI domain.

    Reviewed-by: Rob Herring
    Signed-off-by: Jean-Philippe Brucker
    Signed-off-by: Michael S. Tsirkin

    Jean-Philippe Brucker
     

05 Jun, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this file is released under the gplv2

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 68 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Armijn Hemel
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190531190114.292346262@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

25 May, 2019

3 commits

  • The FDT pointer, i.e. initial_boot_params, shouldn't be changed after
    init. It's only set by boot code and then the only user of the FDT is
    the raw sysfs reading API. Mark this pointer with __ro_after_init so
    that the pointer can't be changed after init.

    Cc: Hsin-Yi Wang
    Signed-off-by: Stephen Boyd
    Signed-off-by: Rob Herring

    Stephen Boyd
     
  • Some functions in here are never called, and others are only called
    during __init. Remove the dead code and some dead exports for functions
    that don't exist (I'm looking at you of_fdt_get_string!). Mark some
    functions with __init so we can throw them away after we boot up and
    poke at the FDT blob too.

    Cc: Hsin-Yi Wang
    Signed-off-by: Stephen Boyd
    Signed-off-by: Rob Herring

    Stephen Boyd
     
  • Ignore disabled nodes in the memory-region
    nodes list and continue to initialize the rest
    of enabled nodes.

    Check if the "reserved-memory" node is available
    and if it's not available, return 0 to ignore the
    "reserved-memory" node and continue parsing with
    next node in memory-region nodes list.

    Signed-off-by: Krishna Reddy
    Signed-off-by: Puneet Saxena
    Signed-off-by: Rob Herring

    Krishna Reddy