Subject: [BK PATCH] Driver core changes for 2.5.68
From: Greg KH <[email-masked]>
To: [email-masked]

Hi,

Here are a series of changesets that rework the driver core class code.
The driver class code is now smaller, more flexible, and fits into the
current kernel driver code much better than before.  The current users
of the driver class code have all seen this patch and agree with it.
These patches have also been posted to lkml in the past, with no
objections.  They also end up removing more code than they add, which is
always a good thing :)

Mike Anderson has a scsi patch all ready to go that uses these
changesets which will clean up the scsi sysfs useage a lot, and finally
will solve the lunacy of where to put the sg driver in the driver model.

Dominik Brodowski has said he will do a lot of pcmcia cleanups and code
consoldation based on the changes here, which will make the pcmcia code
smaller.

And Pat's seen these changes and agrees that they should be applied.

I've also included a small kobject patch from Andrew Morton which fixes
a deadlock when using kobjects from within interrupt handlers (like the
USB code does.)  Pat agrees with that patch also :)

Please pull from:  bk://kernel.bkbits.net/gregkh/linux/class-2.5

thanks,

greg k-h

 drivers/base/fs/Makefile        |    2 
 drivers/base/fs/device.c        |   49 ----
 drivers/base/fs/fs.h            |    5 
 drivers/base/hotplug.c          |  145 ------------
 drivers/base/intf.c             |  225 ------------------
 drivers/base/Makefile           |    4 
 drivers/base/base.h             |   20 -
 drivers/base/bus.c              |   11 
 drivers/base/class.c            |  480 +++++++++++++++++++++++++---------------
 drivers/base/core.c             |    2 
 drivers/base/cpu.c              |   29 +-
 drivers/base/driver.c           |    1 
 drivers/base/memblk.c           |   14 -
 drivers/base/node.c             |   14 -
 drivers/char/tty_io.c           |    9 
 drivers/input/evbug.c           |   12 -
 drivers/input/evdev.c           |   12 -
 drivers/input/input.c           |    8 
 drivers/input/joydev.c          |   12 -
 drivers/input/mousedev.c        |   11 
 drivers/input/tsdev.c           |   12 -
 drivers/pcmcia/cs.c             |   30 +-
 drivers/pcmcia/ds.c             |   31 +-
 drivers/pcmcia/i82092.c         |   25 +-
 drivers/pcmcia/i82365.c         |   15 -
 drivers/pcmcia/pci_socket.c     |   20 +
 drivers/pcmcia/sa1111_generic.c |    1 
 drivers/pcmcia/tcic.c           |   17 +
 drivers/scsi/hosts.c            |    1 
 drivers/scsi/hosts.h            |    4 
 drivers/scsi/scsi_debug.c       |    1 
 drivers/scsi/scsi_syms.c        |    2 
 drivers/scsi/scsi_sysfs.c       |   28 --
 drivers/serial/8250_acorn.c     |    1 
 drivers/serial/8250_pci.c       |    3 
 drivers/serial/sa1100.c         |    1 
 drivers/usb/input/hid-core.c    |    3 
 drivers/usb/serial/bus.c        |    1 
 include/linux/cpufreq.h         |    1 
 include/linux/device.h          |  128 ++++++----
 include/linux/input.h           |    2 
 include/linux/tty_driver.h      |    2 
 include/pcmcia/ss.h             |    7 
 kernel/cpufreq.c                |   90 ++-----
 lib/kobject.c                   |   24 +-
 45 files changed, 561 insertions(+), 954 deletions(-)
-----

Greg Kroah-Hartman:
  o driver core: removed drivers/base/fs/*, drivers/base/intf.c and drivers/base/hotplug.c
  o driver core: fix up the pcmcia code to work with the new class changes
  o driver core: fix up scsi code to compile due to the class changes
  o driver core: fix up tty code to work with the new class changes
  o driver core: fix up cpufreq code to work with new class changes
  o driver core: fix up the input_class logic due to the class changes
  o driver core: fix up cpu.c, memblk.c, and node.c due to the class changes
  o driver core: rework driver class structures and logic
  o kobject: kobj_lock needs to be grabed using spinlock_irq