linux-stable/drivers/staging
Greg Kroah-Hartman d69d804845 driver core: have match() callback in struct bus_type take a const *
In the match() callback, the struct device_driver * should not be
changed, so change the function callback to be a const *.  This is one
step of many towards making the driver core safe to have struct
device_driver in read-only memory.

Because the match() callback is in all busses, all busses are modified
to handle this properly.  This does entail switching some container_of()
calls to container_of_const() to properly handle the constant *.

For some busses, like PCI and USB and HV, the const * is cast away in
the match callback as those busses do want to modify those structures at
this point in time (they have a local lock in the driver structure.)
That will have to be changed in the future if they wish to have their
struct device * in read-only-memory.

Cc: Rafael J. Wysocki <rafael@kernel.org>
Reviewed-by: Alex Elder <elder@kernel.org>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Link: https://lore.kernel.org/r/2024070136-wrongdoer-busily-01e8@gregkh
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-03 15:16:54 +02:00
..
axis-fifo staging: axis-fifo: Fix indentation 2024-04-09 17:44:54 +02:00
fbtft Staging driver changes for 6.10-rc1 2024-05-22 12:11:48 -07:00
fieldbus driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
gdm724x staging: gdm724x: constantify the struct device_type usage 2024-02-17 17:30:35 +01:00
greybus driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
iio staging: iio: impedance-analyzer: ad5933: Use devm_regulator_get_enable_read_voltage() 2024-05-07 10:31:50 +09:00
ks7010 staging: ks7010: replace open-coded module_sdio_driver() 2024-04-09 17:45:14 +02:00
media The usual shower of singleton fixes and minor series all over MM, 2024-05-19 09:21:03 -07:00
most staging: Explicitly include correct DT includes 2023-07-27 10:01:07 +02:00
nvec staging: nvec: update TODO 2024-04-11 13:59:31 +02:00
octeon Staging: octeon: Match parenthesis alignment 2024-03-05 14:03:15 +00:00
olpc_dcon staging: olpc_dcon: Remove I2C_CLASS_DDC support 2023-10-27 13:10:05 +02:00
rtl8192e Staging: rtl8192e: Rename variable DssCCk 2024-05-04 18:41:02 +02:00
rtl8712 staging: rtl8712: rename backupTKIPCountermeasure to backup_TKIP_countermeasure 2024-03-26 09:26:50 +01:00
rtl8723bs Staging driver changes for 6.10-rc1 2024-05-22 12:11:48 -07:00
rts5208 Staging driver changes for 6.10-rc1 2024-05-22 12:11:48 -07:00
sm750fb video/nomodeset: Select nomodeset= parameter with CONFIG_VIDEO 2024-01-23 10:11:38 +01:00
vc04_services driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
vme_user driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
vt6655 staging: vt6655: remove redundant assignment to variable byData 2024-04-09 17:51:06 +02:00
vt6656 wifi: mac80211: introduce 'channel request' 2024-02-08 13:07:34 +01:00
Kconfig staging: pi433: Remove unused driver 2024-05-04 18:42:43 +02:00
Makefile staging: pi433: Remove unused driver 2024-05-04 18:42:43 +02:00