linux/drivers/char
Linus Torvalds 02897f5e56 Restructure the IPMI driver for 6.16
This is a restructure of the IPMI driver, mostly to remove SRCU.  The
 locking had issues, and they were not going to be straightforward to
 fix.  Plus it used tons of memory and was generally a pain.
 
 Most of this moves handling of messages out of bh and interrupt context
 and runs it in thread context.  Then getting rid of SRCU is easy.
 
 This also has a minor cleanup to remove a warning on newer GCCs and to
 fix some documentation.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE/Q1c5nzg9ZpmiCaGYfOMkJGb/4EFAmg4t4YACgkQYfOMkJGb
 /4FO9hAAlzLGbSnskRPng8WTMrq9lf2LkpJcJrNrn9Q5eZLlDIYgTHO84fqwQc9e
 UN4sYHmqAxQgr9SCSU2z8jiMH8vABmuatWTFx7X5oYfBTjmM022cY89gihyDAaeS
 V3uO7nLJJkkRSGh/Wbpa+XgJfii+27kizy7SB8sySSHU82AJC9Sy7HJeO8H0+tH8
 06uKGw/6GgABVoTFCwgOxfibJKE6EZQPHVUD1HmEQBNcLBAruZ0QdQFn3ODZPt/6
 qZqzggvB4c7+7xUdPhfXKN3AvGnSkcq9wKzMVO3eiKZx7jFr1a+vqLYFIhnCOJ6l
 XKGV14XtCL5oI+9DkZcYAd/3NbHbLofzTH8G0TUqNUzZ0hoKq93Hb2y500rZPFzx
 RhT3BtxzLZQFmDj7mO2Mv+cRCZJ1EOv0nbUI7B7t3tXEzbR6oz3wspUGy1R/g2O4
 Cgpg/ePmTWSUYaQbQqlozFdOAB7DdRvoRu6X4YIQW7t6vQhZ8r0ojfKLm1I9FWoH
 PIl8XZa8jYNZw2N2bneboINSdhcYXOCSZPDLzgTWUqUu83naUPltrTwr8IMLBO8f
 zvFJda4Z66mDtdon02H0SWq4ihbfb1LZpmL7DsgL09fL2gEnuGjRvalNHDtn1h62
 TZ7/vq3U8WoSanT0K9ltH9xBDTpnturpRidssUePm5Xn9sY+fdw=
 =e8Rg
 -----END PGP SIGNATURE-----

Merge tag 'for-linus-6.16-1' of https://github.com/cminyard/linux-ipmi

Pull IPMI updates from Corey Minyard:
 "Restructure the IPMI driver.

  This is a restructure of the IPMI driver, mostly to remove SRCU. The
  locking had issues, and they were not going to be straightforward to
  fix. Plus it used tons of memory and was generally a pain.

  Most of this moves handling of messages out of bh and interrupt
  context and runs it in thread context. Then getting rid of SRCU is
  easy.

  This also has a minor cleanup to remove a warning on newer GCCs and to
  fix some documentation"

* tag 'for-linus-6.16-1' of https://github.com/cminyard/linux-ipmi: (26 commits)
  docs: ipmi: fix spelling and grammar mistakes
  ipmi:msghandler: Fix potential memory corruption in ipmi_create_user()
  ipmi:watchdog: Use the new interface for panic messages
  ipmi:msghandler: Export and fix panic messaging capability
  Documentation:ipmi: Remove comments about interrupt level
  ipmi:ssif: Fix a shutdown race
  ipmi:msghandler: Don't deliver messages to deleted users
  ipmi:si: Rework startup of IPMI devices
  ipmi:msghandler: Add a error return from unhandle LAN cmds
  ipmi:msghandler: Shut down lower layer first at unregister
  ipmi:msghandler: Remove proc_fs.h
  ipmi:msghandler: Don't check for shutdown when returning responses
  ipmi:msghandler: Don't acquire a user refcount for queued messages
  ipmi:msghandler: Fix locking around users and interfaces
  ipmi:msghandler: Remove some user level processing in panic mode
  ipmi: Add a note about the pretimeout callback
  ipmi:watchdog: Change lock to mutex
  ipmi:msghandler: Remove srcu for the ipmi_interfaces list
  ipmi:msghandler: Remove srcu from the ipmi user structure
  ipmi:msghandler: Use the system_wq, not system_bh_wq
  ...
2025-05-29 21:37:11 -07:00
..
agp drm for 6.16-rc1 2025-05-28 09:46:39 -07:00
hw_random hwrng: rockchip - add support for RK3576's RNG 2025-05-05 18:20:45 +08:00
ipmi ipmi:msghandler: Fix potential memory corruption in ipmi_create_user() 2025-05-07 17:25:48 -05:00
mwave char/mwave: Adjust io port register size 2021-12-03 14:27:06 +01:00
tpm Add a virtual TPM driver glue which allows a guest kernel to talk to a TPM 2025-05-27 10:21:04 -07:00
xilinx_hwicap char: Switch back to struct platform_driver::remove() 2024-11-05 05:33:47 +01:00
xillybus char: Switch back to struct platform_driver::remove() 2024-11-05 05:33:47 +01:00
adi.c vfs-6.12.file 2024-09-16 09:14:02 +02:00
apm-emulation.c apm-emulation: drop unexpected word "the" in the comments 2022-06-27 16:15:27 +02:00
applicom.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
applicom.h
bsr.c bsr: add missing MODULE_DESCRIPTION() macro 2024-07-03 16:40:53 +02:00
ds1620.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
dsp56k.c dsp56k: add missing MODULE_DESCRIPTION() macro 2024-07-03 16:40:26 +02:00
dtlk.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hangcheck-timer.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
hpet.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
Kconfig ACPI: EC: make EC support compile-time conditional 2024-10-24 17:47:15 +02:00
lp.c parport: Remove parport_driver.devmodel 2024-07-03 16:44:22 +02:00
Makefile arch: Remove Itanium (IA-64) architecture 2023-09-11 08:13:17 +00:00
mem.c x86/devmem: Remove duplicate range_is_allowed() definition 2025-05-01 09:43:48 -07:00
misc.c char: misc: register chrdev region with all possible minors 2025-04-15 16:22:15 +02:00
nsc_gpio.c
nvram.c char: add missing MODULE_DESCRIPTION() macros 2024-06-04 17:40:17 +02:00
nwbutton.c char: add missing NetWinder MODULE_DESCRIPTION() macros 2024-07-31 13:47:45 +02:00
nwbutton.h misc: cleanup minor number definitions in c file into miscdevice.h 2020-03-18 12:27:03 +01:00
nwflash.c char: add missing NetWinder MODULE_DESCRIPTION() macros 2024-07-31 13:47:45 +02:00
pc8736x_gpio.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
powernv-op-panel.c char: Switch back to struct platform_driver::remove() 2024-11-05 05:33:47 +01:00
ppdev.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
ps3flash.c powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11:00
random.c lib/ratelimit: Reduce false-positive and silent misses 2025-05-27 10:48:36 -07:00
scx200_gpio.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
sonypi.c sonypi: Use str_on_off() helper in sonypi_display_info() 2025-02-20 15:25:09 +01:00
tlclk.c treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
toshiba.c module: remove never implemented MODULE_SUPPORTED_DEVICE 2021-03-17 13:16:18 -07:00
ttyprintk.c char: add missing MODULE_DESCRIPTION() macros 2024-06-04 17:40:17 +02:00
uv_mmtimer.c
virtio_console.c virtio_console: fix order of fields cols and rows 2025-04-18 10:08:11 -04:00