Ben Collins [Tue, 4 Mar 2003 08:25:16 +0000 (00:25 -0800)]
[PATCH] More IEEE1394 updates
- Cleanup Makefile.
- Fix potentional crash in dv1394 module unload.
- Why does ARM's memcpy not return void*? Oh well, work around it in
eth1394 by not expecting standard behavior.
Linus Torvalds [Tue, 4 Mar 2003 06:30:19 +0000 (22:30 -0800)]
Merge penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/hlist
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
Andi Kleen [Tue, 4 Mar 2003 06:28:32 +0000 (22:28 -0800)]
[PATCH] dcache/inode hlist patchkit
- Inode and dcache Hash table only needs half the memory/cache because
of using hlists.
- Simplify dcache-rcu code. With NULL end markers in the hlists
is_bucket is not needed anymore. Also the list walking code
generates better code on x86 now because it doesn't need to dedicate
a register for the list head.
- Reorganize struct dentry to be more cache friendly. All the state
accessed for the hash walk is in one chunk now together with the
inline name (all at the end)
- Add prefetching for all the list walks. Old hash lookup code didn't
use it.
- Some other minor cleanup.
Ben Collins [Tue, 4 Mar 2003 02:55:45 +0000 (18:55 -0800)]
[PATCH] IEEE1394 updates
- Add ioctl32 compat function registration for video1394, dv1394 and
amdtp.
- Convert SBP-2 driver to new SCSI hotplug host/device interfaces.
- Initial Async ISO (GASP) support.
Patrick Mochel [Mon, 3 Mar 2003 06:48:38 +0000 (00:48 -0600)]
driver model: fix device interfaces.
- Remove struct intf_data.
It was silly, and gave us an unbalanced interface.
Instead, when removing a device_interface, all of a class's devices are
iterated over, and intf->remove_device() is called for each. (Instead
of the device's list of interfaces it belongs to).
Interfaces are expected to tell if they support the device being removed.
- Remove struct device::intf_list.
- Protect classes' device list access with devclass_sem, which is taken
when a device or interface is added or removed. This allows access to the
list w/o taking the class's lock, which allows subordinate objects to be
registered (e.g. the interface itself, or objects the interfaces create
for a device).
- This should fix a deadlock when devices are added to interfaces, which
calls intf->add_device(), then interface_add_data(), which call
kobject_register() and hangs, since it tries to take the class's lock
again.
Patrick Mochel [Mon, 3 Mar 2003 03:43:37 +0000 (21:43 -0600)]
sysfs: fix oops in directory removal.
If a file that doesn't exist was looked up in a directory, and that
directory is later removed, sysfs would reap the negative dentrys along
with the valid ones.
Fix is to manually remove the dentrys from the parent's list under the
dcache_lock, then check if they're valid with dget_locked().
This ensures all the dentrys are removed, valid and invalid, and we don't
reap anything we shouldn't.
Steven Cole [Mon, 3 Mar 2003 00:34:23 +0000 (16:34 -0800)]
[PATCH] Spelling fixes from spell-fix.pl
This patch contains the first fruits of the automatic spell checking and
correcting scripts written by Dan Kegel and Matthias Schniedermeyer.
Those scripts are available here: http://www.kegel.com/kerspell/
This patch fixes these six words from the first five lines of
spell-fix.txt. 280 lines remaining.
We had a dummy dependency on include/linux/compile.h, but it really caused
more trouble than benefits. It's not actually needed for the module
postprocessing, it was only put there to make sure we recognize when
gcc changed under us. However, we really can only do so much, and
the rest of kbuild won't notice a changed gcc either, so if the user replaces
gcc during a build, he just can't rely on the build doing the right thing.
The common cases are still covered, anyway. When the command to invoke
gcc changes ("CC=gcc32") we notice, and when the path to
Sam Ravnborg [Sun, 2 Mar 2003 16:36:48 +0000 (10:36 -0600)]
[PATCH] kbuild: do not run split-include for all compilations
When a rule in the top-level Makefile includes scripts as one
of the prerequisites it inherits FORCE, and thus is always build.
include/linux/autoconf.h recently included scripts hereby forcing
split-include to be run for each compilation.
Fix all rules that lists scripts as a prerequisite but did not list FORCE.
Fixed by listing the executable needed direct.