All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org
Cc: greg@kroah.com
Subject: [RFC] kobject and kset core changes and cleanups
Date: Fri, 2 Nov 2007 16:57:58 -0700	[thread overview]
Message-ID: <20071102235758.GA9803@kroah.com> (raw)


So, I go on vacation for a week or so and come back to an overflowing
inbox.  Instead of trying to wade through all of that, I decide to
finish up the work Kay and I had started on cleaning up the kset core
code.

Here's a large patch series that is in my tree and should be for 2.6.25.
It does quite a few things:
	- lots of struct kset work and cleanup.  It's much simpler now
	  and will be documented while I still remember what is going
	  one...
	- almost all (only 5 left) struct kset are dynamically created
	  with the new function call, kset_create_and_register().  This
	  fixes up a lot of issues with static kobjects in structures
	  and other messy things like that.
	- struct bus_type is now split into two, a static and a dynamic
	  part.  The dynamic part is under control of the driver core,
	  and handles the ksets.  The static part is under control of
	  the bus that defined it.
	- decl_subsys() is now gone and buried, good riddance
	- subsys_attribute is now gone and replaced with:
	- kobj_attribute is now availble to make attributes for kobjects
	  MUCH simpler than ever before.  I've cleaned up some portions
	  of the kernel, and all older users of subsys_attribute have
	  been fixed.  This takes away one of the biggest complaints
	  about dealing with "raw" kobjects.
	- firmware subsystem has been all but removed as it was
	  pointless.


I'm posting the patches here so that people can take a look at them and
not be surprised when they go in to 2.6.25 in a few months and show up
in the next -mm releases.

One note, the efivars sysfs file removal patch is incorrect, and I'll be
fixing that up properly, so Matt, don't worry, I haven't forgotten :)

And hey, with all this work, we ended up removing more code than we
added, always a very good thing.

Now, on to face that scary inbox...

thanks,

greg k-h

---------------

 Documentation/vm/slabinfo.c            |    2 +-
 Documentation/vm/slub.txt              |    2 +-
 arch/arm/mach-omap1/pm.c               |   23 ++---
 arch/powerpc/platforms/pseries/power.c |   33 ++---
 arch/s390/hypfs/inode.c                |   15 ++-
 arch/s390/kernel/ipl.c                 |  149 +++++++++++++----------
 block/genhd.c                          |    5 +-
 drivers/acpi/bus.c                     |   12 ++-
 drivers/acpi/system.c                  |    2 +-
 drivers/base/base.h                    |   32 +++++-
 drivers/base/bus.c                     |  142 +++++++++++++--------
 drivers/base/class.c                   |   27 +++--
 drivers/base/core.c                    |   24 ++--
 drivers/base/dd.c                      |    4 +-
 drivers/base/driver.c                  |    2 +-
 drivers/base/firmware.c                |   27 ++---
 drivers/base/hypervisor.c              |   14 ++-
 drivers/base/platform.c                |    4 +-
 drivers/base/power/shutdown.c          |    2 +-
 drivers/base/sys.c                     |   31 ++---
 drivers/edac/edac_mc_sysfs.c           |    2 +-
 drivers/firmware/edd.c                 |   15 ++-
 drivers/firmware/efivars.c             |  214 ++++---------------------------
 drivers/parisc/pdc_stable.c            |  186 ++++++++++++++--------------
 drivers/pci/hotplug/acpiphp_ibm.c      |    4 +-
 drivers/pci/hotplug/pci_hotplug_core.c |   22 ++--
 drivers/pci/hotplug/rpadlpar_sysfs.c   |    2 +-
 drivers/pci/probe.c                    |   11 +-
 drivers/uio/uio.c                      |    2 +-
 fs/configfs/mount.c                    |   14 +-
 fs/debugfs/inode.c                     |   14 +-
 fs/dlm/lockspace.c                     |   22 ++--
 fs/ecryptfs/main.c                     |  130 +++----------------
 fs/fuse/inode.c                        |   27 +++--
 fs/gfs2/locking/dlm/sysfs.c            |   24 ++--
 fs/gfs2/sys.c                          |   15 +--
 fs/namespace.c                         |   14 ++-
 fs/ocfs2/cluster/masklog.c             |    4 +-
 fs/ocfs2/cluster/sys.c                 |   83 +++---------
 fs/sysfs/file.c                        |   65 ++--------
 include/acpi/acpi_bus.h                |    2 +-
 include/linux/device.h                 |   21 +---
 include/linux/fs.h                     |    2 +-
 include/linux/kobject.h                |   76 ++++--------
 include/linux/module.h                 |    3 +-
 include/linux/pci_hotplug.h            |    2 +-
 include/linux/sched.h                  |    9 +-
 kernel/ksysfs.c                        |   83 ++++++++-----
 kernel/module.c                        |    6 +-
 kernel/params.c                        |   26 ++---
 kernel/power/disk.c                    |   20 ++-
 kernel/power/main.c                    |   24 ++--
 kernel/power/power.h                   |    4 +-
 kernel/user.c                          |  104 ++++++++--------
 lib/kobject.c                          |  129 +++++++++++++++++---
 mm/slub.c                              |   20 ++--
 security/inode.c                       |   12 +-
 57 files changed, 900 insertions(+), 1065 deletions(-)

---------------

Greg Kroah-Hartman (50):
      ecryptfs: clean up attribute mess
      KOBJECT: remove struct kobj_type from struct kset
      KOBJECT: remove kobj_set_kset_s as no one is using it anymore
      kset: add kset_create_and_register function
      kset: convert fuse to use kset_create
      kset: convert securityfs to use kset_create
      kset: convert debugfs to use kset_create
      kset: convert configfs to use kset_create
      kset: convert ecryptfs to use kset_create
      kset: convert main fs kset to use kset_create
      kset: convert gfs2 to use kset_create
      kset: convert gfs2 dlm to use kset_create
      kset: convert dlm to use kset_create
      kset: convert pci hotplug to use kset_create_and_register
      kset: remove decl_subsys_name
      kset: convert kernel_subsys to use kset_create
      kset: convert drivers/base/bus.c kset_create_and_register
      kset: convert drivers/base/class.c kset_create_and_register
      kset: convert drivers/base/firmware.c kset_create_and_register
      kset: convert /sys/devices to use kset_create
      kset: convert /sys/hypervisor to use kset_create
      kset: convert /sys/devices/system to use kset_create
      kset: convert slub to use kset_create
      kset: move /sys/slab to /sys/kernel/slab
      kset: convert /sys/module to use kset_create
      kset: convert /sys/power to use kset_create
      kset: convert s390 hypervisor kset to use kset_create
      kset: convert struct bus_device->devices to use kset_create
      kset: convert struct bus_device->drivers to use kset_create
      driver core: remove owner field from struct bus_type
      driver core: add way to get to bus kset
      driver core: add way to get to bus device klist
      driver core: remove fields from struct bus_type
      ecryptfs: remove version_str file from sysfs
      efivars: remove new_var and del_var files from sysfs
      kobject: convert efivars to kobj_attr interface
      firmware: export firmware_kset so that people can use that instead of the braindead firmware_register interface
      kset: convert efivars to use kset_create for the efi subsystem.
      kset: convert efivars to use kset_create for the vars sub-subsystem.
      kobject: convert arm/mach-omap1/pm.c to kobj_attr interface
      kobject: convert pseries/power.c to kobj_attr interface
      kobject: convert s390 ipl.c to kobj_attr interface
      kset: convert s390 ipl.c to use kset_create
      kobject: convert parisc/pdc_stable to kobj_attr interface
      kset: convert parisc/pdc_stable.c to use kset_create
      kset: convert edd to use kset_create
      kset: convert acpi to use kset_create
      firmware: remove firmware_(un)register()
      kset: convert ocfs2 to use kset_create
      kset: remove decl_subsys macro

Kay Sievers (4):
      Driver Core: add kobj_attribute handling
      Driver Core: switch all dynamic ksets to kobj_sysfs_ops
      fix struct user_info export's sysfs interaction
      Driver Core: kill subsys_attribute and default sysfs ops


             reply	other threads:[~2007-11-02 23:58 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-02 23:57 Greg KH [this message]
2007-11-02 23:58 ` [PATCH 01/54] ecryptfs: clean up attribute mess Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 02/54] KOBJECT: remove struct kobj_type from struct kset Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 03/54] KOBJECT: remove kobj_set_kset_s as no one is using it anymore Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 04/54] kset: add kset_create_and_register function Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 05/54] kset: convert fuse to use kset_create Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 06/54] kset: convert securityfs " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 07/54] kset: convert debugfs " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 08/54] kset: convert configfs " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 09/54] kset: convert ecryptfs " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 10/54] kset: convert main fs kset " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 11/54] kset: convert gfs2 " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 12/54] kset: convert gfs2 dlm " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 13/54] kset: convert " Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 14/54] kset: convert pci hotplug to use kset_create_and_register Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 15/54] kset: remove decl_subsys_name Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 16/54] kset: convert kernel_subsys to use kset_create Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 17/54] kset: convert drivers/base/bus.c kset_create_and_register Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 18/54] kset: convert drivers/base/class.c kset_create_and_register Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 19/54] kset: convert drivers/base/firmware.c kset_create_and_register Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 20/54] kset: convert /sys/devices to use kset_create Greg Kroah-Hartman
2007-11-02 23:58 ` [PATCH 21/54] kset: convert /sys/hypervisor " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 22/54] kset: convert /sys/devices/system " Greg Kroah-Hartman
2007-11-05 18:11   ` Cornelia Huck
2007-11-05 18:58     ` Greg KH
2007-11-05 19:11       ` Cornelia Huck
2007-11-05 20:03         ` Greg KH
2007-11-13 23:14           ` Andrew Morton
2007-11-14  0:01             ` Andrew Morton
2007-11-14  0:35               ` Greg KH
2007-11-14  7:35                 ` Andrew Morton
2007-11-02 23:59 ` [PATCH 23/54] kset: convert slub " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 24/54] kset: move /sys/slab to /sys/kernel/slab Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 25/54] kset: convert /sys/module to use kset_create Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 26/54] kset: convert /sys/power " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 27/54] kset: convert s390 hypervisor kset " Greg Kroah-Hartman
2007-11-05 13:18   ` Cornelia Huck
2007-11-05 17:06     ` Greg KH
2007-11-02 23:59 ` [PATCH 28/54] kset: convert struct bus_device->devices " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 29/54] kset: convert struct bus_device->drivers " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 30/54] driver core: remove owner field from struct bus_type Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 31/54] driver core: add way to get to bus kset Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 32/54] driver core: add way to get to bus device klist Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 33/54] driver core: remove fields from struct bus_type Greg Kroah-Hartman
2007-11-05 10:33   ` Cornelia Huck
2007-11-05 17:00     ` Greg KH
2007-11-02 23:59 ` [PATCH 34/54] Driver Core: add kobj_attribute handling Greg Kroah-Hartman
2007-11-05 12:42   ` Cornelia Huck
2007-11-05 16:23     ` Kay Sievers
2007-11-05 17:11       ` Greg KH
2007-11-05 17:25         ` Kay Sievers
2007-11-05 17:43           ` Cornelia Huck
2007-11-05 18:07             ` Kay Sievers
2007-11-05 18:17               ` Cornelia Huck
2007-11-05 18:39                 ` Kay Sievers
2007-11-05 18:46                   ` Greg KH
2007-11-05 18:59                   ` Cornelia Huck
2007-11-05 20:01                     ` Greg KH
2007-11-02 23:59 ` [PATCH 35/54] Driver Core: switch all dynamic ksets to kobj_sysfs_ops Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 36/54] fix struct user_info export's sysfs interaction Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 37/54] ecryptfs: remove version_str file from sysfs Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 38/54] efivars: remove new_var and del_var files " Greg Kroah-Hartman
2007-11-16 15:01   ` Matt Domsch
2007-11-27  5:47     ` Greg KH
2007-11-02 23:59 ` [PATCH 39/54] kobject: convert efivars to kobj_attr interface Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 40/54] firmware: export firmware_kset so that people can use that instead of the braindead firmware_register interface Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 41/54] kset: convert efivars to use kset_create for the efi subsystem Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 42/54] kset: convert efivars to use kset_create for the vars sub-subsystem Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 43/54] kobject: convert arm/mach-omap1/pm.c to kobj_attr interface Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 44/54] kobject: convert pseries/power.c " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 45/54] kobject: convert s390 ipl.c " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 46/54] kset: convert s390 ipl.c to use kset_create Greg Kroah-Hartman
2007-11-05 10:27   ` Cornelia Huck
2007-11-05 17:05     ` Greg KH
2007-11-02 23:59 ` [PATCH 47/54] kobject: convert parisc/pdc_stable to kobj_attr interface Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 48/54] kset: convert parisc/pdc_stable.c to use kset_create Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 49/54] Driver Core: kill subsys_attribute and default sysfs ops Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 50/54] kset: convert edd to use kset_create Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 51/54] kset: convert acpi " Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 52/54] firmware: remove firmware_(un)register() Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 53/54] kset: convert ocfs2 to use kset_create Greg Kroah-Hartman
2007-11-02 23:59 ` [PATCH 54/54] kset: remove decl_subsys macro Greg Kroah-Hartman
2007-11-06  6:25 ` [RFC] kobject and kset core changes and cleanups Andrew Morton
2007-11-06  7:11 ` Andrew Morton
2007-11-06  8:14   ` Stephane Eranian
2007-11-06 21:15     ` Greg KH
2007-11-06 21:33       ` Stephane Eranian
2007-11-06  8:04 ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071102235758.GA9803@kroah.com \
    --to=gregkh@suse.de \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.