public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] driver core: class: allow struct class to be static
@ 2023-04-02 17:58 Greg Kroah-Hartman
  2023-04-02 17:58 ` [PATCH 1/5] driver core: class: mark class_release() as taking a const * Greg Kroah-Hartman
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Greg Kroah-Hartman @ 2023-04-02 17:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: rafael, Greg Kroah-Hartman

There's been a semi-slow drip of driver core struct class changes
recently, and here's the final bit to the core that makes it possible
for 'struct class' to be moved into read-only memory.  And as proof, the
last patch in the series does just that for the tty classes.

After this series, there's some tree-wide cleanups needed to move away
from the class_create() api back to class_register() to move the
structures into read-only memory.  The class_create() api was a good
idea when it was created (as struct class was a dynamic structure), but
that got changed a long time ago and that's not necessary anymore.  But
that can wait for after 6.4-rc1 is out as they can all go through the
different relevant subsystems if wanted.

All of these apply on top of my latest driver-core.git driver-core-next
branch (or linux-next), as they require the current set of struct class
and struct bus_type reworks and have been tested locally (I'm typing
this and will send them out on a kernel running these changes).

Greg Kroah-Hartman (5):
  driver core: class: mark class_release() as taking a const *
  driver core: class: make class_register() take a const *
  driver core: class: mark the struct class in struct class_interface
    constant
  driver core: class: remove struct class_interface * from callbacks
  tty: make tty_class a static const structure

 drivers/base/base.h                      |  2 +-
 drivers/base/class.c                     | 14 +++++++-------
 drivers/base/core.c                      | 10 ++++------
 drivers/hwmon/drivetemp.c                |  4 ++--
 drivers/net/rionet.c                     |  3 +--
 drivers/ntb/hw/mscc/ntb_hw_switchtec.c   |  6 ++----
 drivers/pcmcia/cs.c                      |  2 +-
 drivers/pcmcia/ds.c                      |  6 ++----
 drivers/pcmcia/rsrc_nonstatic.c          |  6 ++----
 drivers/rapidio/devices/rio_mport_cdev.c |  7 ++-----
 drivers/rapidio/rio_cm.c                 |  8 ++------
 drivers/scsi/ses.c                       |  6 ++----
 drivers/scsi/sg.c                        |  8 ++++----
 drivers/tty/pty.c                        |  2 +-
 drivers/tty/tty_io.c                     | 24 +++++++++++-------------
 drivers/tty/vt/vt.c                      |  2 +-
 include/linux/device/class.h             | 10 +++++-----
 include/linux/tty.h                      |  2 +-
 kernel/time/alarmtimer.c                 |  3 +--
 19 files changed, 52 insertions(+), 73 deletions(-)

-- 
2.40.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2023-04-04 13:59 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-02 17:58 [PATCH 0/5] driver core: class: allow struct class to be static Greg Kroah-Hartman
2023-04-02 17:58 ` [PATCH 1/5] driver core: class: mark class_release() as taking a const * Greg Kroah-Hartman
2023-04-03 17:55   ` Rafael J. Wysocki
2023-04-02 17:58 ` [PATCH 2/5] driver core: class: make class_register() take " Greg Kroah-Hartman
2023-04-03 17:57   ` Rafael J. Wysocki
2023-04-02 17:58 ` [PATCH 3/5] driver core: class: mark the struct class in struct class_interface constant Greg Kroah-Hartman
2023-04-03 17:57   ` Rafael J. Wysocki
2023-04-02 17:58 ` [PATCH 4/5] driver core: class: remove struct class_interface * from callbacks Greg Kroah-Hartman
2023-04-03 15:43   ` Logan Gunthorpe
2023-04-03 17:59   ` Rafael J. Wysocki
2023-04-04 13:57   ` Guenter Roeck
2023-04-02 17:58 ` [PATCH 5/5] tty: make tty_class a static const structure Greg Kroah-Hartman
2023-04-03  5:47   ` Jiri Slaby

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox