[RFC] Some driver core and kobject minor patches

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Kay pointed out to me the other day that we are dragging around 20 bytes
in every struct kobject and in every struct device to contain a name
string that can be dynamically allocated instead.  For small device
names (the majority), this savings can add up, especially with a lot of
individual devices.

So, I started out by getting rid of the static array in the kobject
structure, as we already were dynamically allocating space if it was
needed.

Of course, this required a number of other minor cleanups through the
code tree to handle places where we were incorrectly directly accessing
the kobject name instead of using the "proper" function.  I also got
sidetracked by a few driver core and kobject.h cleanups of macros that
are no longer needed, or functions that no longer need to be global
(they were never exported, so we don't have to worry about that mess...)

And I added a change to trigger a warning if we add an attribute to
sysfs that we have already had created, to help the SCSI developers out
with their driver model reworks.

So, here's a series of 11 patches that I've added to my tree, and will
send to Linus when 2.6.24 is opened up.

Any review comments are appreciated.  The full diffstat is below showing
that overall, we did get rid of more code than was added.

thanks,

greg k-h

 block/bsg.c                         |    5 --
 block/elevator.c                    |    2 
 block/ll_rw_blk.c                   |    2 
 drivers/acpi/bus.c                  |    2 
 drivers/base/base.h                 |    2 
 drivers/base/bus.c                  |   60 ++++++++++++++--------------
 drivers/base/class.c                |    6 +-
 drivers/base/sys.c                  |    2 
 drivers/char/raw.c                  |    5 --
 drivers/cpufreq/cpufreq.c           |    2 
 drivers/edac/edac_mc_sysfs.c        |    3 -
 drivers/md/md.c                     |    3 -
 drivers/media/dvb/dvb-core/dvbdev.c |    5 --
 drivers/usb/core/devio.c            |    6 --
 fs/dlm/lockspace.c                  |    2 
 fs/gfs2/locking/dlm/sysfs.c         |    2 
 fs/gfs2/sys.c                       |    2 
 fs/ocfs2/cluster/masklog.c          |    3 -
 fs/partitions/check.c               |   12 +++--
 fs/sysfs/dir.c                      |    6 ++
 include/linux/kobject.h             |   46 +---------------------
 lib/kobject.c                       |   75 ++++++++++++++++--------------------
 net/bridge/br_sysfs_br.c            |    2 
 23 files changed, 102 insertions(+), 153 deletions(-)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux