1. Aug 17, 2022
    • Daniel Lezcano's avatar
      thermal/of: Rework the thermal device tree initialization · 3fd6d6e2
      Daniel Lezcano authored
      
      
      The following changes are reworking entirely the thermal device tree
      initialization. The old version is kept until the different drivers
      using it are converted to the new API.
      
      The old approach creates the different actors independently. This
      approach is the source of the code duplication in the thermal OF
      because a thermal zone is created but a sensor is registered
      after. The thermal zones are created unconditionnaly with a fake
      sensor at init time, thus forcing to provide fake ops and store all
      the thermal zone related information in duplicated structures. Then
      the sensor is initialized and the code looks up the thermal zone name
      using the device tree. Then the sensor is associated to the thermal
      zone, and the sensor specific ops are called with a second level of
      indirection from the thermal zone ops.
      
      When a sensor is removed (with a module unload), the thermal zone
      stays there with the fake sensor.
      
      The cooling device associated with a thermal zone and a trip point is
      stored in a list, again duplicating information, using the node name
      of the device tree to match afterwards the cooling devices.
      
      The new approach is simpler, it creates a thermal zone when the sensor
      is registered and destroys it when the sensor is removed. All the
      matching between the cooling device, trip points and thermal zones are
      done using the device tree, as well as bindings. The ops are no longer
      specific but uses the generic ones provided by the thermal framework.
      
      When the old code won't have any users, it can be removed and the
      remaining thermal OF code will be much simpler.
      
      Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linexp.org>
      Link: https://lore.kernel.org/r/20220804224349.1926752-2-daniel.lezcano@linexp.org
      
      
      Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      3fd6d6e2
  2. Aug 16, 2022
    • Daniel Lezcano's avatar
      dt-bindings: thermal: Fix missing required property · 8c596324
      Daniel Lezcano authored
      When the thermal zone description was converted to yaml schema, the
      required 'trips' property was forgotten.
      
      The initial text bindings was describing:
      
      "
      [ ... ]
      
      * Thermal zone nodes
      
      The thermal zone node is the node containing all the required info
      for describing a thermal zone, including its cooling device bindings. The
      thermal zone node must contain, apart from its own properties, one sub-node
      containing trip nodes and one sub-node containing all the zone cooling maps.
      
      Required properties:
      - polling-delay:        The maximum number of milliseconds to wait between polls
        Type: unsigned        when checking this thermal zone.
        Size: one cell
      
      - polling-delay-passive: The maximum number of milliseconds to wait
        Type: unsigned        between polls when performing passive cooling.
        Size: one cell
      
      - thermal-sensors:      A list of thermal sensor phandles and sensor specifier
        Type: list of         used while monitoring the thermal zone.
        phandles + sensor
        specifier
      
      - trips:                A sub-node which is a container of only trip point nodes
        Type: sub-node        required to describe the thermal zone.
      
      Optional property:
      - cooling-maps:         A sub-node which is a container of only cooling device
        Type: sub-node        map nodes, used to describe the relation between trips
                              and cooling devices.
        [ ... ]
      
      "
      
      Now the schema describes:
      
      "
          [ ... ]
      
          required:
            - polling-delay
            - polling-delay-passive
            - thermal-sensors
      
          [ ... ]
      "
      
      Add the missing 'trips' property in the required properties.
      
      Fixed: 1202a442
      
       ("dt-bindings: thermal: Add yaml bindings for thermal zones")
      Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Link: https://lore.kernel.org/r/20220809085629.509116-3-daniel.lezcano@linaro.org
      8c596324
    • Daniel Lezcano's avatar
      thermal/core: Add missing EXPORT_SYMBOL_GPL · a921be53
      Daniel Lezcano authored
      The function thermal_zone_device_register_with_trips() is not exported
      for modules.
      
      Add the missing EXPORT_SYMBOL_GPL().
      
      Fixes: fae11de5
      
       ("thermal/core: Add thermal_trip in thermal_zone")
      Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Link: https://lore.kernel.org/r/20220810100731.749317-1-daniel.lezcano@linaro.org
      a921be53
  3. Aug 15, 2022
    • Linus Torvalds's avatar
      Linux 6.0-rc1 · 568035b0
      Linus Torvalds authored
      568035b0
    • Yury Norov's avatar
      radix-tree: replace gfp.h inclusion with gfp_types.h · 9f162193
      Yury Norov authored
      
      
      Radix tree header includes gfp.h for __GFP_BITS_SHIFT only. Now we
      have gfp_types.h for this.
      
      Fixes powerpc allmodconfig build:
      
         In file included from include/linux/nodemask.h:97,
                          from include/linux/mmzone.h:17,
                          from include/linux/gfp.h:7,
                          from include/linux/radix-tree.h:12,
                          from include/linux/idr.h:15,
                          from include/linux/kernfs.h:12,
                          from include/linux/sysfs.h:16,
                          from include/linux/kobject.h:20,
                          from include/linux/pci.h:35,
                          from arch/powerpc/kernel/prom_init.c:24:
         include/linux/random.h: In function 'add_latent_entropy':
      >> include/linux/random.h:25:46: error: 'latent_entropy' undeclared (first use in this function); did you mean 'add_latent_entropy'?
            25 |         add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy));
               |                                              ^~~~~~~~~~~~~~
               |                                              add_latent_entropy
         include/linux/random.h:25:46: note: each undeclared identifier is reported only once for each function it appears in
      
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      CC: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
      CC: Andrew Morton <akpm@linux-foundation.org>
      CC: Jason A. Donenfeld <Jason@zx2c4.com>
      Signed-off-by: default avatarYury Norov <yury.norov@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9f162193
    • Linus Torvalds's avatar
      Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 74cbb480
      Linus Torvalds authored
      Pull vfs lseek fix from Al Viro:
       "Fix proc_reg_llseek() breakage. Always had been possible if somebody
        left NULL ->proc_lseek, became a practical issue now"
      
      * tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        take care to handle NULL ->proc_lseek()
      74cbb480
    • Al Viro's avatar
      take care to handle NULL ->proc_lseek() · 3f61631d
      Al Viro authored
      Easily done now, just by clearing FMODE_LSEEK in ->f_mode
      during proc_reg_open() for such entries.
      
      Fixes: 868941b1
      
       "fs: remove no_llseek"
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      3f61631d
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.0-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 5d6a0f4d
      Linus Torvalds authored
      Pull more xen updates from Juergen Gross:
      
       - fix the handling of the "persistent grants" feature negotiation
         between Xen blkfront and Xen blkback drivers
      
       - a cleanup of xen.config and adding xen.config to Xen section in
         MAINTAINERS
      
       - support HVMOP_set_evtchn_upcall_vector, which is more compliant to
         "normal" interrupt handling than the global callback used up to now
      
       - further small cleanups
      
      * tag 'for-linus-6.0-rc1b-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        MAINTAINERS: add xen config fragments to XEN HYPERVISOR sections
        xen: remove XEN_SCRUB_PAGES in xen.config
        xen/pciback: Fix comment typo
        xen/xenbus: fix return type in xenbus_file_read()
        xen-blkfront: Apply 'feature_persistent' parameter when connect
        xen-blkback: Apply 'feature_persistent' parameter when connect
        xen-blkback: fix persistent grants negotiation
        x86/xen: Add support for HVMOP_set_evtchn_upcall_vector
      5d6a0f4d
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-13' of... · 96f86ff0
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v6.0-2022-08-13' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull more perf tool updates from Arnaldo Carvalho de Melo:
      
       - 'perf c2c' now supports ARM64, adjust its output to cope with
         differences with what is in x86_64. Now go find false sharing on
         ARM64 (at least Neoverse) as well!
      
       - Refactor the JSON processing, making the output more compact and thus
         reducing the size of the resulting perf binary
      
       - Improvements for 'perf offcpu' profiling, including tracking child
         processes
      
       - Update Intel JSON metrics and events files for broadwellde,
         broadwellx, cascadelakex, haswellx, icelakex, ivytown, jaketown,
         knightslanding, sapphirerapids, skylakex and snowridgex
      
       - Add 'perf stat' JSON output and a 'perf test' entry for it
      
       - Ignore memfd and anonymous mmap events if jitdump present
      
       - Refactor 'perf test' shell tests allowing subdirs
      
       - Fix an error handling path in 'parse_perf_probe_command()'
      
       - Fixes for the guest Intel PT tracin...
      96f86ff0
  4. Aug 14, 2022