11 years agodriver core: fix build with SYSFS=n
Randy Dunlap [Mon, 31 Dec 2007 18:05:43 +0000]
driver core: fix build with SYSFS=n

When SYSFS=n and MODULES=y, build ends with:

linux-2.6.24-rc6-mm1/drivers/base/module.c: In function 'module_add_driver':
linux-2.6.24-rc6-mm1/drivers/base/module.c:49: error: 'module_kset' undeclared (first use in this function)
make[3]: *** [drivers/base/module.o] Error 1

Below is one possible fix.
Build-tested with all 4 config combinations of SYSFS & MODULES.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agosysfs: make SYSFS_DEPRECATED depend on SYSFS
Randy Dunlap [Mon, 31 Dec 2007 18:05:34 +0000]
sysfs: make SYSFS_DEPRECATED depend on SYSFS

Make SYSFS_DEPRECATED depend on SYSFS since files that check
CONFIG_SYSFS_DEPRECATED don't check for CONFIG_SYSFS first.
Also don't prompt user about SYSFS_DEPRECATED if SYSFS=n.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoDriver core: use LIST_HEAD instead of call to INIT_LIST_HEAD in __init
Denis Cheng [Wed, 5 Dec 2007 18:24:40 +0000]
Driver core: use LIST_HEAD instead of call to INIT_LIST_HEAD in __init

LIST_HEAD has been widely used, so switch to this simpler method.

Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: add sample code for how to use ksets/ktypes/kobjects
Greg Kroah-Hartman [Tue, 27 Nov 2007 19:28:26 +0000]
kobject: add sample code for how to use ksets/ktypes/kobjects

This is a more complex example showing how to create a kset and a ktype
and some default attributes for a group of kobjects.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: add sample code for how to use kobjects in a simple manner.
Greg Kroah-Hartman [Tue, 27 Nov 2007 19:28:26 +0000]
kobject: add sample code for how to use kobjects in a simple manner.

This is a simple kobject module, showing how to use kobj_attributes in
basic and more complex ways.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: update the kobject/kset documentation
Greg Kroah-Hartman [Tue, 27 Nov 2007 19:28:26 +0000]
kobject: update the kobject/kset documentation

This provides a much-needed kobject and kset documentation update.

Thanks to Kay Sievers, Alan Stern, Jonathan Corbet, Randy Dunlap, Jan
Engelhardt, and others for reviewing and providing help with this
document.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: remove old, outdated documentation.
Greg Kroah-Hartman [Tue, 27 Nov 2007 19:28:26 +0000]
kobject: remove old, outdated documentation.

As we are replacing the documentation, it's easier to do this in a two
stage pass, delete the old file and add the new one.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoDriver core: change sysdev classes to use dynamic kobject names
Kay Sievers [Thu, 20 Dec 2007 01:09:39 +0000]
Driver core: change sysdev classes to use dynamic kobject names

All kobjects require a dynamically allocated name now. We no longer
need to keep track if the name is statically assigned, we can just
unconditionally free() all kobject names on cleanup.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: remove kobject_unregister() as no one uses it anymore
Greg Kroah-Hartman [Thu, 20 Dec 2007 16:13:05 +0000]
Kobject: remove kobject_unregister() as no one uses it anymore

There are no in-kernel users of kobject_unregister() so it should be
removed.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert remaining kobject_unregister() to kobject_put()
Greg Kroah-Hartman [Thu, 20 Dec 2007 16:13:05 +0000]
Kobject: convert remaining kobject_unregister() to kobject_put()

There is no need for kobject_unregister() anymore, thanks to Kay's
kobject cleanup changes, so replace all instances of it with
kobject_put().

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert fs/* from kobject_unregister() to kobject_put()
Greg Kroah-Hartman [Thu, 20 Dec 2007 16:13:05 +0000]
Kobject: convert fs/* from kobject_unregister() to kobject_put()

There is no need for kobject_unregister() anymore, thanks to Kay's
kobject cleanup changes, so replace all instances of it with
kobject_put().

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert drivers/* from kobject_unregister() to kobject_put()
Greg Kroah-Hartman [Thu, 20 Dec 2007 16:13:05 +0000]
Kobject: convert drivers/* from kobject_unregister() to kobject_put()

There is no need for kobject_unregister() anymore, thanks to Kay's
kobject cleanup changes, so replace all instances of it with
kobject_put().

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert arch/* from kobject_unregister() to kobject_put()
Greg Kroah-Hartman [Thu, 20 Dec 2007 16:13:05 +0000]
Kobject: convert arch/* from kobject_unregister() to kobject_put()

There is no need for kobject_unregister() anymore, thanks to Kay's
kobject cleanup changes, so replace all instances of it with
kobject_put().

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoModules: remove unneeded release function
Greg Kroah-Hartman [Sun, 23 Dec 2007 05:18:25 +0000]
Modules: remove unneeded release function

Now that kobjects properly clean up their name structures, no matter if
they have a release function or not, we can drop this empty module
kobject release function too (it was needed prior to this because of the
way we handled static kobject names, we based the fact that if a release
function was present, then we could safely free the name string, now we
are more smart about things and only free names we have previously set.)

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: auto-cleanup on final unref
Kay Sievers [Wed, 19 Dec 2007 00:40:42 +0000]
Kobject: auto-cleanup on final unref

We save the current state in the object itself, so we can do proper
cleanup when the last reference is dropped.

If the initial reference is dropped, the object will be removed from
sysfs if needed, if an "add" event was sent, "remove" will be send, and
the allocated resources are released.

This allows us to clean up some driver core usage as well as allowing us
to do other such changes to the rest of the kernel.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKset: remove kset_add function
Greg Kroah-Hartman [Tue, 9 Apr 2002 19:14:34 +0000]
Kset: remove kset_add function

No one is calling this anymore, so just remove it and hard-code the one
internal-use of it.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: remove kobject_register()
Greg Kroah-Hartman [Wed, 19 Dec 2007 19:26:50 +0000]
Kobject: remove kobject_register()

The function is no longer used by anyone in the kernel, and it prevents
the proper sending of the kobject uevent after the needed files are set
up by the caller.  kobject_init_and_add() can be used in its place.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: rename kobject_init_ng() to kobject_init()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: rename kobject_init_ng() to kobject_init()

Now that the old kobject_init() function is gone, rename
kobject_init_ng() to kobject_init() to clean up the namespace.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: remove kobject_init() as no one uses it anymore
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: remove kobject_init() as no one uses it anymore

The old kobject_init() function is on longer in use, so let us remove it
from the public scope (kset mess in the kobject.c file still uses it,
but that can be cleaned up later very simply.)

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: rename kobject_add_ng() to kobject_add()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: rename kobject_add_ng() to kobject_add()

Now that the old kobject_add() function is gone, rename kobject_add_ng()
to kobject_add() to clean up the namespace.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: remove kobject_add() as no one uses it anymore
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: remove kobject_add() as no one uses it anymore

The old kobject_add() function is on longer in use, so let us remove it
from the public scope (kset mess in the kobject.c file still uses it,
but that can be cleaned up later very simply.)

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert kernel/module.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert kernel/module.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert drivers/md/md.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert drivers/md/md.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Neil Brown <neilb@suse.de>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert block/ll_rw_blk.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert block/ll_rw_blk.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Jens Axboe <axboe@kernel.dk>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert block/elevator.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert block/elevator.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Jens Axboe <axboe@kernel.dk>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoDriver core: convert block from raw kobjects to core devices
Kay Sievers [Mon, 21 May 2007 20:08:01 +0000]
Driver core: convert block from raw kobjects to core devices

This moves the block devices to /sys/class/block. It will create a
flat list of all block devices, with the disks and partitions in one
directory. For compatibility /sys/block is created and contains symlinks
to the disks.

  /sys/class/block
  |-- sda -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
  |-- sda1 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1
  |-- sda10 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda10
  |-- sda5 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda5
  |-- sda6 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6
  |-- sda7 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda7
  |-- sda8 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda8
  |-- sda9 -> ../../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda9
  `-- sr0 -> ../../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0

  /sys/block/
  |-- sda -> ../devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
  `-- sr0 -> ../devices/pci0000:00/0000:00:1f.2/host1/target1:0:0/1:0:0:0/block/sr0

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: drop child->parent ref at unregistration
Alan Stern [Mon, 19 Nov 2007 15:53:40 +0000]
Kobject: drop child->parent ref at unregistration

This patch (as1015) reverts changes that were made to the driver core
about four years ago.  The intent back then was to avoid certain kinds
of invalid memory accesses by leaving kernel objects allocated as long
as any of their children were still allocated.  The original and
correct approach was to wait only as long as any children were still
_registered_; that's what this patch reinstates.

This fixes a problem in the SCSI core made visible by the class_device
to regular device conversion: A reference loop (scsi_device holds
reference to request_queue, which is the child of a gendisk, which is
the child of the scsi_device) prevents the data structures from being
released, even though they are deregistered okay.

It's possible that this change will cause a few bugs to surface,
things that have been hidden for several years.  They can be fixed
easily enough by having the child device take an explicit reference to
the parent whenever needed.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agosysfs: fix /sys/module/*/holders after sysfs logic change
Kay Sievers [Thu, 29 Nov 2007 22:46:11 +0000]
sysfs: fix /sys/module/*/holders after sysfs logic change

Sysfs symlinks now require fully registered kobjects as a target,
otherwise the call to create a symlink will fail. Here we register
the kobject before we request the symlink in the holders directory.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Cc: Tejun Heo <teheo@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoDriver core: fix class glue dir cleanup logic
Kay Sievers [Wed, 21 Nov 2007 16:29:15 +0000]
Driver core: fix class glue dir cleanup logic

We should remove the glue directory between the class and the bus
device _after_ we sent out the 'remove' event for the device, otherwise
the parent relationship is no longer valid, and composing the path
with deleted sysfs entries will not work.

Cc: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoDriver core: fix race in __device_release_driver
Alan Stern [Fri, 16 Nov 2007 16:57:28 +0000]
Driver core: fix race in __device_release_driver

This patch (as1013) was suggested by David Woodhouse; it fixes a race
in the driver core.  If a device is unregistered at the same time as
its driver is unloaded, the driver's code pages may be unmapped while
the remove method is still running.  The calls to get_driver() and
put_driver() were intended to prevent this, but they don't work if the
driver's module count has already dropped to 0.

Instead, the patch keeps the device on the driver's list until after
the remove method has returned.  This forces the necessary
synchronization to occur.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/base/bus to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/base/bus to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoDriver core: clean up debugging messages
Greg Kroah-Hartman [Thu, 29 Nov 2007 07:49:41 +0000]
Driver core: clean up debugging messages

The driver core debugging messages are a mess.  This provides a unified
message that makes them actually useful.

The format for new kobject debug messages should be:
driver/bus/class: 'OBJECT_NAME': FUNCTION_NAME: message.\n

Note, the class code is not changed in this patch due to pending patches
in my queue that this would conflict with.  A later patch will clean
them up.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoDriver core: move the static kobject out of struct driver
Greg Kroah-Hartman [Wed, 28 Nov 2007 23:59:15 +0000]
Driver core: move the static kobject out of struct driver

This patch removes the kobject, and a few other driver-core-only fields
out of struct driver and into the driver core only.  Now drivers can be
safely create on the stack or statically (like they currently are.)

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoDriver core: move the driver specific module code into the driver core
Greg Kroah-Hartman [Wed, 28 Nov 2007 20:23:18 +0000]
Driver core: move the driver specific module code into the driver core

The module driver specific code should belong in the driver core, not in
the kernel/ directory.  So move this code.  This is done in preparation
for some struct device_driver rework that should be confined to the
driver core code only.

This also lets us keep from exporting these functions, as no external
code should ever be calling it.

Thanks to Andrew Morton for the !CONFIG_MODULES fix.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoDriver: add driver_add_kobj for looney iseries_veth driver
Greg Kroah-Hartman [Wed, 19 Dec 2007 19:54:39 +0000]
Driver: add driver_add_kobj for looney iseries_veth driver

The iseries driver wants to hang kobjects off of its driver, so, to
preserve backwards compatibility, we need to add a call to the driver
core to allow future changes to work properly.

Hopefully no one uses this function in the future and the iseries_veth
driver authors come to their senses so I can remove this hack...

Cc: Dave Larson <larson1@us.ibm.com>
Cc: Santiago Leon <santil@us.ibm.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoInfiniband: make ipath driver use default driver groups.
Greg Kroah-Hartman [Wed, 5 Dec 2007 06:53:16 +0000]
Infiniband: make ipath driver use default driver groups.

Make the ipath driver use the new driver functions so that it does not
touch the sysfs portion of the driver structure.

We also remove the redundant symlink from the device back to the driver,
as it is already in the sysfs tree.  Any userspace tools should be using
the standard symlink, not some driver specific one.

Cc: Roland Dreier <rdreier@cisco.com>
Cc: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Cc: Arthur Jones <arthur.jones@qlogic.com>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agozfcp: Use device_driver default attribute groups.
Cornelia Huck [Wed, 5 Dec 2007 11:50:31 +0000]
zfcp: Use device_driver default attribute groups.

CC: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agonetiucv: Use device_driver default attribute groups.
Cornelia Huck [Wed, 5 Dec 2007 11:50:28 +0000]
netiucv: Use device_driver default attribute groups.

CC: Ursula Braun <ubraun@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agodriver core: Introduce default attribute groups.
Cornelia Huck [Wed, 5 Dec 2007 11:50:23 +0000]
driver core: Introduce default attribute groups.

This is lot like default attributes for devices (and indeed,
a lot of the code is lifted from there).

Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoPCI: remove foolish code from pci-driver.c
Greg Kroah-Hartman [Wed, 28 Nov 2007 20:23:18 +0000]
PCI: remove foolish code from pci-driver.c

The PCI bus should not be trying to declare its own attribute type.
Especially as this code could never ever be called because the driver
core overwrites the driver kobject type to be its own internal type.
Delete all of this code as it was never being used and is not correct.

Also update my copyright on the file while I'm touching things there.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoPCI: use proper call to driver_create_file
Greg Kroah-Hartman [Wed, 28 Nov 2007 20:23:18 +0000]
PCI: use proper call to driver_create_file

Don't try to call the "raw" sysfs_create_file when we already have a
helper function to do this kind of work for us.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoPCMCIA: use proper call to driver_create_file
Greg Kroah-Hartman [Wed, 28 Nov 2007 20:23:18 +0000]
PCMCIA: use proper call to driver_create_file

Don't try to call the "raw" sysfs_create_file when we already have a
helper function to do this kind of work for us.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoUSB: use proper call to driver_create_file
Greg Kroah-Hartman [Wed, 28 Nov 2007 20:23:18 +0000]
USB: use proper call to driver_create_file

Don't try to call the "raw" sysfs_create_file when we already have a
helper function to do this kind of work for us.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agodriver core: remove fields from struct bus_type
Greg Kroah-Hartman [Fri, 2 Nov 2007 02:41:16 +0000]
driver core: remove fields from struct bus_type

struct bus_type is static everywhere in the kernel.  This moves the
kobject in the structure out of it, and a bunch of other private only to
the driver core fields are now moved to a private structure.  This lets
us dynamically create the backing kobject properly and gives us the
chance to be able to document to users exactly how to use the struct
bus_type as there are no fields they can improperly access.

Thanks to Kay for the build fixes on this patch.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agodriver core: add way to get to bus device klist
Greg Kroah-Hartman [Fri, 2 Nov 2007 02:41:16 +0000]
driver core: add way to get to bus device klist

This allows an easier way to get to the device klist associated with a
struct bus_type (you have three to choose from...)  This will make it
easier to move these fields to be dynamic in a future patch.

The only user of this is the PCI core which horribly abuses this
interface to rearrange the order of the pci devices.  This should be
done using the existing bus device walking functions, but that's left
for future patches.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agodriver core: add way to get to bus kset
Greg Kroah-Hartman [Fri, 2 Nov 2007 02:41:16 +0000]
driver core: add way to get to bus kset

This allows an easier way to get to the kset associated with a struct
bus_type (you have three to choose from...)  This will make it easier to
move these fields to be dynamic in a future patch.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agodriver core: remove owner field from struct bus_type
Greg Kroah-Hartman [Thu, 1 Nov 2007 20:31:26 +0000]
driver core: remove owner field from struct bus_type

This isn't used by anything in the driver core, and by no one in the 204
different usages of it in the kernel tree.  Remove this field so no one
gets any idea that it is needed to be used.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert net/bridge/br_if.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert net/bridge/br_if.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert mm/slub.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert mm/slub.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Christoph Lameter <clameter@sgi.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert kernel/user.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert kernel/user.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert kernel/params.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert kernel/params.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert fs/char_dev.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert fs/char_dev.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert drivers/net/iseries_veth.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert drivers/net/iseries_veth.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Kyle A. Lucke <klucke@us.ibm.com>
Cc: David Gibson <dwg@au1.ibm.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert drivers/base/core.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert drivers/base/core.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: convert drivers/base/class.c to use kobject_init/add_ng()
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: convert drivers/base/class.c to use kobject_init/add_ng()

This converts the code to use the new kobject functions, cleaning up the
logic in doing so.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: the cris iop_fw_load.c code is broken
Greg Kroah-Hartman [Tue, 18 Dec 2007 06:05:35 +0000]
Kobject: the cris iop_fw_load.c code is broken

This code is really really really broken.  So much so that it's almost
impossible to fix with a simple patch, so just comment out the offending
registration with the kobject core, and mark the driver as broken.

The problem is that the code is trying to register a "raw" struct
device, which is not allowed.  struct device is only for use within the
driver model.  This is being done to try to use the firmware layer which
wants a struct device.  To properly fix this, use something easy, like a
platform device, which is a struct device and can be used for this kind
of thing.

Cc: Mikael Starvik <starvik@axis.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change arch/x86/kernel/cpu/mcheck/mce_amd_64.c to use kobject_init_and_add
Greg Kroah-Hartman [Wed, 19 Dec 2007 17:23:20 +0000]
Kobject: change arch/x86/kernel/cpu/mcheck/mce_amd_64.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Jacob Shin <jacob.shin@amd.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change arch/x86/kernel/cpu/mcheck/mce_amd_64.c to use kobject_create_and_add
Greg Kroah-Hartman [Wed, 19 Dec 2007 17:23:20 +0000]
Kobject: change arch/x86/kernel/cpu/mcheck/mce_amd_64.c to use kobject_create_and_add

Make this kobject dynamic and convert it to not use kobject_register,
which is going away.

Cc: Jacob Shin <jacob.shin@amd.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/md/md.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/md/md.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Neil Brown <neilb@suse.de>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change arch/ia64/kernel/topology.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change arch/ia64/kernel/topology.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Tony Luck <tony.luck@intel.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/parisc/pdc_stable.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/parisc/pdc_stable.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Kyle McMartin <kyle@parisc-linux.org>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Grant Grundler <grundler@parisc-linux.org>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/net/ibmveth.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/net/ibmveth.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Dave Larson <larson1@us.ibm.com>
Cc: Santiago Leon <santil@us.ibm.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change arch/sh/kernel/cpu/sh4/sq.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change arch/sh/kernel/cpu/sh4/sq.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/block/pktcdvd.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/block/pktcdvd.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Jens Axboe <axboe@kernel.dk>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/acpi/system.c to use kobject_create_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/acpi/system.c to use kobject_create_and_add

Stop using kobject_register for this static kobject, as it's overkill.
This way is much simpler.

Cc: Len Brown <len.brown@intel.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change arch/x86/kernel/cpu/intel_cacheinfo.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change arch/x86/kernel/cpu/intel_cacheinfo.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/base/sys.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/base/sys.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/pci/hotplug/pci_hotplug_core.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/pci/hotplug/pci_hotplug_core.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/cpuidle/sysfs.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/cpuidle/sysfs.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Shaohua Li <shaohua.li@intel.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/edac to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/edac to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Acked-by: Doug Thompson <dougthompson@xmission.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/cpufreq/cpufreq.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/cpufreq/cpufreq.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Dominik Brodowski <linux@brodo.de>
Cc: Ashok Raj <ashok.raj@intel.com>
Cc: Jacob Shin <jacob.shin@amd.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/firmware/efivars.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/firmware/efivars.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Matt Domsch <Matt_Domsch@dell.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/firmware/edd.c to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/firmware/edd.c to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Matt Domsch <Matt_Domsch@dell.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change drivers/infiniband to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change drivers/infiniband to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Roland Dreier <rolandd@cisco.com>
Cc: Sean Hefty <mshefty@ichips.intel.com>
Cc: Hal Rosenstock <hal.rosenstock@gmail.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change GFS2 to use kobject_init_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change GFS2 to use kobject_init_and_add

Stop using kobject_register, as this way we can control the sending of
the uevent properly, after everything is properly initialized.

Cc: Steven Whitehouse <swhiteho@redhat.com>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoKobject: change net/bridge to use kobject_create_and_add
Greg Kroah-Hartman [Mon, 17 Dec 2007 19:54:39 +0000]
Kobject: change net/bridge to use kobject_create_and_add

The kobject in the bridge code is only used for registering with sysfs,
not for any lifespan rules.  This patch changes it to be only a pointer
and use the simpler api for this kind of thing.

Cc: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoUIO: fix kobject usage
Greg Kroah-Hartman [Tue, 4 Dec 2007 22:41:54 +0000]
UIO: fix kobject usage

The uio kobject code is "wierd".  This patch should hopefully fix it up
to be sane and not leak memory anymore.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Benedikt Spranger <b.spranger@linutronix.de>
Signed-off-by: Hans J. Koch <hjk@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: clean up debugging messages
Greg Kroah-Hartman [Thu, 29 Nov 2007 07:49:41 +0000]
kobject: clean up debugging messages

The kobject debugging messages are a mess.  This provides a unified
message that makes them actually useful.

The format for new kobject debug messages should be:
kobject: 'KOBJECT_NAME' (ADDRESS): FUNCTION_NAME: message.\n

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: grab the kset reference in kobject_add, not kobject_init
Greg Kroah-Hartman [Wed, 28 Nov 2007 18:46:22 +0000]
kobject: grab the kset reference in kobject_add, not kobject_init

kobject_init should not be grabing any references, but only initializing
the object.  This patch fixes this, and makes the lock hold-time shorter
for when a kset is present in the kobject.

The current kernel tree has been audited to verify that this change
should be safe.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agodriver core: make /sys/power a kobject
Greg Kroah-Hartman [Tue, 27 Nov 2007 19:28:26 +0000]
driver core: make /sys/power a kobject

/sys/power should not be a kset, that's overkill.  This patch renames it
to power_kset and fixes up all usages of it in the tree.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agodriver core: clean up device_shutdown
Greg Kroah-Hartman [Tue, 27 Nov 2007 06:11:55 +0000]
driver core: clean up device_shutdown

device_shutdown does not need to be in a separate file.  Move it into
the driver core file where it belongs.

This also moves us one more step closer to making devices_kset static,
now only the crazy sysdevs are keeping that from happening...

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agodriver core: clean up shutdown.c
Greg Kroah-Hartman [Tue, 20 Nov 2007 21:56:21 +0000]
driver core: clean up shutdown.c

shutdown.c had some stuff it did not need, including a duplicate extern
in the power.h file.  This cleans up all of that.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: convert parisc/pdc_stable to use kobject_create
Greg Kroah-Hartman [Wed, 7 Nov 2007 21:56:19 +0000]
kobject: convert parisc/pdc_stable to use kobject_create

Using a kset for this simple directory is an overkill.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Thibaut VARENE <varenet@parisc-linux.org>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Grant Grundler <grundler@parisc-linux.org>
Cc: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: convert efivars to use kobject_create
Greg Kroah-Hartman [Wed, 7 Nov 2007 21:56:19 +0000]
kobject: convert efivars to use kobject_create

Using a kset for this simple directory is an overkill.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Matt Domsch <Matt_Domsch@dell.com>
Cc: Matt Tolentino <matthew.e.tolentino@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: convert ecryptfs to use kobject_create
Greg Kroah-Hartman [Tue, 6 Nov 2007 23:08:08 +0000]
kobject: convert ecryptfs to use kobject_create

Using a kset for this trivial directory is an overkill.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Mike Halcrow <mhalcrow@us.ibm.com>
Cc: Phillip Hellewell <phillip@hellewell.homeip.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: clean up rpadlpar horrid sysfs abuse
Greg Kroah-Hartman [Tue, 6 Nov 2007 23:03:30 +0000]
kobject: clean up rpadlpar horrid sysfs abuse

rpadlpar pci hotplug driver was doing some pretty bad stuff with the
sysfs files.  This cleans up the logic to be sane and gets rid of the
gratuitous kset that is not needed for a simple directory like this.

Note, this patch is not even build tested, let alone run-time tested.
Someone with access to this hardware and can test would be greatly
appreciated.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: John Rose <johnrose@austin.ibm.com>
Cc: Badari Pulavarty <pbadari@gmail.com>
Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: remove subsystem_(un)register functions
Greg Kroah-Hartman [Tue, 6 Nov 2007 23:03:30 +0000]
kobject: remove subsystem_(un)register functions

These functions are no longer used and are the last remants of the old
subsystem crap.  So delete them for good.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: convert kernel_kset to be a kobject
Greg Kroah-Hartman [Tue, 6 Nov 2007 18:36:58 +0000]
kobject: convert kernel_kset to be a kobject

kernel_kset does not need to be a kset, but a much simpler kobject now
that we have kobj_attributes.

We also rename kernel_kset to kernel_kobj to catch all users of this
symbol with a build error instead of an easy-to-ignore build warning.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokset: remove decl_subsys macro
Greg Kroah-Hartman [Fri, 2 Nov 2007 23:19:59 +0000]
kset: remove decl_subsys macro

This macro is no longer used.  ksets should be created dynamically with
a call to kset_create_and_add() not declared statically.

Yes, there are 5 remaining static struct kset usages in the kernel tree,
but they will be fixed up soon.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokset: convert block_subsys to use kset_create
Greg Kroah-Hartman [Tue, 6 Nov 2007 18:36:58 +0000]
kset: convert block_subsys to use kset_create

Dynamically create the kset instead of declaring it statically.  We also
rename block_subsys to block_kset to catch all users of this symbol
with a build error instead of an easy-to-ignore build warning.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokset: convert ocfs2 to use kset_create
Greg Kroah-Hartman [Fri, 2 Nov 2007 23:19:59 +0000]
kset: convert ocfs2 to use kset_create

Dynamically create the kset instead of declaring it statically.

Also use the new kobj_attribute which cleans up this file a _lot_.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Mark Fasheh <mark.fasheh@oracle.com>
Cc: Kurt Hackel <kurt.hackel@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agofirmware: change firmware_kset to firmware_kobj
Greg Kroah-Hartman [Mon, 5 Nov 2007 21:16:15 +0000]
firmware: change firmware_kset to firmware_kobj

There is no firmware "subsystem" it's just a directory in /sys that
other portions of the kernel want to hook into.  So make it a kobject
not a kset to help alivate anyone who tries to do some odd kset-like
things with this.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agofirmware: remove firmware_(un)register()
Greg Kroah-Hartman [Fri, 2 Nov 2007 23:19:59 +0000]
firmware: remove firmware_(un)register()

These functions are no longer called or needed, so we can remove them.

As I rewrote the whole firmware.c file, add my copyright.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: convert /sys/firmware/acpi/ to use kobject_create
Greg Kroah-Hartman [Fri, 2 Nov 2007 23:19:59 +0000]
kobject: convert /sys/firmware/acpi/ to use kobject_create

We don't need a kset here, a simple kobject will do just fine, so
dynamically create the kobject and use it.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokset: convert edd to use kset_create
Greg Kroah-Hartman [Fri, 2 Nov 2007 23:19:59 +0000]
kset: convert edd to use kset_create

Dynamically create the kset instead of declaring it statically.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoDriver Core: kill subsys_attribute and default sysfs ops
Kay Sievers [Fri, 2 Nov 2007 12:47:53 +0000]
Driver Core: kill subsys_attribute and default sysfs ops

Remove the no longer needed subsys_attributes, they are all converted to
the more sensical kobj_attributes.

There is no longer a magic fallback in sysfs attribute operations, all
kobjects which create simple attributes need explicitely a ktype
assigned, which tells the core what was intended here.

Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokset: convert parisc/pdc_stable.c to use kset_create
Greg Kroah-Hartman [Fri, 2 Nov 2007 22:25:00 +0000]
kset: convert parisc/pdc_stable.c to use kset_create

Dynamically create the kset instead of declaring it statically.
This makes the kobject attributes now work properly that I broke in the
previous patch.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Thibaut VARENE <varenet@parisc-linux.org>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Grant Grundler <grundler@parisc-linux.org>
Cc: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: convert parisc/pdc_stable to kobj_attr interface
Greg Kroah-Hartman [Fri, 2 Nov 2007 22:25:00 +0000]
kobject: convert parisc/pdc_stable to kobj_attr interface

This makes the code a bit simpler and and gets us one step closer to
deleting the deprecated subsys_attr code.

NOTE, this needs the next patch in the series in order to work properly.
This will build, but the sysfs files will not properly operate.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Thibaut VARENE <varenet@parisc-linux.org>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Grant Grundler <grundler@parisc-linux.org>
Cc: Kyle McMartin <kyle@parisc-linux.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokset: convert s390 ipl.c to use kset_create
Greg Kroah-Hartman [Fri, 2 Nov 2007 21:17:00 +0000]
kset: convert s390 ipl.c to use kset_create

Dynamically create the kset instead of declaring it statically.
This makes the kobject attributes now work properly that I broke in the
previous patch.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Michael Holzheu <holzheu@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Volker Sameske <sameske@de.ibm.com>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agokobject: convert s390 ipl.c to kobj_attr interface
Greg Kroah-Hartman [Fri, 2 Nov 2007 21:17:00 +0000]
kobject: convert s390 ipl.c to kobj_attr interface

This makes the code a bit simpler and and gets us one step closer to
deleting the deprecated subsys_attr code.

NOTE, this needs the next patch in the series in order to work properly.
This will build, but the sysfs files will not properly operate.

Thanks to Cornelia for the build fix on this patch.

Cc: Kay Sievers <kay.sievers@vrfy.org>
Cc: Michael Holzheu <holzheu@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Volker Sameske <sameske@de.ibm.com>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>