- 01 Aug, 2002 4 commits
-
-
Patrick Mochel authored
In order to read/write attributes, you have to deal directly with the object that owns them. driverfs really wants to be generic and not deal directly with those objects. So, we create an intermediate layer that subsystems must implement that converts between the generic objects and the specific objects that own the attributes. This allows allows attributes to be exported for any object type. In doing so, it places the responsibility on the subsystems to do the following: - define their own object-specific attribute structures - define their own driverfs_ops - set the ops pointer in struct driver_dir_entry when creating an object's directory - do object reference counting on open() and close() - call the show() and store() callbacks of their attribute structure - convert between the generic objects and the specific objects from the struct driver_dir_entry and struct attribute pointers (using container_of) The implementation of this layer for struct device is intended to be used as an example of the interface. Because this layer of abstraction is now in place, we can move the device attribute structure into include/linux/device.h, and driverfs should be free of references to it completely.
-
Patrick Mochel authored
driverfs can only handle passing struct device to read/write functions. In order to free it of this limitation, we need a common data structure for driverfs to pass around. The only thing that driverfs really needs are the name and mode of the file, which are now located in struct attribute. struct device_attribute gets a struct attribute member, which holds the name and mode. With the DEVICE_ATTR macro, users of the structure require no modification. device_create_file is modified to take a struct attribute parameter a to_dev_attr() macro is introduced to convert between a struct attribute to a struct device_attribute
-
Patrick Mochel authored
DEVICE_ATTR macro.
-
Patrick Mochel authored
(hide internal format of the structure)
-
- 31 Jul, 2002 2 commits
-
-
Patrick Mochel authored
-
Patrick Mochel authored
make device_remove_file take a struct device_attribute *, instead of just a char * (for consistency with device_create_file)
-
- 30 Jul, 2002 23 commits
-
-
Patrick Mochel authored
API is just about to change...)
-
Patrick Mochel authored
do a s/driver_file_entry/device_attribute/g on all of them.
-
Patrick Mochel authored
It may seem gratuitous, but it's what we really want. driverfs files are meant to expose attributes of various kernel objects, so in that sense, the change adds more accurate meaning to the object. Plus, we will soon gain the ability to expose attributes of drivers (both device and bus) themselves, and we want to be able to have each mean something reasonable. This changes driverfs and the device model core (but none of the other users)
-
Patrick Mochel authored
symlinks now only use the name field of the struct driver_file_entry, so instead of allocating a new one each time we want to create one, this changes the API to only accept the name (since the driverfs core will never use the other fields either) This also guarantees that we won't leak the memory for the entry when the device goes away: Since the other entries aren't dynamically allocated, and driverfs doesn't free them, we would have to free them ourselves. It's not really necessary, so this is another win for us.
-
Patrick Mochel authored
-
Patrick Mochel authored
Now that all unique information about struct driver_file_entry's are gone (the dentry and parent pointers), the data in them is shared among all users of the entry. So, we don't have any reason to dynamically allocate and duplicate the data anymore.
-
bk://ldm@bkbits.net/linux-2.5-driverfsPatrick Mochel authored
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-driverfs
-
Linus Torvalds authored
copy_process() just copies the process, it doesn't actually start it. This is in preparation for doing a "atomically start process on CPU X" or other cases where we want to change the state of the process before we actually start running it.
-
Martin Dalecki authored
- Include first cut by Adam J. Richter on proper lock protection for tuning functions. - Rename ide_register_subdriver() to ata_register_device() and ide_unregister_subdriver() accordingly to ata_unregister_device(), since this is reflecting better what those functions are about. - Remove tons of "curicum vite" style useless documentation here and there.
-
Martin Dalecki authored
- typedef unsigned char byte; is finally gone. Everything using it should be just ported to u8 if I missed some place where it still gets used. - Next round of parameter parsing cleanups by Gerald Champagne. Adjusted a bit to harmonize with hd.c. - Move IDE register bitfields declarations over from hdparm.h to ide.h. - Declare constants needed by hd.c directly there. Those are standard values not subject to change and we prefer a bit of code duplication in favour of making the two drivers independant from each other. - Move everything not ioctl related away from hdreg.h to ide.h. This header is in effect not private to the ATA code and should therefore not contain stuff only usefull there.
-
Alan Cox authored
The CS5530 one seems unneeded looking at the databook. Try the patch below instead, which removes the irq lock and uses the proper kernel functions to enable MWI and master.
-
Marcel Holtmann authored
This updates the 2.5.x PC Card drivers of the Bluetooth subsystem.
-
Patrick Mochel authored
of the directory itself
-
Patrick Mochel authored
to access the struct device, rather than via struct driver_file_entry::parent pointer.
-
Patrick Mochel authored
driverfs: Don't put the driver_file_entry in struct inode::u.generic_ip or struct file::private_data (since it's already in struct dentry::d_fsdata and we always get to that)
-
Patrick Mochel authored
for anything useful anymore.
-
Patrick Mochel authored
-
Patrick Mochel authored
as we don't use the lists anymore
-
Patrick Mochel authored
driverfs: Do hashed lookup of dentry's when deleting a driverfs file (instead of searching the list we keep)
-
Patrick Mochel authored
into osdl.org:/home/mochel/src/kernel/devel/linux-2.5-driverfs
-
bk://ncpfs.bkbits.net/linux-2.5Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Petr Vandrovec authored
-
Linus Torvalds authored
using a system call from kernel space. This avoids one level of hidden code, and makes what happens much more explicit (and speeds it up too, fwiw)
-
- 29 Jul, 2002 11 commits
-
-
Eric Sandeen authored
This "warning fix" bug report is actually an OOPS bugfix.
-
Matthew Wilcox authored
locks_unlock_delete is buggy in a couple of different ways (previously reported by Brian Dixon). Rather than fix it, this patch simply deletes it and uses the normal posix file locking mechanisms to remove all locks in locks_remove_posix instead.
-
Anton Blanchard authored
Make cpu_relax() on all architectures a gcc barrier to match x86.
-
http://linux-isdn.bkbits.net/linux-2.5.makeLinus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Kai Germaschewski authored
-
Sam Ravnborg authored
-
Sam Ravnborg authored
o Corrected dependencies for parportbook o Introduced do_cmd, thus adhering to KBUILD_VERBOSE and make -s
-
Sam Ravnborg authored
do_cmd is a nice shorthand when creating rules that in one line shall adhere to KBUILD_VERBOSE and make -s. So far the only user is (will be) the docbook makefile
-
Linus Torvalds authored
file locking LSM update
-
Linus Torvalds authored
-
Hugh Dickins authored
An acct flag was added to do_munmap, true everywhere but in mremap's move_vma: instead of updating the arch and driver sources, revert that that change and temporarily mask VM_ACCOUNT around that one do_munmap. Also, noticed that do_mremap fails needlessly if both shrinking _and_ moving a mapping: update old_len to pass vm area boundaries test.
-