20 Oct, 2011
1 commit
-
Signed-off-by: Eric W. Biederman
Acked-by: Greg Kroah-Hartman
Signed-off-by: David S. Miller
18 Nov, 2010
1 commit
-
As classes and busses are pretty much the same thing, and we want to
merge them together into a 'subsystem' in the future, let us share the
same private data parts to make that merge easier.Signed-off-by: Kay Sievers
Signed-off-by: Greg Kroah-Hartman
11 Nov, 2010
1 commit
-
869dfc875e3 addded a long line and indented with spaces. Fix.
Signed-off-by: Brandon Philips
Signed-off-by: Greg Kroah-Hartman
23 Oct, 2010
2 commits
-
I have some systems which need legacy sysfs due to old tools that are
making assumptions that a directory can never be a symlink to another
directory, and it's a big hazzle to compile separate kernels for them.This patch turns CONFIG_SYSFS_DEPRECATED into a run time option
that can be switched on/off the kernel command line. This way
the same binary can be used in both cases with just a option
on the command line.The old CONFIG_SYSFS_DEPRECATED_V2 option is still there to set
the default. I kept the weird name to not break existing
config files.Also the compat code can be still completely disabled by undefining
CONFIG_SYSFS_DEPRECATED_SWITCH -- just the optimizer takes
care of this now instead of lots of ifdefs. This makes the code
look nicer.v2: This is an updated version on top of Kay's patch to only
handle the block devices. I tested it on my old systems
and that seems to work.Cc: axboe@kernel.dk
Signed-off-by: Andi Kleen
Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
This patch removes the old CONFIG_SYSFS_DEPRECATED_V2 config option,
but it keeps the logic around to handle block devices in the old manner
as some people like to run new kernel versions on old (pre 2007/2008)
distros.Signed-off-by: Kay Sievers
Cc: Jens Axboe
Cc: Stephen Hemminger
Cc: "Eric W. Biederman"
Cc: Alan Stern
Cc: "James E.J. Bottomley"
Cc: Andrew Morton
Cc: Alexey Kuznetsov
Cc: Randy Dunlap
Cc: Tejun Heo
Cc: "David S. Miller"
Cc: Jaroslav Kysela
Cc: Takashi Iwai
Cc: Ingo Molnar
Cc: Peter Zijlstra
Cc: David Howells
Signed-off-by: Greg Kroah-Hartman
22 May, 2010
1 commit
-
Move complete knowledge of namespaces into the kobject layer
so we can use that information when reporting kobjects to
userspace.Signed-off-by: Eric W. Biederman
Signed-off-by: Greg Kroah-Hartman
19 Mar, 2010
1 commit
-
A number of functions in the driver core return ERR_PTR() values on
error. Document this in the kernel-doc of the functions.Signed-off-by: Jani Nikula
Signed-off-by: Greg Kroah-Hartman
08 Mar, 2010
3 commits
-
Constify struct sysfs_ops.
This is part of the ops structure constification
effort started by Arjan van de Ven et al.Benefits of this constification:
* prevents modification of data that is shared
(referenced) by many other structure instances
at runtime* detects/prevents accidental (but not intentional)
modification attempts on archs that enforce
read-only kernel data at runtime* potentially better optimized code as the compiler
can assume that the const data cannot be changed* the compiler/linker move const data into .rodata
and therefore exclude them from false sharingSigned-off-by: Emese Revfy
Acked-by: David Teigland
Acked-by: Matt Domsch
Acked-by: Maciej Sosnowski
Acked-by: Hans J. Koch
Acked-by: Pekka Enberg
Acked-by: Jens Axboe
Acked-by: Stephen Hemminger
Signed-off-by: Greg Kroah-Hartman -
Several drivers just export a static string as class attributes.
Use the new extensible attribute support to define a simple
CLASS_ATTR_STRING() macro for this.This will allow to remove code from drivers in followon patches.
Signed-off-by: Andi Kleen
Signed-off-by: Greg Kroah-Hartman -
Passing the attribute to the low level IO functions allows all kinds
of cleanups, by sharing low level IO code without requiring
an own function for every piece of data.Also drivers can extend the attributes with own data fields
and use that in the low level function.This makes the class attributes the same as sysdev_class attributes
and plain attributes.This will allow further cleanups in drivers.
Full tree sweep converting all users.
Signed-off-by: Andi Kleen
Signed-off-by: Greg Kroah-Hartman
17 Feb, 2010
1 commit
-
Fix a memory leak by freeing the memory allocated in __class_register
for the class private data.Signed-off-by: Laurent Pinchart
Acked-by: Artem Bityutskiy
Cc: stable
Signed-off-by: Greg Kroah-Hartman
16 Sep, 2009
1 commit
-
When turning class devices into bus devices, we may need to
temporarily add links in sysfs so that user-space applications
are not confused. This is done by adding the following API:* Functions to register and unregister compatibility classes.
These appear in sysfs at the same location as regular classes, but
instead of class devices, they contain links to bus devices.
* Functions to create and delete such links. Additionally, the caller
can optionally pass a target device to which a "device" link should
point (typically that would be the device's parent), to fully emulate
the original class device.The i2c subsystem will be the first user of this API, as i2c adapters
are being converted from class devices to bus devices.Signed-off-by: Jean Delvare
Signed-off-by: Kay Sievers
09 Oct, 2008
1 commit
-
Iterating over entries using callback usually isn't too fun especially
when the entry being iterated over can't be manipulated freely. This
patch converts class->p->class_devices to klist and implements class
device iterator so that the users can freely build their own control
structure. The users are also free to call back into class code
without worrying about locking.class_for_each_device() and class_find_device() are converted to use
the new iterators, so their users don't have to worry about locking
anymore either.Note: This depends on klist-dont-iterate-over-deleted-entries patch
because class_intf->add/remove_dev() depends on proper synchronization
with device removal.Signed-off-by: Tejun Heo
Cc: Greg Kroah-Hartman
Cc: Jens Axboe
Signed-off-by: Jens Axboe
22 Aug, 2008
1 commit
-
Anti-oops medicine for the class iterators ... the oops was
observed when a class was implicitly referenced before it
was initialized.[Modified by Greg to spit a warning back so someone knows to fix their code]
Signed-off-by: David Brownell
Signed-off-by: Greg Kroah-Hartman
29 Jul, 2008
1 commit
-
Fix @key parameter to mutex_init() and one of its callers.
Warning(linux-2.6.26-git11//drivers/base/class.c:210): No description found for parameter 'key'
Signed-off-by: Randy Dunlap
Acked-by: Greg Kroah-Hartman
Signed-off-by: Ingo Molnar
22 Jul, 2008
10 commits
-
Now that the lockdep infrastructure in the class core is in place, we
should be able to properly change the internal class semaphore to be a
mutex.David wrote the original patch, and Greg fixed it up to apply properly
due to all of the recent changes in this area.From: Dave Young
Cc: Matthew Wilcox
Cc: Kay Sievers
Cc: Andrew Morton
Cc: James Bottomley
Signed-off-by: Greg Kroah-Hartman -
This adds the infrastructure to properly handle lockdep issues when the
internal class semaphore is changed to a mutex.Matthew wrote the original patch, and Greg fixed it up to work properly
with the class_create() function.From: Matthew Wilcox
Cc: Kay Sievers
Cc: Dave Young
Cc: Andrew Morton
Cc: James Bottomley
Cc: Peter Zijlstra
Cc: Ingo Molnar
Signed-off-by: Greg Kroah-Hartman -
This renames the struct class "sem" field to be "class_sem" to make
things easier when struct bus_type and struct class merge in the future.
It also makes grepping for fields easier as well.Based on an idea from Kay.
Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
This renames the struct class "subsys" field to be "class_subsys" to
make things easier when struct bus_type and struct class merge in the
future. It also makes grepping for fields easier as well.Based on an idea from Kay.
Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
This renames the struct class "interfaces" field to be
"class_interfaces" to make things easier when struct bus_type and struct
class merge in the future. It also makes grepping for fields easier as
well.Based on an idea from Kay.
Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
This renames the struct class "devices" field to be "class_devices" to
make things easier when struct bus_type and struct class merge in the
future. It also makes grepping for fields easier as well.Based on an idea from Kay.
Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
This moves the portions of struct class that are dynamic (kobject and
lock and lists) out of the main structure and into a dynamic, private,
structure.Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
This mirrors the functionality that driver_find_device has as well.
We add a start variable, and all callers of the function are fixed up at
the same time.The block layer will be using this new functionality in a follow-on
patch.Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
This mirrors the functionality that driver_for_each_device has as well.
We add a start variable, and all callers of the function are fixed up at
the same time.The block layer will be using this new functionality in a follow-on
patch.Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
Why?:
There are occasions where userspace would like to access sysfs
attributes for a device but it may not know how sysfs has named the
device or the path. For example what is the sysfs path for
/dev/disk/by-id/ata-ST3160827AS_5MT004CK? With this change a call to
stat(2) returns the major:minor then userspace can see that
/sys/dev/block/8:32 links to /sys/block/sdc.What are the alternatives?:
1/ Add an ioctl to return the path: Doable, but sysfs is meant to reduce
the need to proliferate ioctl interfaces into the kernel, so this
seems counter productive.2/ Use udev to create these symlinks: Also doable, but it adds a
udev dependency to utilities that might be running in a limited
environment like an initramfs.3/ Do a full-tree search of sysfs.
[kay.sievers@vrfy.org: fix duplicate registrations]
[kay.sievers@vrfy.org: cleanup suggestions]Cc: Neil Brown
Cc: Tejun Heo
Acked-by: Kay Sievers
Reviewed-by: SL Baur
Acked-by: Kay Sievers
Acked-by: Mark Lord
Acked-by: H. Peter Anvin
Signed-off-by: Dan Williams
Signed-off-by: Greg Kroah-Hartman
15 May, 2008
1 commit
-
because of the class_device was removed, now do the children list removing
Signed-off-by: Dave Young
Signed-off-by: Greg Kroah-Hartman
01 May, 2008
1 commit
-
Signed-off-by: Kay Sievers
Signed-off-by: Greg Kroah-Hartman
20 Apr, 2008
1 commit
-
__FUNCTION__ is gcc-specific, use __func__
Signed-off-by: Harvey Harrison
Signed-off-by: Greg Kroah-Hartman
31 Jan, 2008
2 commits
-
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6:
PPC: Fix powerpc vio_find_name to not use devices_subsys
Driver core: add bus_find_device_by_name function
Module: check to see if we have a built in module with the same name
x86: fix runtime error in arch/x86/kernel/cpu/mcheck/mce_amd_64.c
Driver core: Fix up build when CONFIG_BLOCK=N -
Fix kernel-doc empty line warning:
Warning(linux-2.6.24-git8//drivers/base/class.c:866): bad line:Signed-off-by: Randy Dunlap
Signed-off-by: Linus Torvalds
28 Jan, 2008
1 commit
-
This fixes up the driver core build errors when CONFIG_BLOCK=N
Thanks to Alexander van Heukelum for the basis
of this patch, and to Jeremy Fitzhardinge for
reporting the problem.Cc: Alexander van Heukelum
Cc: Jeremy Fitzhardinge
Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman
25 Jan, 2008
9 commits
-
Fix up a number of coding style issues in the drivers/base/ directory
that have annoyed me over the years. checkpatch.pl is now very happy.Signed-off-by: Greg Kroah-Hartman
-
Add the following class iteration functions for driver use:
class_for_each_device
class_find_device
class_for_each_child
class_find_childSigned-off-by: Dave Young
Acked-by: Cornelia Huck
Signed-off-by: Greg Kroah-Hartman -
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
Signed-off-by: Greg Kroah-Hartman -
Now that the old kobject_init() function is gone, rename
kobject_init_ng() to kobject_init() to clean up the namespace.Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
Now that the old kobject_add() function is gone, rename kobject_add_ng()
to kobject_add() to clean up the namespace.Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
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/sr0Signed-off-by: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
This converts the code to use the new kobject functions, cleaning up the
logic in doing so.Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
These functions are no longer used and are the last remants of the old
subsystem crap. So delete them for good.Cc: Kay Sievers
Signed-off-by: Greg Kroah-Hartman -
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
Signed-off-by: Greg Kroah-Hartman