1. 11 Sep, 2023 1 commit
  2. 09 Sep, 2023 5 commits
    • Naveen N Rao's avatar
      selftests/ftrace: Fix dependencies for some of the synthetic event tests · 145036f8
      Naveen N Rao authored
      Commit b81a3a10 ("tracing/histogram: Add simple tests for
      stacktrace usage of synthetic events") changed the output text in
      tracefs README, but missed updating some of the dependencies specified
      in selftests. This causes some of the tests to exit as unsupported.
      
      Fix this by changing the grep pattern. Since we want these tests to work
      on older kernels, match only against the common last part of the
      pattern.
      
      Link: https://lore.kernel.org/linux-trace-kernel/20230614091046.2178539-1-naveen@kernel.org
      
      Cc: <linux-kselftest@vger.kernel.org>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Shuah Khan <shuah@kernel.org>
      Fixes: b81a3a10 ("tracing/histogram: Add simple tests for stacktrace usage of synthetic events")
      Signed-off-by: default avatarNaveen N Rao <naveen@kernel.org>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      145036f8
    • Steven Rostedt (Google)'s avatar
      tracing: Remove unused trace_event_file dir field · 6fdac58c
      Steven Rostedt (Google) authored
      Now that eventfs structure is used to create the events directory via the
      eventfs dynamically allocate code, the "dir" field of the trace_event_file
      structure is no longer used. Remove it.
      
      Link: https://lkml.kernel.org/r/20230908022001.580400115@goodmis.org
      
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Ajay Kaher <akaher@vmware.com>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      6fdac58c
    • Steven Rostedt (Google)'s avatar
      tracing: Use the new eventfs descriptor for print trigger · 1ef26d8b
      Steven Rostedt (Google) authored
      The check to create the print event "trigger" was using the obsolete "dir"
      value of the trace_event_file to determine if it should create the trigger
      or not. But that value will now be NULL because it uses the event file
      descriptor.
      
      Change it to test the "ef" field of the trace_event_file structure so that
      the trace_marker "trigger" file appears again.
      
      Link: https://lkml.kernel.org/r/20230908022001.371815239@goodmis.org
      
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Ajay Kaher <akaher@vmware.com>
      Fixes: 27152bce ("eventfs: Move tracing/events to eventfs")
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      1ef26d8b
    • Steven Rostedt (Google)'s avatar
      ring-buffer: Do not attempt to read past "commit" · 95a404bd
      Steven Rostedt (Google) authored
      When iterating over the ring buffer while the ring buffer is active, the
      writer can corrupt the reader. There's barriers to help detect this and
      handle it, but that code missed the case where the last event was at the
      very end of the page and has only 4 bytes left.
      
      The checks to detect the corruption by the writer to reads needs to see the
      length of the event. If the length in the first 4 bytes is zero then the
      length is stored in the second 4 bytes. But if the writer is in the process
      of updating that code, there's a small window where the length in the first
      4 bytes could be zero even though the length is only 4 bytes. That will
      cause rb_event_length() to read the next 4 bytes which could happen to be off the
      allocated page.
      
      To protect against this, fail immediately if the next event pointer is
      less than 8 bytes from the end of the commit (last byte of data), as all
      events must be a minimum of 8 bytes anyway.
      
      Link: https://lore.kernel.org/all/20230905141245.26470-1-Tze-nan.Wu@mediatek.com/
      Link: https://lore.kernel.org/linux-trace-kernel/20230907122820.0899019c@gandalf.local.home
      
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Mark Rutland <mark.rutland@arm.com>
      Reported-by: default avatarTze-nan Wu <Tze-nan.Wu@mediatek.com>
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      95a404bd
    • Steven Rostedt (Google)'s avatar
      tracefs/eventfs: Free top level files on removal · d508ee2d
      Steven Rostedt (Google) authored
      When an instance is removed, the top level files of the eventfs directory
      are not cleaned up. Call the eventfs_remove() on each of the entries to
      free them.
      
      This was found via kmemleak:
      
      unreferenced object 0xffff8881047c1280 (size 96):
        comm "mkdir", pid 924, jiffies 4294906489 (age 2013.077s)
        hex dump (first 32 bytes):
          18 31 ed 03 81 88 ff ff 00 31 09 24 81 88 ff ff  .1.......1.$....
          00 00 00 00 00 00 00 00 98 19 7c 04 81 88 ff ff  ..........|.....
        backtrace:
          [<000000000fa46b4d>] kmalloc_trace+0x2a/0xa0
          [<00000000e729cd0c>] eventfs_prepare_ef.constprop.0+0x3a/0x160
          [<000000009032e6a8>] eventfs_add_events_file+0xa0/0x160
          [<00000000fe968442>] create_event_toplevel_files+0x6f/0x130
          [<00000000e364d173>] event_trace_add_tracer+0x14/0x140
          [<00000000411840fa>] trace_array_create_dir+0x52/0xf0
          [<00000000967804fa>] trace_array_create+0x208/0x370
          [<00000000da505565>] instance_mkdir+0x6b/0xb0
          [<00000000dc1215af>] tracefs_syscall_mkdir+0x5b/0x90
          [<00000000a8aca289>] vfs_mkdir+0x272/0x380
          [<000000007709b242>] do_mkdirat+0xfc/0x1d0
          [<00000000c0b6d219>] __x64_sys_mkdir+0x78/0xa0
          [<0000000097b5dd4b>] do_syscall_64+0x3f/0x90
          [<00000000a3f00cfa>] entry_SYSCALL_64_after_hwframe+0x6e/0xd8
      unreferenced object 0xffff888103ed3118 (size 8):
        comm "mkdir", pid 924, jiffies 4294906489 (age 2013.077s)
        hex dump (first 8 bytes):
          65 6e 61 62 6c 65 00 00                          enable..
        backtrace:
          [<0000000010f75127>] __kmalloc_node_track_caller+0x51/0x160
          [<000000004b3eca91>] kstrdup+0x34/0x60
          [<0000000050074d7a>] eventfs_prepare_ef.constprop.0+0x53/0x160
          [<000000009032e6a8>] eventfs_add_events_file+0xa0/0x160
          [<00000000fe968442>] create_event_toplevel_files+0x6f/0x130
          [<00000000e364d173>] event_trace_add_tracer+0x14/0x140
          [<00000000411840fa>] trace_array_create_dir+0x52/0xf0
          [<00000000967804fa>] trace_array_create+0x208/0x370
          [<00000000da505565>] instance_mkdir+0x6b/0xb0
          [<00000000dc1215af>] tracefs_syscall_mkdir+0x5b/0x90
          [<00000000a8aca289>] vfs_mkdir+0x272/0x380
          [<000000007709b242>] do_mkdirat+0xfc/0x1d0
          [<00000000c0b6d219>] __x64_sys_mkdir+0x78/0xa0
          [<0000000097b5dd4b>] do_syscall_64+0x3f/0x90
          [<00000000a3f00cfa>] entry_SYSCALL_64_after_hwframe+0x6e/0xd8
      
      Link: https://lore.kernel.org/linux-trace-kernel/20230907175859.6fedbaa2@gandalf.local.home
      
      Cc: Mark Rutland <mark.rutland@arm.com>
      Cc: Ajay Kaher <akaher@vmware.com>
      Cc: Zheng Yejian <zhengyejian1@huawei.com>
      Cc: Naresh Kamboju <naresh.kamboju@linaro.org>
      Reviewed-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
      Fixes: 5bdcd5f5 eventfs: ("Implement removal of meta data from eventfs")
      Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
      d508ee2d
  3. 07 Sep, 2023 7 commits
  4. 06 Sep, 2023 2 commits
  5. 02 Sep, 2023 11 commits
  6. 01 Sep, 2023 14 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 34232fcf
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "User visible changes:
      
         - Added a way to easier filter with cpumasks:
      
             # echo 'cpumask & CPUS{17-42}' > /sys/kernel/tracing/events/ipi_send_cpumask/filter
      
         - Show actual size of ring buffer after modifying the ring buffer
           size via buffer_size_kb.
      
           Currently it just returns what was written, but the actual size
           rounds up to the sub buffer size. Show that real size instead.
      
        Major changes:
      
         - Added "eventfs". This is the code that handles the inodes and
           dentries of tracefs/events directory. As there are thousands of
           events, and each event has several inodes and dentries that
           currently exist even when tracing is never used, they take up
           precious memory. Instead, eventfs will allocate the inodes and
           dentries in a JIT way (similar to what procfs does). There is now
           metadata that handles the events and subdirectories, and will
           create the inodes and dentries when they are used.
      
           Note, I also have patches that remove the subdirectory meta data,
           but will wait till the next merge window before applying them. It's
           a little more complex, and I want to make sure the dynamic code
           works properly before adding more complexity, making it easier to
           revert if need be.
      
        Minor changes:
      
         - Optimization to user event list traversal
      
         - Remove intermediate permission of tracefs files (note the
           intermediate permission removes all access to the files so it is
           not a security concern, but just a clean up)
      
         - Add the complex fix to FORTIFY_SOURCE to the kernel stack event
           logic
      
         - Other minor cleanups"
      
      * tag 'trace-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: (29 commits)
        tracefs: Remove kerneldoc from struct eventfs_file
        tracefs: Avoid changing i_mode to a temp value
        tracing/user_events: Optimize safe list traversals
        ftrace: Remove empty declaration ftrace_enable_daemon() and ftrace_disable_daemon()
        tracing: Remove unused function declarations
        tracing/filters: Document cpumask filtering
        tracing/filters: Further optimise scalar vs cpumask comparison
        tracing/filters: Optimise CPU vs cpumask filtering when the user mask is a single CPU
        tracing/filters: Optimise scalar vs cpumask filtering when the user mask is a single CPU
        tracing/filters: Optimise cpumask vs cpumask filtering when user mask is a single CPU
        tracing/filters: Enable filtering the CPU common field by a cpumask
        tracing/filters: Enable filtering a scalar field by a cpumask
        tracing/filters: Enable filtering a cpumask field by another cpumask
        tracing/filters: Dynamically allocate filter_pred.regex
        test: ftrace: Fix kprobe test for eventfs
        eventfs: Move tracing/events to eventfs
        eventfs: Implement removal of meta data from eventfs
        eventfs: Implement functions to create files and dirs when accessed
        eventfs: Implement eventfs lookup, read, open functions
        eventfs: Implement eventfs file add functions
        ...
      34232fcf
    • Linus Torvalds's avatar
      Merge tag 'wq-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · bd30fe6a
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
      
       - Unbound workqueues now support more flexible affinity scopes.
      
         The default behavior is to soft-affine according to last level cache
         boundaries. A work item queued from a given LLC is executed by a
         worker running on the same LLC but the worker may be moved across
         cache boundaries as the scheduler sees fit. On machines which
         multiple L3 caches, which are becoming more popular along with
         chiplet designs, this improves cache locality while not harming work
         conservation too much.
      
         Unbound workqueues are now also a lot more flexible in terms of
         execution affinity. Differeing levels of affinity scopes are
         supported and both the default and per-workqueue affinity settings
         can be modified dynamically. This should help working around amny of
         sub-optimal behaviors observed recently with asymmetric ARM CPUs.
      
         This involved signficant restructuring of workqueue code. Nothing was
         reported yet but there's some risk of subtle regressions. Should keep
         an eye out.
      
       - Rescuer workers now has more identifiable comms.
      
       - workqueue.unbound_cpus added so that CPUs which can be used by
         workqueue can be constrained early during boot.
      
       - Now that all the in-tree users have been flushed out, trigger warning
         if system-wide workqueues are flushed.
      
      * tag 'wq-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (31 commits)
        workqueue: fix data race with the pwq->stats[] increment
        workqueue: Rename rescuer kworker
        workqueue: Make default affinity_scope dynamically updatable
        workqueue: Add "Affinity Scopes and Performance" section to documentation
        workqueue: Implement non-strict affinity scope for unbound workqueues
        workqueue: Add workqueue_attrs->__pod_cpumask
        workqueue: Factor out need_more_worker() check and worker wake-up
        workqueue: Factor out work to worker assignment and collision handling
        workqueue: Add multiple affinity scopes and interface to select them
        workqueue: Modularize wq_pod_type initialization
        workqueue: Add tools/workqueue/wq_dump.py which prints out workqueue configuration
        workqueue: Generalize unbound CPU pods
        workqueue: Factor out clearing of workqueue-only attrs fields
        workqueue: Factor out actual cpumask calculation to reduce subtlety in wq_update_pod()
        workqueue: Initialize unbound CPU pods later in the boot
        workqueue: Move wq_pod_init() below workqueue_init()
        workqueue: Rename NUMA related names to use pod instead
        workqueue: Rename workqueue_attrs->no_numa to ->ordered
        workqueue: Make unbound workqueues to use per-cpu pool_workqueues
        workqueue: Call wq_update_unbound_numa() on all CPUs in NUMA node on CPU hotplug
        ...
      bd30fe6a
    • Linus Torvalds's avatar
      Merge tag 'cgroup-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 7716f383
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
      
       - Per-cpu cpu usage stats are now tracked
      
         This currently isn't printed out in the cgroupfs interface and can
         only be accessed through e.g. BPF. Should decide on a not-too-ugly
         way to show per-cpu stats in cgroupfs
      
       - cpuset received some cleanups and prepatory patches for the pending
         cpus.exclusive patchset which will allow cpuset partitions to be
         created below non-partition parents, which should ease the management
         of partition cpusets
      
       - A lot of code and documentation cleanup patches
      
       - tools/testing/selftests/cgroup/test_cpuset.c added
      
      * tag 'cgroup-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (32 commits)
        cgroup: Avoid -Wstringop-overflow warnings
        cgroup:namespace: Remove unused cgroup_namespaces_init()
        cgroup/rstat: Record the cumulative per-cpu time of cgroup and its descendants
        cgroup: clean up if condition in cgroup_pidlist_start()
        cgroup: fix obsolete function name in cgroup_destroy_locked()
        Documentation: cgroup-v2.rst: Correct number of stats entries
        cgroup: fix obsolete function name above css_free_rwork_fn()
        cgroup/cpuset: fix kernel-doc
        cgroup: clean up printk()
        cgroup: fix obsolete comment above cgroup_create()
        docs: cgroup-v1: fix typo
        docs: cgroup-v1: correct the term of Page Cache organization in inode
        cgroup/misc: Store atomic64_t reads to u64
        cgroup/misc: Change counters to be explicit 64bit types
        cgroup/misc: update struct members descriptions
        cgroup: remove cgrp->kn check in css_populate_dir()
        cgroup: fix obsolete function name
        cgroup: use cached local variable parent in for loop
        cgroup: remove obsolete comment above struct cgroupstats
        cgroup: put cgroup_tryget_css() inside CONFIG_CGROUP_SCHED
        ...
      7716f383
    • Linus Torvalds's avatar
      Merge tag 'percpu-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu · e987af45
      Linus Torvalds authored
      Pull percpu updates from Dennis Zhou:
       "One bigger change to percpu_counter's api allowing for init and
        destroy of multiple counters via percpu_counter_init_many() and
        percpu_counter_destroy_many(). This is used to help begin remediating
        a performance regression with percpu rss stats.
      
        Additionally, it seems larger core count machines are feeling the
        burden of the single threaded allocation of percpu. Mateusz is
        thinking about it and I will spend some time on it too.
      
        percpu:
      
         - A couple cleanups by Baoquan He and Bibo Mao. The only behavior
           change is to start printing messages if we're under the warn limit
           for failed atomic allocations.
      
        percpu_counter:
      
         - Shakeel introduced percpu counters into mm_struct which caused
           percpu allocations be on the hot path [1]. Originally I spent some
           time trying to improve the percpu allocator, but instead preferred
           what Mateusz Guzik proposed grouping at the allocation site,
           percpu_counter_init_many(). This allows a single percpu allocation
           to be shared by the counters. I like this approach because it
           creates a shared lifetime by the allocations. Additionally, I
           believe many inits have higher level synchronization requirements,
           like percpu_counter does against HOTPLUG_CPU. Therefore we can
           group these optimizations together"
      
      Link: https://lore.kernel.org/linux-mm/20221024052841.3291983-1-shakeelb@google.com/ [1]
      
      * tag 'percpu-for-6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu:
        kernel/fork: group allocation/free of per-cpu counters for mm struct
        pcpcntr: add group allocation/free
        mm/percpu.c: print error message too if atomic alloc failed
        mm/percpu.c: optimize the code in pcpu_setup_first_chunk() a little bit
        mm/percpu.c: remove redundant check
        mm/percpu: Remove some local variables in pcpu_populate_pte
      e987af45
    • Linus Torvalds's avatar
      Merge tag 'v6.6-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 0fe2b86c
      Linus Torvalds authored
      Pull crypto fix from Herbert Xu:
       "This fixes a random config build failure on powerpc"
      
      * tag 'v6.6-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: powerpc/chacha20,poly1305-p10 - Add dependency on VSX
      0fe2b86c
    • Linus Torvalds's avatar
      Merge tag 'for-linus-2023083101' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 29aa98d0
      Linus Torvalds authored
      Pull HID updates from Benjamin Tissoires:
      
       - devm fixes for problems that caused use-after-free reports (Rahul
         Rameshbabu)
      
       - Some extensive HID docs (Marco Morandini)
      
       - Constification of struct class (Ivan Orlov and Greg Kroah-Hartman)
      
       - Google Stadia Force Feedback support (Fabio Baltieri)
      
       - Various fixes and new device ID support
      
      * tag 'for-linus-2023083101' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (42 commits)
        HID: logitech-hidpp: rework one more time the retries attempts
        HID: nvidia-shield: Reference hid_device devm allocation of input_dev name
        HID: multitouch: Correct devm device reference for hidinput input_dev name
        HID: uclogic: Correct devm device reference for hidinput input_dev name
        HID: logitech-dj: Fix error handling in logi_dj_recv_switch_to_dj_mode()
        HID: i2c-hid: elan: Add ili9882t timing
        dt-bindings: input: i2c-hid: Introduce Ilitek ili9882t
        HID: apple: Add "Hailuck" to the list of non-apple keyboards
        HID: steelseries: arctis_1_battery_request[] should be static
        MAINTAINERS: update my email address
        HID: logitech-hidpp: Add support for Logitech MX Anywhere 3 mouse
        HID: wacom: struct name cleanup
        HID: wacom: remove unnecessary 'connected' variable from EKR
        HID: wacom: remove the battery when the EKR is off
        HID: nvidia-shield: Update Thunderstrike LED instance name to use id
        HID: nvidia-shield: Add battery support for Thunderstrike
        HID: nvidia-shield: Remove led_classdev_unregister in thunderstrike_create
        HID: hid-google-stadiaff: add support for Stadia force feedback
        HID: logitech-dj: Add support for a new lightspeed receiver iteration
        HID: logitech-hidpp: Add support for the Pro X Superlight
        ...
      29aa98d0
    • Linus Torvalds's avatar
      Merge tag 'media/v6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 307d5903
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - new i2c drivers: ds90ub913, ds90ub953, ds90ub960, dw9719, ds90ub913
      
       - new Intel IVSC MEI drivers
      
       - some Mediatek platform drivers were moved to a common location
      
       - Intel atomisp2 driver is now working with the main ov2680 driver. Due
         to that, the atomisp2 ov2680 staging one was removed
      
       - the bttv driver was finally converted to videobuf2 framework. This
         was the last one upstream using videobuf version 1 core. We'll likely
         remove the old videobuf framework on 6.7
      
       - lots of improvements at atomisp driver: it now works with normal I2C
         sensors. Several compile-mode dependecies to select between ISP2400
         and ISP2401 are now solved in runtime
      
       - a new ipu-bridge logic was added to work with IVSC MEI drivers
      
       - venus driver gained better support for new VPU versions
      
       - the v4l core async framework has gained lots of improvements and
         cleanups
      
       - lots of other cleanups, improvements and driver fixes
      
      * tag 'media/v6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (358 commits)
        media: ivsc: Add ACPI dependency
        media: bttv: convert to vb2
        media: bttv: use audio defaults for winfast2000
        media: bttv: refactor bttv_set_dma()
        media: bttv: move vbi_skip/vbi_count out of buffer
        media: bttv: remove crop info from bttv_buffer
        media: bttv: remove tvnorm field from bttv_buffer
        media: bttv: remove format field from bttv_buffer
        media: bttv: move do_crop flag out of bttv_fh
        media: bttv: copy vbi_fmt from bttv_fh
        media: bttv: copy vid fmt/width/height from fh
        media: bttv: radio use v4l2_fh instead of bttv_fh
        media: bttv: replace BUG with WARN_ON
        media: bttv: use video_drvdata to get bttv
        media: i2c: rdacm21: Fix uninitialized value
        media: coda: Remove duplicated include
        media: vivid: fix the racy dev->radio_tx_rds_owner
        media: i2c: ccs: Check rules is non-NULL
        media: i2c: ds90ub960: Fix PLL config for 1200 MHz CSI rate
        media: i2c: ds90ub953: Fix use of uninitialized variables
        ...
      307d5903
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · b84acc11
      Linus Torvalds authored
      Pull fbdev updates from Helge Deller:
      
       - Drop the mx3fb driver
      
       - Use list_for_each_entry() helper in fbcore code
      
       - Shorten neofb product names for fb-fix id field
      
       - reduce memory usage in ssd1307fb
      
      * tag 'fbdev-for-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
        fbdev: Update fbdev source file paths
        fbdev: ssd1307fb: Use bool for ssd1307fb_deviceinfo flags
        fbdev: neofb: Shorten Neomagic product name in info struct
        fbdev: mx3fb: Remove the driver
        fbdev/core: Use list_for_each_entry() helper
      b84acc11
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 1c9f8dff
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the big set of char/misc and other small driver subsystem
        changes for 6.6-rc1.
      
        Stuff all over the place here, lots of driver updates and changes and
        new additions. Short summary is:
      
         - new IIO drivers and updates
      
         - Interconnect driver updates
      
         - fpga driver updates and additions
      
         - fsi driver updates
      
         - mei driver updates
      
         - coresight driver updates
      
         - nvmem driver updates
      
         - counter driver updates
      
         - lots of smaller misc and char driver updates and additions
      
        All of these have been in linux-next for a long time with no reported
        problems"
      
      * tag 'char-misc-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (267 commits)
        nvmem: core: Notify when a new layout is registered
        nvmem: core: Do not open-code existing functions
        nvmem: core: Return NULL when no nvmem layout is found
        nvmem: core: Create all cells before adding the nvmem device
        nvmem: u-boot-env:: Replace zero-length array with DECLARE_FLEX_ARRAY() helper
        nvmem: sec-qfprom: Add Qualcomm secure QFPROM support
        dt-bindings: nvmem: sec-qfprom: Add bindings for secure qfprom
        dt-bindings: nvmem: Add compatible for QCM2290
        nvmem: Kconfig: Fix typo "drive" -> "driver"
        nvmem: Explicitly include correct DT includes
        nvmem: add new NXP QorIQ eFuse driver
        dt-bindings: nvmem: Add t1023-sfp efuse support
        dt-bindings: nvmem: qfprom: Add compatible for MSM8226
        nvmem: uniphier: Use devm_platform_get_and_ioremap_resource()
        nvmem: qfprom: do some cleanup
        nvmem: stm32-romem: Use devm_platform_get_and_ioremap_resource()
        nvmem: rockchip-efuse: Use devm_platform_get_and_ioremap_resource()
        nvmem: meson-mx-efuse: Convert to devm_platform_ioremap_resource()
        nvmem: lpc18xx_otp: Convert to devm_platform_ioremap_resource()
        nvmem: brcm_nvram: Use devm_platform_get_and_ioremap_resource()
        ...
      1c9f8dff
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 28a4f91f
      Linus Torvalds authored
      Pull driver core updates from Greg KH:
       "Here is a small set of driver core updates and additions for 6.6-rc1.
      
        Included in here are:
      
         - stable kernel documentation updates
      
         - class structure const work from Ivan on various subsystems
      
         - kernfs tweaks
      
         - driver core tests!
      
         - kobject sanity cleanups
      
         - kobject structure reordering to save space
      
         - driver core error code handling fixups
      
         - other minor driver core cleanups
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'driver-core-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (32 commits)
        driver core: Call in reversed order in device_platform_notify_remove()
        driver core: Return proper error code when dev_set_name() fails
        kobject: Remove redundant checks for whether ktype is NULL
        kobject: Add sanity check for kset->kobj.ktype in kset_register()
        drivers: base: test: Add missing MODULE_* macros to root device tests
        drivers: base: test: Add missing MODULE_* macros for platform devices tests
        drivers: base: Free devm resources when unregistering a device
        drivers: base: Add basic devm tests for platform devices
        drivers: base: Add basic devm tests for root devices
        kernfs: fix missing kernfs_iattr_rwsem locking
        docs: stable-kernel-rules: mention that regressions must be prevented
        docs: stable-kernel-rules: fine-tune various details
        docs: stable-kernel-rules: make the examples for option 1 a proper list
        docs: stable-kernel-rules: move text around to improve flow
        docs: stable-kernel-rules: improve structure by changing headlines
        base/node: Remove duplicated include
        kernfs: attach uuid for every kernfs and report it in fsid
        kernfs: add stub helper for kernfs_generic_poll()
        x86/resctrl: make pseudo_lock_class a static const structure
        x86/MSR: make msr_class a static const structure
        ...
      28a4f91f
    • Linus Torvalds's avatar
      Merge tag 'tty-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 8e1e4955
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here is the big set of tty and serial driver changes for 6.6-rc1.
      
        Lots of cleanups in here this cycle, and some driver updates. Short
        summary is:
      
         - Jiri's continued work to make the tty code and apis be a bit more
           sane with regards to modern kernel coding style and types
      
         - cpm_uart driver updates
      
         - n_gsm updates and fixes
      
         - meson driver updates
      
         - sc16is7xx driver updates
      
         - 8250 driver updates for different hardware types
      
         - qcom-geni driver fixes
      
         - tegra serial driver change
      
         - stm32 driver updates
      
         - synclink_gt driver cleanups
      
         - tty structure size reduction
      
        All of these have been in linux-next this week with no reported
        issues. The last bit of cleanups from Jiri and the tty structure size
        reduction came in last week, a bit late but as they were just style
        changes and size reductions, I figured they should get into this merge
        cycle so that others can work on top of them with no merge conflicts"
      
      * tag 'tty-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (199 commits)
        tty: shrink the size of struct tty_struct by 40 bytes
        tty: n_tty: deduplicate copy code in n_tty_receive_buf_real_raw()
        tty: n_tty: extract ECHO_OP processing to a separate function
        tty: n_tty: unify counts to size_t
        tty: n_tty: use u8 for chars and flags
        tty: n_tty: simplify chars_in_buffer()
        tty: n_tty: remove unsigned char casts from character constants
        tty: n_tty: move newline handling to a separate function
        tty: n_tty: move canon handling to a separate function
        tty: n_tty: use MASK() for masking out size bits
        tty: n_tty: make n_tty_data::num_overrun unsigned
        tty: n_tty: use time_is_before_jiffies() in n_tty_receive_overrun()
        tty: n_tty: use 'num' for writes' counts
        tty: n_tty: use output character directly
        tty: n_tty: make flow of n_tty_receive_buf_common() a bool
        Revert "tty: serial: meson: Add a earlycon for the T7 SoC"
        Documentation: devices.txt: Fix minors for ttyCPM*
        Documentation: devices.txt: Remove ttySIOC*
        Documentation: devices.txt: Remove ttyIOC*
        serial: 8250_bcm7271: improve bcm7271 8250 port
        ...
      8e1e4955
    • Linus Torvalds's avatar
      Merge tag 'staging-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · e9259926
      Linus Torvalds authored
      Pull staging driver updates from Greg KH:
       "Here are a set of staging driver cleanups for 6.6-rc1. Nothing huge in
        here at all, overall we dropped a few hundred lines of code, it's been
        a quiet development cycle for this subsystem.
      
        Nothing stands out, everything can be categorized as "minor coding
        style cleanups for staging drivers" and there was one race condition
        fixed.
      
        Full details in the shortlog.
      
        All have been in linux-next for a while with no reported problems"
      
      * tag 'staging-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (71 commits)
        staging: rtl8192e: Annotate struct rtllib_txb with __counted_by
        staging: greybus: fix alignment of open parenthesis
        staging: sm750fb: fix sii164InitChip function name
        staging: vme_user: fix check lines should not end with a '('
        staging: vme_user: fix check blank lines not necessary
        staging: rtl8723bs: Use helpers to check broadcast and multicast Ether addresses
        staging: vt6655: replace camel case by snake case
        staging: rtl8192e: Remove unsupported mode IW_MODE_MESH
        staging: rtl8192e: Remove unsupported mode IW_MODE_REPEAT
        staging: rtl8192e: Remove unused function rtllib_start_master_bss()
        staging: rtl8192e: Remove unsupported mode IW_MODE_MASTER
        staging: vt6655: Change camel case variables to snake case
        staging: fieldbus: arcx-anybus: Remove redundant of_match_ptr()
        staging: vme_user: fix alignment of open parenthesis
        Staging: rtl8192e: Rename function RxBaInactTimeout
        Staging: rtl8192e: Rename function TxBaInactTimeout
        Staging: rtl8192e: Rename function BaSetupTimeOut
        Staging: rtl8192e: Rename function TsInitDelBA
        Staging: rtl8192e: Rename function TsInitAddBA
        staging: vme_user: fix check alignment should match open parenthesis
        ...
      e9259926
    • Linus Torvalds's avatar
      Merge tag 'usb-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 51e7accb
      Linus Torvalds authored
      Pull USB / Thunderbolt / PHY driver updates from Greg KH:
       "Here is the big set of USB, Thunderbolt, and PHY driver updates for
        6.6-rc1. Included in here are:
      
         - PHY driver additions and cleanups
      
         - Thunderbolt minor additions and fixes
      
         - USB MIDI 2 gadget support added
      
         - dwc3 driver updates and additions
      
         - Removal of some old USB wireless code that was missed when that
           codebase was originally removed a few years ago, cleaning up some
           core USB code paths
      
         - USB core potential use-after-free fixes that syzbot from different
           people/groups keeps tripping over
      
         - typec updates and additions
      
         - gadget fixes and cleanups
      
         - loads of smaller USB core and driver cleanups all over the place
      
        Full details are in the shortlog. All of these have been in linux-next
        for a while with no reported problems"
      
      * tag 'usb-6.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (154 commits)
        platform/chrome: cros_ec_typec: Configure Retimer cable type
        tcpm: Avoid soft reset when partner does not support get_status
        usb: typec: tcpm: reset counter when enter into unattached state after try role
        usb: typec: tcpm: set initial svdm version based on pd revision
        USB: serial: option: add FOXCONN T99W368/T99W373 product
        USB: serial: option: add Quectel EM05G variant (0x030e)
        usb: dwc2: add pci_device_id driver_data parse support
        usb: gadget: remove max support speed info in bind operation
        usb: gadget: composite: cleanup function config_ep_by_speed_and_alt()
        usb: gadget: config: remove max speed check in usb_assign_descriptors()
        usb: gadget: unconditionally allocate hs/ss descriptor in bind operation
        usb: gadget: f_uvc: change endpoint allocation in uvc_function_bind()
        usb: gadget: add a inline function gether_bitrate()
        usb: gadget: use working speed to calcaulate network bitrate and qlen
        dt-bindings: usb: samsung,exynos-dwc3: Add Exynos850 support
        usb: dwc3: exynos: Add support for Exynos850 variant
        usb: gadget: udc-xilinx: fix incorrect type in assignment warning
        usb: gadget: udc-xilinx: fix cast from restricted __le16 warning
        usb: gadget: udc-xilinx: fix restricted __le16 degrades to integer warning
        USB: dwc2: hande irq on dead controller correctly
        ...
      51e7accb
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.6-1' of... · e2c874f9
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver updates from Hans de Goede:
      
       - hp-bioscfg: New firmware-attributes driver for changing BIOS settings
         from within Linux
      
       - asus-wmi: Add charger mode, middle fan and eGPU settings support
      
       - ideapad: Support keyboard backlight control on more models
      
       - mellanox: Support for new models
      
       - sel-3350: New LED and power-supply driver for this industrial
         mainboard
      
       - simatic-ipc: Add RTC battery monitor and various new models support
      
       - miscellaneous other cleanups / fixes
      
      * tag 'platform-drivers-x86-v6.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (101 commits)
        platform/x86: asus-wmi: corrections to egpu safety check
        platform/x86: mlx-platform: Add dependency on PCI to Kconfig
        platform/x86: ideapad-laptop: Add support for keyboard backlights using KBLC ACPI symbol
        platform/x86/amd/pmc: Fix build error with randconfig
        platform/x86/amd/pmf: Fix a missing cleanup path
        watchdog: simatic: Use idiomatic selection of P2SB
        platform/x86: p2sb: Make the Kconfig symbol hidden
        Documentation/ABI: Add new attribute for mlxreg-io sysfs interfaces
        platform: mellanox: nvsw-sn2201: change fans i2c busses.
        platform: mellanox: mlxreg-hotplug: Extend condition for notification callback processing
        platform: mellanox: Add initial support for PCIe based programming logic device
        platform: mellanox: mlx-platform: Get interrupt line through ACPI
        platform: mellanox: mlx-platform: Introduce ACPI init flow
        platform: mellanox: mlx-platform: Prepare driver to allow probing through ACPI infrastructure
        platform: mellanox: mlx-platform: Add reset callback
        platform: mellanox: Cosmetic changes
        platform: mellanox: mlx-platform: Modify power off callback
        platform: mellanox: mlx-platform: add support for additional CPLD
        platform: mellanox: mlx-platform: Add reset cause attribute
        platform: mellanox: mlx-platform: Modify health and power hotplug action
        ...
      e2c874f9