Merge tag 'driver-core-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Jun 2022 18:48:47 +0000 (11:48 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Jun 2022 18:48:47 +0000 (11:48 -0700)
Pull driver core updates from Greg KH:
 "Here is the set of driver core changes for 5.19-rc1.

  Lots of tiny driver core changes and cleanups happened this cycle, but
  the two major things are:

   - firmware_loader reorganization and additions including the ability
     to have XZ compressed firmware images and the ability for userspace
     to initiate the firmware load when it needs to, instead of being
     always initiated by the kernel. FPGA devices specifically want this
     ability to have their firmware changed over the lifetime of the
     system boot, and this allows them to work without having to come up
     with yet-another-custom-uapi interface for loading firmware for
     them.

   - physical location support added to sysfs so that devices that know
     this information, can tell userspace where they are located in a
     common way. Some ACPI devices already support this today, and more
     bus types should support this in the future.

  Smaller changes include:

   - driver_override api cleanups and fixes

   - error path cleanups and fixes

   - get_abi script fixes

   - deferred probe timeout changes.

  It's that last change that I'm the most worried about. It has been
  reported to cause boot problems for a number of systems, and I have a
  tested patch series that resolves this issue. But I didn't get it
  merged into my tree before 5.18-final came out, so it has not gotten
  any linux-next testing.

  I'll send the fixup patches (there are 2) as a follow-on series to this
  pull request.

  All have been tested in linux-next for weeks, with no reported issues
  other than the above-mentioned boot time-outs"

* tag 'driver-core-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (55 commits)
  driver core: fix deadlock in __device_attach
  kernfs: Separate kernfs_pr_cont_buf and rename_lock.
  topology: Remove unused cpu_cluster_mask()
  driver core: Extend deferred probe timeout on driver registration
  MAINTAINERS: add Russ Weight as a firmware loader maintainer
  driver: base: fix UAF when driver_attach failed
  test_firmware: fix end of loop test in upload_read_show()
  driver core: location: Add "back" as a possible output for panel
  driver core: location: Free struct acpi_pld_info *pld
  driver core: Add "*" wildcard support to driver_async_probe cmdline param
  driver core: location: Check for allocations failure
  arch_topology: Trace the update thermal pressure
  kernfs: Rename kernfs_put_open_node to kernfs_unlink_open_file.
  export: fix string handling of namespace in EXPORT_SYMBOL_NS
  rpmsg: use local 'dev' variable
  rpmsg: Fix calling device_lock() on non-initialized device
  firmware_loader: describe 'module' parameter of firmware_upload_register()
  firmware_loader: Move definitions from sysfs_upload.h to sysfs.h
  firmware_loader: Fix configs for sysfs split
  selftests: firmware: Add firmware upload selftests
  ...

22 files changed:
1  2 
Documentation/admin-guide/kernel-parameters.txt
MAINTAINERS
drivers/amba/bus.c
drivers/base/core.c
drivers/base/dd.c
drivers/base/firmware_loader/main.c
drivers/base/platform.c
drivers/bus/fsl-mc/fsl-mc-bus.c
drivers/clk/imx/clk-scu.c
drivers/hv/vmbus_drv.c
drivers/slimbus/qcom-ngd-ctrl.c
drivers/spi/spi.c
drivers/vdpa/vdpa.c
include/linux/amba/bus.h
include/linux/device.h
include/linux/export.h
include/linux/fsl/mc.h
include/linux/hyperv.h
include/linux/pci.h
include/linux/platform_device.h
include/linux/spi/spi.h
include/linux/vdpa.h

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 15af802d41c4c407833fc92110c9ad00aee6acab,c0a5083632ab514a39c0d9ff8ad248f137622b80..4700a88a28f6c70a89f5d21ca7597936d4019f3e
@@@ -64,13 -64,13 +64,15 @@@ struct vdpa_mgmt_dev
   * struct vdpa_device - representation of a vDPA device
   * @dev: underlying device
   * @dma_dev: the actual device that is performing DMA
-  * @driver_override: driver name to force a match
+  * @driver_override: driver name to force a match; do not set directly,
+  *                   because core frees it; use driver_set_override() to
+  *                   set or clear it.
   * @config: the configuration ops for this device.
 - * @cf_mutex: Protects get and set access to configuration layout.
 + * @cf_lock: Protects get and set access to configuration layout.
   * @index: device index
   * @features_valid: were features initialized? for legacy guests
 + * @ngroups: the number of virtqueue groups
 + * @nas: the number of address spaces
   * @use_va: indicate whether virtual address must be used by this device
   * @nvqs: maximum number of supported virtqueues
   * @mdev: management device pointer; caller must setup when registering device as part