Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  1. Jan 15, 2022
  2. Jan 14, 2022
    • Thomas Richter's avatar
      perf cputopo: Fix CPU topology reading on s/390 · a6e62743
      Thomas Richter authored
      Commit fdf1e29b ("perf expr: Add metric literals for topology.")
      fails on s390:
      
       # ./perf test -Fv 7
         ...
       # FAILED tests/expr.c:173 #num_dies >= #num_packages
         ---- end ----
         Simple expression parser: FAILED!
       #
      
      Investigating this issue leads to these functions:
       build_cpu_topology()
         +--> has_die_topology(void)
              {
                 struct utsname uts;
      
                 if (uname(&uts) < 0)
                        return false;
                 if (strncmp(uts.machine, "x86_64", 6))
                        return false;
                 ....
              }
      
      which always returns false on s390. The caller build_cpu_topology()
      checks has_die_topology() return value. On false the
      the struct cpu_topology::die_cpu_list is not contructed and has zero
      entries. This leads to the failing comparison: #num_dies >= #num_packages.
      s390 of course has a positive number of packages.
      
      Fix this by adding s390 architecture to support CPU die list.
      
      Output after:
       # ./perf test -Fv 7
        7: Simple expression parser                                        :
        --- start ---
        division by zero
        syntax error
        ---- end ----
        Simple expression parser: Ok
       #
      
      Fixes: fdf1e29b
      
       ("perf expr: Add metric literals for topology.")
      Reviewed-by: default avatarIan Rogers <irogers@google.com>
      Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
      Cc: Heiko Carstens <hca@linux.ibm.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Sumanth Korikkar <sumanthk@linux.ibm.com>
      Cc: Sven Schnelle <svens@linux.ibm.com>
      Cc: Vasily Gorbik <gor@linux.ibm.com>
      Link: https://lore.kernel.org/r/20211124090343.9436-1-tmricht@linux.ibm.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a6e62743
    • José Expósito's avatar
      perf metricgroup: Fix use after free in metric__new() · e000ea0b
      José Expósito authored
      We shouldn't free() something that will be used in the next line, fix
      it.
      
      Fixes: b85a4d61
      
       ("perf metric: Allow modifiers on metrics")
      Addresses-Coverity-ID: 1494000
      Signed-off-by: default avatarJosé Expósito <jose.exposito89@gmail.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: John Garry <john.garry@huawei.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lore.kernel.org/lkml/20211208171113.22089-1-jose.exposito89@gmail.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e000ea0b
    • Ian Rogers's avatar
      libperf tests: Update a use of the new cpumap API · 99fc11bb
      Ian Rogers authored
      Fixes a build breakage.
      
      Fixes: 6d18804b
      
       ("perf cpumap: Give CPUs their own type")
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: colin ian king <colin.king@intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Shunsuke Nakamura <nakamura.shun@fujitsu.com>
      Link: http://lore.kernel.org/lkml/20220114065105.1806542-1-irogers@google.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      99fc11bb
    • Ian Rogers's avatar
      perf arm: Fix off-by-one directory path · 46f57d24
      Ian Rogers authored
      Relative path include works in the regular build due to -I paths but may
      fail in other situations.
      
      Fixes: 83869019
      
       ("perf arch: Support register names from all archs")
      Reviewed-by: default avatarGerman Gomez <german.gomez@arm.com>
      Signed-off-by: default avatarIan Rogers <irogers@google.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexandre Truong <alexandre.truong@arm.com>
      Cc: Athira Jajeev <atrajeev@linux.vnet.ibm.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: James Clark <james.clark@arm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: https://lore.kernel.org/r/20220114064822.1806019-1-irogers@google.com
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      46f57d24
    • Arnaldo Carvalho de Melo's avatar
      tools arch x86: Sync the msr-index.h copy with the kernel sources · e652ab64
      Arnaldo Carvalho de Melo authored
      To pick up the changes in:
      
        89aa94b4
      
       ("x86/msr: Add AMD CPPC MSR definitions")
      
      Addressing these tools/perf build warnings:
      
          diff -u tools/arch/x86/include/asm/msr-index.h arch/x86/include/asm/msr-index.h
          Warning: Kernel ABI header at 'tools/arch/x86/include/asm/msr-index.h' differs from latest version at 'arch/x86/include/asm/msr-index.h'
      
      That makes the beautification scripts to pick some new entries:
      
        $ tools/perf/trace/beauty/tracepoints/x86_msr.sh > before
        $ cp arch/x86/include/asm/msr-index.h tools/arch/x86/include/asm/msr-index.h
        $ tools/perf/trace/beauty/tracepoints/x86_msr.sh > after
        $ diff -u before after
        --- before	2022-01-13 10:59:51.743416890 -0300
        +++ after	2022-01-13 11:00:00.776644178 -0300
        @@ -303,6 +303,11 @@
       	  [0xc0010299 - x86_AMD_V_KVM_MSRs_offset] = "AMD_RAPL_POWER_UNIT",
       	  [0xc001029a - x86_AMD_V_KVM_MSRs_offset] = "AMD_CORE_ENERGY_STATUS",
       	  [0xc001029b - x86_AMD_V_KVM_MSRs_offset] = "AMD_PKG_ENERGY_STATUS",
        +       [0xc00102b0 - x86_AMD_V_KVM_MSRs_offset] = "AMD_CPPC_CAP1",
        +       [0xc00102b1 - x86_AMD_V_KVM_MSRs_offset] = "AMD_CPPC_ENABLE",
        +       [0xc00102b2 - x86_AMD_V_KVM_MSRs_offset] = "AMD_CPPC_CAP2",
        +       [0xc00102b3 - x86_AMD_V_KVM_MSRs_offset] = "AMD_CPPC_REQ",
        +       [0xc00102b4 - x86_AMD_V_KVM_MSRs_offset] = "AMD_CPPC_STATUS",
       	  [0xc00102f0 - x86_AMD_V_KVM_MSRs_offset] = "AMD_PPIN_CTL",
       	  [0xc00102f1 - x86_AMD_V_KVM_MSRs_offset] = "AMD_PPIN",
         };
        $
      
      And this gets rebuilt:
      
        CC       /tmp/build/perf/trace/beauty/tracepoints/x86_msr.o
        INSTALL  trace_plugins
        LD       /tmp/build/perf/trace/beauty/tracepoints/perf-in.o
        LD       /tmp/build/perf/trace/beauty/perf-in.o
        LD       /tmp/build/perf/perf-in.o
        LINK     /tmp/build/perf/perf
      
      Now one can trace systemwide asking to see backtraces to where those
      MSRs are being read/written with:
      
        # perf trace -e msr:*_msr/max-stack=32/ --filter="msr>=AMD_CPPC_CAP1 && msr<=AMD_CPPC_STATUS"
        ^C#
      
      If we use -v (verbose mode) we can see what it does behind the scenes:
      
        # perf trace -v -e msr:*_msr/max-stack=32/ --filter="msr>=AMD_CPPC_CAP1 && msr<=AMD_CPPC_STATUS"
        <SNIP>
        New filter for msr:read_msr: (msr>=0xc00102b0 && msr<=0xc00102b4) && (common_pid != 2612102 && common_pid != 3841)
        New filter for msr:write_msr: (msr>=0xc00102b0 && msr<=0xc00102b4) && (common_pid != 2612102 && common_pid != 3841)
        <SNIP>
        ^C#
      
      Example with a frequent msr:
      
        # perf trace -v -e msr:*_msr/max-stack=32/ --filter="msr==IA32_SPEC_CTRL" --max-events 2
        Using CPUID AuthenticAMD-25-21-0
        0x48
        New filter for msr:read_msr: (msr==0x48) && (common_pid != 2612129 && common_pid != 3841)
        0x48
        New filter for msr:write_msr: (msr==0x48) && (common_pid != 2612129 && common_pid != 3841)
        mmap size 528384B
        Looking at the vmlinux_path (8 entries long)
        symsrc__init: build id mismatch for vmlinux.
        Using /proc/kcore for kernel data
        Using /proc/kallsyms for symbols
             0.000 Timer/2525383 msr:write_msr(msr: IA32_SPEC_CTRL, val: 6)
                                               do_trace_write_msr ([kernel.kallsyms])
                                               do_trace_write_msr ([kernel.kallsyms])
                                               __switch_to_xtra ([kernel.kallsyms])
                                               __switch_to ([kernel.kallsyms])
                                               __schedule ([kernel.kallsyms])
                                               schedule ([kernel.kallsyms])
                                               futex_wait_queue_me ([kernel.kallsyms])
                                               futex_wait ([kernel.kallsyms])
                                               do_futex ([kernel.kallsyms])
                                               __x64_sys_futex ([kernel.kallsyms])
                                               do_syscall_64 ([kernel.kallsyms])
                                               entry_SYSCALL_64_after_hwframe ([kernel.kallsyms])
                                               __futex_abstimed_wait_common64 (/usr/lib64/libpthread-2.33.so)
             0.030 :0/0 msr:write_msr(msr: IA32_SPEC_CTRL, val: 2)
                                               do_trace_write_msr ([kernel.kallsyms])
                                               do_trace_write_msr ([kernel.kallsyms])
                                               __switch_to_xtra ([kernel.kallsyms])
                                               __switch_to ([kernel.kallsyms])
                                               __schedule ([kernel.kallsyms])
                                               schedule_idle ([kernel.kallsyms])
                                               do_idle ([kernel.kallsyms])
                                               cpu_startup_entry ([kernel.kallsyms])
                                               secondary_startup_64_no_verify ([kernel.kallsyms])
        #
      
      Acked-by: default avatarHuang Rui <ray.huang@amd.com>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Ian Rogers <irogers@google.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Link: https://lore.kernel.org/all/YeA2PAvHV+uHRhLj@kernel.org
      
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e652ab64
  3. Jan 13, 2022
  4. Jan 12, 2022
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 455e73a0
      Linus Torvalds authored
      Pull clk updates from Stephen Boyd:
       "We have a couple patches in the framework core this time around but
        they're mostly minor cleanups and some debugfs stuff. The real work
        that's in here is the typical pile of clk driver updates and new SoC
        support.
      
        Per usual (or maybe just recent trends), Qualcomm gains a handful of
        SoC drivers additions and has the largest diffstat. After that there
        are quite a few updates to the Allwinner (sunxi) drivers to support
        modular drivers and Renesas is heavily updated to add more support for
        various clks.
      
        Overall it looks pretty normal.
      
        New Drivers:
         - Add MDMA and BDMA clks to Ingenic JZ4760 and JZ4770
         - MediaTek mt7986 SoC basic support
         - Clock and reset driver for Toshiba Visconti SoCs
         - Initial clock driver for the Exynos7885 SoC (Samsung Galaxy A8)
         - Allwinner D1 clks
         - Lan966x Generic Clock Controller driver and associated DT bindings
         - Qualcomm SDX65, SM8450, and MSM8976 GCC clks
         - Qualcomm SDX65 and SM8450 RPMh clks
      
        Updates:
         - Set suppress_bind_attrs to true for i.MX8ULP driver
         - Switch from do_div to div64_ul for throughout all i.MX drivers
         - Fix imx8mn_clko1_sels for i.MX8MN
         - Remove unused IPG_AUDIO_ROOT from i.MX8MP
         - Switch parent for audio_root_clk to audio ahb in i.MX8MP driver
         - Removal of all remaining uses of __clk_lookup() in
           drivers/clk/samsung
         - Refactoring of the CPU clocks registration to use common interface
         - An update of the Exynos850 driver (support for more clock domains)
           required by the E850-96 development board
         - Prep for runtime PM and generic power domains on Tegra
         - Support modular Allwinner clk drivers via platform bus
         - Lan966x clock driver extended to support clock gating
         - Add serial (SCI1), watchdog (WDT), timer (OSTM), SPI (RSPI), and
           thermal (TSU) clocks and resets on Renesas RZ/G2L
         - Rework SDHI clock handling in the Renesas R-Car Gen3 and RZ/G2
           clock drivers, and in the Renesas SDHI driver
         - Make the Cortex-A55 (I) clock on Renesas RZ/G2L programmable
         - Document support for the new Renesas R-Car S4-8 (R8A779F0) SoC
         - Add support for the new Renesas R-Car S4-8 (R8A779F0) SoC
         - Add GPU clock and resets on Renesas RZ/G2L
         - Add clk-provider.h to various Qualcomm clk drivers
         - devm version of clk_hw_register_gate()
         - kerneldoc fixes in a couple drivers"
      
      * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (131 commits)
        clk: visconti: Remove pointless NULL check in visconti_pll_add_lookup()
        clk: mediatek: add mt7986 clock support
        clk: mediatek: add mt7986 clock IDs
        dt-bindings: clock: mediatek: document clk bindings for mediatek mt7986 SoC
        clk: mediatek: clk-gate: Use regmap_{set/clear}_bits helpers
        clk: mediatek: clk-gate: Shrink by adding clockgating bit check helper
        clk: x86: Fix clk_gate_flags for RV_CLK_GATE
        clk: x86: Use dynamic con_id string during clk registration
        ACPI: APD: Add a fmw property clk-name
        drivers: acpi: acpi_apd: Remove unused device property "is-rv"
        x86: clk: clk-fch: Add support for newer family of AMD's SOC
        clk: ingenic: Add MDMA and BDMA clocks
        dt-bindings: clk/ingenic: Add MDMA and BDMA clocks
        clk: bm1880: remove kfrees on static allocations
        clk: Drop unused COMMON_CLK_STM32MP157_SCMI config
        clk: st: clkgen-mux: search reg within node or parent
        clk: st: clkgen-fsyn: search reg within node or parent
        clk: Enable/Disable runtime PM for clk_summary
        MAINTAINERS: Add entries for Toshiba Visconti PLL and clock controller
        clk: visconti: Add support common clock driver and reset driver
        ...
      455e73a0
    • Linus Torvalds's avatar
      Merge tag 'leds-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds · d9b5941b
      Linus Torvalds authored
      Pull LED updates from Pavel Machek:
       "Nothing major is happening here"
      
      * tag 'leds-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds:
        leds: lp55xx: initialise output direction from dts
        ARM: dts: omap3-n900: Fix lp5523 for multi color
        leds: ktd2692: Drop calling dev_of_node() in ktd2692_parse_dt
        leds: lgm-sso: Get rid of duplicate of_node assignment
        leds: tca6507: Get rid of duplicate of_node assignment
        leds: leds-fsg: Drop FSG3 LED driver
        leds: lp50xx: remove unused variable
        dt-bindings: leds: Replace moonlight with indicator in mt6360 example
        leds: led-core: Update fwnode with device_set_node
        leds: tca6507: use swap() to make code cleaner
        leds: Add mt6360 driver
        dt-bindings: leds: Add bindings for MT6360 LED
      d9b5941b
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 4eb766f6
      Linus Torvalds authored
      Pull devicetree updates from Rob Herring:
       "Bindings:
      
         - DT schema conversions for Samsung clocks, RNG bindings, Qcom
           Command DB and rmtfs, gpio-restart, i2c-mux-gpio, i2c-mux-pinctl,
           Tegra I2C and BPMP, pwm-vibrator, Arm DSU, and Cadence macb
      
         - DT schema conversions for Broadcom platforms: interrupt
           controllers, STB GPIO, STB waketimer, STB reset, iProc MDIO mux,
           iProc PCIe, Cygnus PCIe PHY, PWM, USB BDC, BCM6328 LEDs, TMON,
           SYSTEMPORT, AMAC, Northstar 2 PCIe PHY, GENET, moca PHY, GISB
           arbiter, and SATA
      
         - Add binding schemas for Tegra210 EMC table, TI DC-DC converters,
      
         - Clean-ups of MDIO bus schemas to fix 'unevaluatedProperties' issues
      
         - More fixes due to 'unevaluatedProperties' enabling
      
         - Data type fixes and clean-ups of binding examples found in
           preparation to move to validating DTB files directly (instead of
           intermediate YAML representation.
      
         - Vendor prefixes for T-Head Semiconductor, OnePlus, and Sunplus
      
         - Add various new compatible strings
      
        DT core:
      
         - Silence a warning for overlapping reserved memory regions
      
         - Reimplement unittest overlay tracking
      
         - Fix stack frame size warning in unittest
      
         - Clean-ups of early FDT scanning functions
      
         - Fix handling of "linux,usable-memory-range" on EFI booted systems
      
         - Add support for 'fail' status on CPU nodes
      
         - Improve error message in of_phandle_iterator_next()
      
         - kbuild: Disable duplicate unit-address warnings for disabled nodes"
      
      * tag 'devicetree-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (114 commits)
        dt-bindings: net: mdio: Drop resets/reset-names child properties
        dt-bindings: clock: samsung: convert S5Pv210 to dtschema
        dt-bindings: clock: samsung: convert Exynos5410 to dtschema
        dt-bindings: clock: samsung: convert Exynos5260 to dtschema
        dt-bindings: clock: samsung: extend Exynos7 bindings with UFS
        dt-bindings: clock: samsung: convert Exynos7 to dtschema
        dt-bindings: clock: samsung: convert Exynos5433 to dtschema
        dt-bindings: i2c: maxim,max96712: Add bindings for Maxim Integrated MAX96712
        dt-bindings: iio: adi,ltc2983: Fix 64-bit property sizes
        dt-bindings: power: maxim,max17040: Fix incorrect type for 'maxim,rcomp'
        dt-bindings: interrupt-controller: arm,gic-v3: Fix 'interrupts' cell size in example
        dt-bindings: iio/magnetometer: yamaha,yas530: Fix invalid 'interrupts' in example
        dt-bindings: clock: imx5: Drop clock consumer node from example
        dt-bindings: Drop required 'interrupt-parent'
        dt-bindings: net: ti,dp83869: Drop value on boolean 'ti,max-output-impedance'
        dt-bindings: net: wireless: mt76: Fix 8-bit property sizes
        dt-bindings: PCI: snps,dw-pcie-ep: Drop conflicting 'max-functions' schema
        dt-bindings: i2c: st,stm32-i2c: Make each example a separate entry
        dt-bindings: net: stm32-dwmac: Make each example a separate entry
        dt-bindings: net: Cleanup MDIO node schemas
        ...
      4eb766f6
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.17-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · ce990f1d
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - a fix for the Xen gntdev driver
      
       - a fix for running as Xen dom0 booted via EFI and the EFI framebuffer
         being located above 4GB
      
       - a series for support of mapping other guest's memory by using zone
         device when running as Xen guest on Arm
      
      * tag 'for-linus-5.17-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        dt-bindings: xen: Clarify "reg" purpose
        arm/xen: Read extended regions from DT and init Xen resource
        xen/unpopulated-alloc: Add mechanism to use Xen resource
        xen/balloon: Bring alloc(free)_xenballooned_pages helpers back
        arm/xen: Switch to use gnttab_setup_auto_xlat_frames() for DT
        xen/unpopulated-alloc: Drop check for virt_addr_valid() in fill_list()
        xen/x86: obtain upper 32 bits of video frame buffer address for Dom0
        xen/gntdev: fix unmap notification order
      ce990f1d
    • Linus Torvalds's avatar
      Merge tag 'x86_core_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 64ad9461
      Linus Torvalds authored
      Pull x86 core updates from Borislav Petkov:
      
       - Get rid of all the .fixup sections because this generates
         misleading/wrong stacktraces and confuse RELIABLE_STACKTRACE and
         LIVEPATCH as the backtrace misses the function which is being fixed
         up.
      
       - Add Straight Line Speculation mitigation support which uses a new
         compiler switch -mharden-sls= which sticks an INT3 after a RET or an
         indirect branch in order to block speculation after them. Reportedly,
         CPUs do speculate behind such insns.
      
       - The usual set of cleanups and improvements
      
      * tag 'x86_core_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)
        x86/entry_32: Fix segment exceptions
        objtool: Remove .fixup handling
        x86: Remove .fixup section
        x86/word-at-a-time: Remove .fixup usage
        x86/usercopy: Remove .fixup usage
        x86/usercopy_32: Simplify __copy_user_intel_nocache()
        x86/sgx: Remove .fixup usage
        x86/checksum_32: Remove .fixup usage
        x86/vmx: Remove .fixup usage
        x86/kvm: Remove .fixup usage
        x86/segment: Remove .fixup usage
        x86/fpu: Remove .fixup usage
        x86/xen: Remove .fixup usage
        x86/uaccess: Remove .fixup usage
        x86/futex: Remove .fixup usage
        x86/msr: Remove .fixup usage
        x86/extable: Extend extable functionality
        x86/entry_32: Remove .fixup usage
        x86/entry_64: Remove .fixup usage
        x86/copy_mc_64: Remove .fixup usage
        ...
      64ad9461
    • Linus Torvalds's avatar
      Merge tag 'perf_core_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8e5b0ade
      Linus Torvalds authored
      Pull perf updates from Borislav Petkov:
       "Cleanup of the perf/kvm interaction."
      
      * tag 'perf_core_for_v5.17_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf: Drop guest callback (un)register stubs
        KVM: arm64: Drop perf.c and fold its tiny bits of code into arm.c
        KVM: arm64: Hide kvm_arm_pmu_available behind CONFIG_HW_PERF_EVENTS=y
        KVM: arm64: Convert to the generic perf callbacks
        KVM: x86: Move Intel Processor Trace interrupt handler to vmx.c
        KVM: Move x86's perf guest info callbacks to generic KVM
        KVM: x86: More precisely identify NMI from guest when handling PMI
        KVM: x86: Drop current_vcpu for kvm_running_vcpu + kvm_arch_vcpu variable
        perf/core: Use static_call to optimize perf_guest_info_callbacks
        perf: Force architectures to opt-in to guest callbacks
        perf: Add wrappers for invoking guest callbacks
        perf/core: Rework guest callbacks to prepare for static_call support
        ...
      8e5b0ade
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 13eaa5bd
      Linus Torvalds authored
      Pull iommu updates from Joerg Roedel:
      
       - Identity domain support for virtio-iommu
      
       - Move flush queue code into iommu-dma
      
       - Some fixes for AMD IOMMU suspend/resume support when x2apic is used
      
       - Arm SMMU Updates from Will Deacon:
            - Revert evtq and priq back to their former sizes
            - Return early on short-descriptor page-table allocation failure
            - Fix page fault reporting for Adreno GPU on SMMUv2
            - Make SMMUv3 MMU notifier ops 'const'
            - Numerous new compatible strings for Qualcomm SMMUv2 implementations
      
       - Various smaller fixes and cleanups
      
      * tag 'iommu-updates-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (38 commits)
        iommu/iova: Temporarily include dma-mapping.h from iova.h
        iommu: Move flush queue data into iommu_dma_cookie
        iommu/iova: Move flush queue code to iommu-dma
        iommu/iova: Consolidate flush queue code
        iommu/vt-d: Use put_pages_list
        iommu/amd: Use put_pages_list
        iommu/amd: Simplify pagetable freeing
        iommu/iova: Squash flush_cb abstraction
        iommu/iova: Squash entry_dtor abstraction
        iommu/iova: Fix race between FQ timeout and teardown
        iommu/amd: Fix typo in *glues … together* in comment
        iommu/vt-d: Remove unused dma_to_mm_pfn function
        iommu/vt-d: Drop duplicate check in dma_pte_free_pagetable()
        iommu/vt-d: Use bitmap_zalloc() when applicable
        iommu/amd: Remove useless irq affinity notifier
        iommu/amd: X2apic mode: mask/unmask interrupts on suspend/resume
        iommu/amd: X2apic mode: setup the INTX registers on mask/unmask
        iommu/amd: X2apic mode: re-enable after resume
        iommu/amd: Restore GA log/tail pointer on host resume
        iommu/iova: Move fast alloc size roundup into alloc_iova_fast()
        ...
      13eaa5bd
    • Linus Torvalds's avatar
      Merge tag 'cxl-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl · 362f533a
      Linus Torvalds authored
      Pull CXL (Compute Express Link) updates from Dan Williams:
       "The highlight is initial support for CXL memory hotplug. The static
        NUMA node (ACPI SRAT Physical Address to Proximity Domain) information
        known to platform firmware is extended to support the potential
        performance-class / memory-target nodes dynamically created from
        available CXL memory device capacity.
      
        New unit test infrastructure is added for validating health
        information payloads.
      
        Fixes to module reload stress and stack usage from exposure in -next
        are included. A symbol rename and some other miscellaneous fixups are
        included as well.
      
        Summary:
      
         - Rework ACPI sub-table infrastructure to optionally be used outside
           of __init scenarios and use it for CEDT.CFMWS sub-table parsing.
      
         - Add support for extending num_possible_nodes by the potential
           hotplug CXL memory ranges
      
         - Extend tools/testing/cxl with mock memory device health information
      
         - Fix a module-reload workqueue race
      
         - Fix excessive stack-frame usage
      
         - Rename the driver context data structure from "cxl_mem" since that
           name collides with a proposed driver name
      
         - Use EXPORT_SYMBOL_NS_GPL instead of -DDEFAULT_SYMBOL_NAMESPACE at
           build time"
      
      * tag 'cxl-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl:
        cxl/core: Remove cxld_const_init in cxl_decoder_alloc()
        cxl/pmem: Fix module reload vs workqueue state
        ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT
        cxl/test: Mock acpi_table_parse_cedt()
        cxl/acpi: Convert CFMWS parsing to ACPI sub-table helpers
        ACPI: Add a context argument for table parsing handlers
        ACPI: Teach ACPI table parsing about the CEDT header format
        ACPI: Keep sub-table parsing infrastructure available for modules
        tools/testing/cxl: add mock output for the GET_HEALTH_INFO command
        cxl/memdev: Remove unused cxlmd field
        cxl/core: Convert to EXPORT_SYMBOL_NS_GPL
        cxl/memdev: Change cxl_mem to a more descriptive name
        cxl/mbox: Remove bad comment
        cxl/pmem: Fix reference counting for delayed work
      362f533a
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 3acbdbf4
      Linus Torvalds authored
      Pull dax and libnvdimm updates from Dan Williams:
       "The bulk of this is a rework of the dax_operations API after
        discovering the obstacles it posed to the work-in-progress DAX+reflink
        support for XFS and other copy-on-write filesystem mechanics.
      
        Primarily the need to plumb a block_device through the API to handle
        partition offsets was a sticking point and Christoph untangled that
        dependency in addition to other cleanups to make landing the
        DAX+reflink support easier.
      
        The DAX_PMEM_COMPAT option has been around for 4 years and not only
        are distributions shipping userspace that understand the current
        configuration API, but some are not even bothering to turn this option
        on anymore, so it seems a good time to remove it per the deprecation
        schedule. Recall that this was added after the device-dax subsystem
        moved from /sys/class/dax to /sys/bus/dax for its sysfs organization.
        All recent func...
      3acbdbf4
    • Linus Torvalds's avatar
      Merge tag 'fscache-rewrite-20220111' of... · 8834147f
      Linus Torvalds authored
      Merge tag 'fscache-rewrite-20220111' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
      
      Pull fscache rewrite from David Howells:
       "This is a set of patches that rewrites the fscache driver and the
        cachefiles driver, significantly simplifying the code compared to
        what's upstream, removing the complex operation scheduling and object
        state machine in favour of something much smaller and simpler.
      
        The series is structured such that the first few patches disable
        fscache use by the network filesystems using it, remove the cachefiles
        driver entirely and as much of the fscache driver as can be got away
        with without causing build failures in the network filesystems.
      
        The patches after that recreate fscache and then cachefiles,
        attempting to add the pieces in a logical order. Finally, the
        filesystems are reenabled and then the very last patch changes the
        documentation.
      
        [!] Note: I have dropped the cifs patch for the moment, leaving local
            caching in cifs disabled. I've ...
      8834147f
    • Linus Torvalds's avatar
      Merge tag 'fuse-update-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · 8975f897
      Linus Torvalds authored
      Pull fuse updates from Miklos Szeredi:
      
       - Fix a regression introduced in 5.15
      
       - Extend the size of the FUSE_INIT request to accommodate for more
         flags. There's a slight possibility of a regression for obscure fuse
         servers; if this happens, then more complexity will need to be added
         to the protocol
      
       - Allow the DAX property to be controlled by the server on a per-inode
         basis in virtiofs
      
       - Allow sending security context to the server when creating a file or
         directory
      
      * tag 'fuse-update-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        Documentation/filesystem/dax: DAX on virtiofs
        fuse: mark inode DONT_CACHE when per inode DAX hint changes
        fuse: negotiate per inode DAX in FUSE_INIT
        fuse: enable per inode DAX
        fuse: support per inode DAX in fuse protocol
        fuse: make DAX mount option a tri-state
        fuse: add fuse_should_enable_dax() helper
        fuse: Pass correct lend value to filemap_write_and_wait_range()
        fuse: send security context of inode on file
        fuse: extend init flags
      8975f897
    • Linus Torvalds's avatar
      Merge tag 'fs_for_v5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 1fb38c93
      Linus Torvalds authored
      Pull UDF / reiserfs updates from Jan Kara:
       "One UDF fix and one reiserfs cleanup"
      
      * tag 'fs_for_v5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        udf: Fix error handling in udf_new_inode()
        reiserfs: don't use congestion_wait()
      1fb38c93
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 3d3d6733
      Linus Torvalds authored
      Pull fanotify updates from Jan Kara:
       "Support for new FAN_RENAME fanotify event and support for reporting
        child info in directory fanotify events (FAN_REPORT_TARGET_FID)"
      
      * tag 'fsnotify_for_v5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fanotify: wire up FAN_RENAME event
        fanotify: report old and/or new parent+name in FAN_RENAME event
        fanotify: record either old name new name or both for FAN_RENAME
        fanotify: record old and new parent and name in FAN_RENAME event
        fanotify: support secondary dir fh and name in fanotify_info
        fanotify: use helpers to parcel fanotify_info buffer
        fanotify: use macros to get the offset to fanotify_info buffer
        fsnotify: generate FS_RENAME event with rich information
        fanotify: introduce group flag FAN_REPORT_TARGET_FID
        fsnotify: separate mark iterator type from object type enum
        fsnotify: clarify object type argument
      3d3d6733
    • Linus Torvalds's avatar
      Merge tag 'iomap-5.17' of git://git.infradead.org/users/willy/linux · f079ab01
      Linus Torvalds authored
      Pull iomap updates from Matthew Wilcox:
       "Convert xfs/iomap to use folios.
      
        This should be all that is needed for XFS to use large folios. There
        is no code in this pull request to create large folios, but no
        additional changes should be needed to XFS or iomap once they are
        created.
      
        Usually this would have come from Darrick, and we had intended that it
        would come that route. Between the holidays and various things which
        Darrick needed to work on, he asked if I could send things directly.
      
        There weren't any other iomap patches pending for this release, which
        probably also played a role"
      
      * tag 'iomap-5.17' of git://git.infradead.org/users/willy/linux: (26 commits)
        iomap: Inline __iomap_zero_iter into its caller
        xfs: Support large folios
        iomap: Support large folios in invalidatepage
        iomap: Convert iomap_migrate_page() to use folios
        iomap: Convert iomap_add_to_ioend() to take a folio
        iomap: Simplify iomap_do_writepage()
        iomap: Simplify iomap_writepage_map()
        iomap,xfs: Convert ->discard_page to ->discard_folio
        iomap: Convert iomap_write_end_inline to take a folio
        iomap: Convert iomap_write_begin() and iomap_write_end() to folios
        iomap: Convert __iomap_zero_iter to use a folio
        iomap: Allow iomap_write_begin() to be called with the full length
        iomap: Convert iomap_page_mkwrite to use a folio
        iomap: Convert readahead and readpage to use a folio
        iomap: Convert iomap_read_inline_data to take a folio
        iomap: Use folio offsets instead of page offsets
        iomap: Convert bio completions to use folios
        iomap: Pass the iomap_page into iomap_set_range_uptodate
        iomap: Add iomap_invalidate_folio
        iomap: Convert iomap_releasepage to use a folio
        ...
      f079ab01
    • Linus Torvalds's avatar
      Merge tag 'folio-5.17' of git://git.infradead.org/users/willy/pagecache · 6020c204
      Linus Torvalds authored
      Pull folio conversion updates from Matthew Wilcox:
       "Convert much of the page cache to use folios
      
        This stops just short of actually enabling large folios. It converts
        everything that I noticed needs to be converted, but there may still
        be places I've overlooked which still have page size assumptions.
      
        The big change here is using large entries in the page cache XArray
        instead of many small entries. That only affects shmem for now, but
        it's a pretty big change for shmem since it changes where memory needs
        to be allocated (at split time instead of insertion)"
      
      * tag 'folio-5.17' of git://git.infradead.org/users/willy/pagecache: (49 commits)
        mm: Use multi-index entries in the page cache
        XArray: Add xas_advance()
        truncate,shmem: Handle truncates that split large folios
        truncate: Convert invalidate_inode_pages2_range to folios
        fs: Convert vfs_dedupe_file_range_compare to folios
        mm: Remove pagevec_remove_exception...
      6020c204
    • Linus Torvalds's avatar
      Merge tag 'spdx-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx · 81ff0be4
      Linus Torvalds authored
      Pull SPDX/License update from Greg KH:
       "Here is a single change that fixes up the description of the 'LGPL-2.1
        or later' identifiers so that the tools properly acknowledge that this
        is a valid license.
      
        This change has been in linux-next for weeks with no reported problems"
      
      * tag 'spdx-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/spdx:
        LICENSES/LGPL-2.1: Add LGPL-2.1-or-later as valid identifiers
      81ff0be4
    • Linus Torvalds's avatar
      Merge tag 'usb-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 57ea8197
      Linus Torvalds authored
      Pull USB and Thunderbolt updates from Greg KH:
       "Here is the big set of USB and Thunderbolt driver changes for
        5.17-rc1.
      
        Nothing major in here, just lots of little updates and cleanups. These
        include:
      
         - some USB header fixes picked from Ingo's header-splitup work
      
         - more USB4/Thunderbolt hardware support added
      
         - USB gadget driver updates and additions
      
         - USB typec additions (includes some acpi changes, which were acked
           by the ACPI maintainer)
      
         - core USB fixes as found by syzbot that were too late for 5.16-final
      
         - USB dwc3 driver updates
      
         - USB dwc2 driver updates
      
         - platform_get_irq() conversions of some USB drivers
      
         - other minor USB driver updates and additions
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (111 commits)
        docs: ABI: fixed formatting in configfs-us...
      57ea8197
    • Linus Torvalds's avatar
      Merge tag 'tty-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 342465f5
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here is the big set of tty/serial driver updates for 5.17-rc1.
      
        Nothing major in here, just lots of good updates and fixes, including:
      
         - more tty core cleanups from Jiri as well as mxser driver cleanups.
           This is the majority of the core diffstat
      
         - tty documentation updates from Jiri
      
         - platform_get_irq() updates
      
         - various serial driver updates for new features and hardware
      
         - fifo usage for 8250 console, reducing cpu load a lot
      
         - LED fix for keyboards, long-time bugfix that went through many
           revisions
      
         - minor cleanups
      
        All have been in linux-next for a while with no reported problems"
      
      * tag 'tty-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (119 commits)
        serial: core: Keep mctrl register state and cached copy in sync
        serial: stm32: correct loop for dma error handling
        serial: stm32: fix flow control transf...
      342465f5
    • Linus Torvalds's avatar
      Merge tag 'staging-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 22ef1219
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here's the big set of staging driver updates for 5.17-rc1
      
        Nothing major in here at all, just lots and lots of tiny cleanups.
        Overall more code was removed than added, which is always nice, but
        not a huge change.
      
        Majority of the work happened in the r8188eu driver, that had hundreds
        of cleanups happen on it, but almost all other staging drivers had
        cleanups as well. No new functionality was added, cleanups only.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'staging-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (308 commits)
        staging: r8188eu: rename camelcase variable uintPeerChannel
        staging: r8188eu: make BW20_24G_Diff a 1-D array
        staging: r8188eu: make OFDM_24G_Diff a 1-D array
        staging: r8188eu: BW40_24G_Diff is set but not used
        staging: r8188eu: CCK_24G_Diff is set but not used
        staging: r8188eu: make Index24G_BW40_Base a 1-D array
        staging: r8188eu: make Index24G_CCK_Base a 1-D array
        staging: r8188eu: rfPath is always 0
        staging: r8188eu: remove unneeded parameter from rtl8188e_SetHalODMVar
        staging: pi433: add comment to rx_lock mutex definition
        staging: pi433: fix frequency deviation check
        staging: vc04_services: rename BM2835 to BCM2835 in headers comments
        staging: vc04_services: rename string literal containing bm2835_* to bcm2835*_
        staging: vc04_services: rename variables containing bm2835_* to bcm2835_*
        staging: vc04_services: rename functions containing bm2835_* to bcm2835_*
        staging: vc04_services: rename structures bm2835_mmal_dev and bm2835_mmal_v4l2_ctrl
        staging: greybus: audio: Check null pointer
        staging: r8188eu: add spaces around P2P_AP_P2P_CH_SWITCH_PROCESS_WK
        staging: r8188eu: turbo scan is always off for r8188eu
        staging: r8188eu: cmd_issued_cnt is set but not used
        ...
      22ef1219
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.17-rc1' of... · 6dc69d3d
      Linus Torvalds authored
      Merge tag 'driver-core-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core updates from Greg KH:
       "Here is the set of changes for the driver core for 5.17-rc1.
      
        Lots of little things here, including:
      
         - kobj_type cleanups
      
         - auxiliary_bus documentation updates
      
         - auxiliary_device conversions for some drivers (relevant subsystems
           all have provided acks for these)
      
         - kernfs lock contention reduction for some workloads
      
         - other tiny cleanups and changes.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'driver-core-5.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (43 commits)
        kobject documentation: remove default_attrs information
        drivers/firmware: Add missing platform_device_put() in sysfb_create_simplefb
        debugfs: lockdown: Allow reading debugfs files that are not world readable
        driver core: Make bus notifiers in right order in really_probe()
        driver core: Move driver_...
      6dc69d3d
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · e3084ed4
      Linus Torvalds authored
      Pull pin control bulk updates from Linus Walleij:
       "Core changes:
      
         - New standard enumerator and corresponding device tree bindings for
           output impedance pin configuration. (Implemented and used in the
           Renesas rzg2l driver.)
      
         - Cleanup of Kconfig and Makefile to be somewhat orderly and
           alphabetic.
      
        New drivers:
      
         - Samsung Exynos 7885 pin controller.
      
         - Ocelot LAN966x pin controller.
      
         - Qualcomm SDX65 pin controller.
      
         - Qualcomm SM8450 pin controller.
      
         - Qualcomm PM8019, PM8226 and PM2250 pin controllers.
      
         - NXP/Freescale i.MXRT1050 pin controller.
      
         - Intel Thunder Bay pin controller.
      
        Enhancements:
      
         - Introduction of the string library helper function
           "kasprintf_strarray()" and subsequent use in Rockchip, ST and
           Armada pin control drivers, as well as the GPIO mockup driver.
      
         - The Ocelot pin controller has been extensively rewritten to use
           regmap and other modern kernel infrastructure.
      
         - The Microchip SGPIO driver has been converted to use regmap.
      
         - The SPEAr driver had been converted to use regmap.
      
         - Substantial cleanups and janitorial on the Apple pin control driver
           that was merged for v5.16.
      
         - Janitorial to remove of_node assignments in the GPIO portions that
           anyway get this handled in the GPIO core.
      
         - Minor cleanups and improvements in several pin controllers"
      
      * tag 'pinctrl-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (98 commits)
        pinctrl: imx: fix assigning groups names
        dt-bindings: pinctrl: mt8195: add wrapping node of pin configurations
        pinctrl: bcm: ns: use generic groups & functions helpers
        pinctrl: imx: fix allocation result check
        pinctrl: samsung: Use platform_get_irq_optional() to get the interrupt
        pinctrl: Propagate firmware node from a parent device
        dt-bindings: pinctrl: qcom: Add SDX65 pinctrl bindings
        pinctrl: add one more "const" for generic function groups
        pinctrl: keembay: rework loops looking for groups names
        pinctrl: keembay: comment process of building functions a bit
        pinctrl: imx: prepare for making "group_names" in "function_desc" const
        ARM: dts: gpio-ranges property is now required
        pinctrl: aspeed: fix unmet dependencies on MFD_SYSCON for PINCTRL_ASPEED
        pinctrl: Get rid of duplicate of_node assignment in the drivers
        pinctrl-sunxi: don't call pinctrl_gpio_direction()
        pinctrl-bcm2835: don't call pinctrl_gpio_direction()
        pinctrl: bcm2835: Silence uninit warning
        pinctrl: Sort Kconfig and Makefile entries alphabetically
        pinctrl: Add Intel Thunder Bay pinctrl driver
        dt-bindings: pinctrl: Add bindings for Intel Thunderbay pinctrl driver
        ...
      e3084ed4
    • Merlijn Wajer's avatar
      leds: lp55xx: initialise output direction from dts · 9e87a8da
      Merlijn Wajer authored
      Commit a5d3d1ad ("leds: lp55xx: Initialize enable GPIO direction to
      output") attempts to fix this, but the fix did not work since at least
      for the Nokia N900 the value needs to be set to HIGH, per the device
      tree. So rather than hardcoding the value to a potentially invalid value
      for some devices, let's set direction in lp55xx_init_device.
      
      Fixes: a5d3d1ad ("leds: lp55xx: Initialize enable GPIO direction to output")
      Fixes: 92a81562 ("leds: lp55xx: Add multicolor framework support to lp55xx")
      Fixes: ac219bf3
      
       ("leds: lp55xx: Convert to use GPIO descriptors")
      Signed-off-by: default avatarMerlijn Wajer <merlijn@wizzup.org>
      Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      9e87a8da
    • Sicelo A. Mhlongo's avatar
      ARM: dts: omap3-n900: Fix lp5523 for multi color · e9af026a
      Sicelo A. Mhlongo authored
      Since the LED multicolor framework support was added in commit
      92a81562 ("leds: lp55xx: Add multicolor framework support to lp55xx")
      LEDs on this platform stopped working.
      
      Fixes: 92a81562 ("leds: lp55xx: Add multicolor framework support to lp55xx")
      Fixes: ac219bf3
      
       ("leds: lp55xx: Convert to use GPIO descriptors")
      Signed-off-by: default avatarMerlijn Wajer <merlijn@wizzup.org>
      Signed-off-by: default avatarSicelo A. Mhlongo <absicsz@gmail.com>
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      e9af026a
    • Lad Prabhakar's avatar
      leds: ktd2692: Drop calling dev_of_node() in ktd2692_parse_dt · a05f5d0e
      Lad Prabhakar authored
      
      output of dev_of_node() is already assigned to "np" variable in
      ktd2692_parse_dt(). Use "np" variable to check if OF node is NULL
      instead of calling dev_of_node() again.
      
      Signed-off-by: default avatarLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      a05f5d0e
    • Andy Shevchenko's avatar
      leds: lgm-sso: Get rid of duplicate of_node assignment · 2702c9be
      Andy Shevchenko authored
      
      GPIO library does copy the of_node from the parent device of
      the GPIO chip, there is no need to repeat this in the individual
      drivers. Remove assignment here.
      
      For the details one may look into the of_gpio_dev_init() implementation.
      
      Call graph:
         --> sso_gpio_gc_init()
           --> devm_gpiochip_add_data
             --> devm_gpiochip_add_data_with_key
               --> gpiochip_add_data_with_key()
                 --> of_gpio_dev_init()
      
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      2702c9be
    • Andy Shevchenko's avatar
      leds: tca6507: Get rid of duplicate of_node assignment · 27d1a621
      Andy Shevchenko authored
      
      GPIO library does copy the of_node from the parent device of
      the GPIO chip, there is no need to repeat this in the individual
      drivers. Remove assignment here.
      
      For the details one may look into the of_gpio_dev_init() implementation.
      
      Call graph:
         --> tca6507_probe_gpios()
           --> gpiochip_add_data()
             --> gpiochip_add_data_with_key()
               --> of_gpio_dev_init()
      
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      27d1a621
    • Linus Walleij's avatar
      leds: leds-fsg: Drop FSG3 LED driver · b7f1ac9b
      Linus Walleij authored
      
      The board file using this driver has been deleted and the
      FSG3 LEDs can be modeled using a system controller and some
      register bit LEDs in the device tree so this driver is no
      longer needed.
      
      Reported-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Cc: Krzysztof Hałasa <khalasa@piap.pl>
      Cc: Rod Whitby <rod@whitby.id.au>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
      b7f1ac9b