David Mosberger [Tue, 4 Mar 2003 10:40:21 +0000 (02:40 -0800)]
ia64: Implement pcibios_prep_mwi() and define HAVE_ARCH_PCI_MWI to
ensure that PCI line-size gets programmed properly. Based
on patch by Grant Grundler.
Seth Rohit [Tue, 4 Mar 2003 09:33:01 +0000 (01:33 -0800)]
[PATCH] ia64: 2nd update for HugeTLB Page patch for IA-64 2.5.60 kernel
Please find attached a small hugetlb page support update for 2.5.60
IA-64 kernel (+ my previous hugetlb page patch). This patch adds the
HAVE_ARCH_HUGETLB_UNMAPPED_AREA define for IA-64 arch.
hugetlb_get_unmapped_area function is added in
arch/ia64/mm/hugetlbpage.c
Seth Rohit [Tue, 4 Mar 2003 09:30:54 +0000 (01:30 -0800)]
[PATCH] ia64: HugeTLB Page patch for IA-64 2.5.60 kernel
Please find attached a hugetlb page patch for IA-64 2.5.60 kernel .
Changes in generic files are mostly backported from 2.5.62 (to get
hugetlb support functioning properly).
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.
Jesse Barnes [Tue, 4 Mar 2003 07:00:36 +0000 (23:00 -0800)]
[PATCH] ia64: SN update
And here's the SN specific part of the update. This should get an SN2
compile all the way to the link stage, where I still have some devfs
stuff to cleanup.
IA64 ABI specifies that globals > 8 bytes need to be aligned to 16 bytes.
gcc doesn't follow this convention. Current kernel code will fail to work with
a compiler which follows the ABI.
size of structure ia64_machine_vector is > 8 bytes and not multiple of 16 bytes.
When we have CONFIG_IA64_GENERIC, each machine specific vector from different
object files gets linked into a user defined section(forming array of
structures).
Now with a compiler conforming to ABI, there will be holes in this array
resulting in the code failure when it goes through this array of structures.
Following patch will make the size of the structure to be multiple of 16 bytes
making both ABI confirming/non-conforming compilers happy.
Current 2.5 kernels are broken with CONFIG_IA64_GENERIC option. Two unused
members are still remaining in the structure, resulting in corruption of
structure elements during the MACHVEC_INIT initialization. Attached patch
fixes this problem.
Rationalize __init/__devinit attributes. The noteworthy changes are
that
iosapic_system_init(),
iosapic_init(),
iosapic_register_platform_intr(), and
iosapic_override_isa_irq()
are __init (only called from ACPI __init functions), but
iosapic_lists[],
num_iosapic,
find_iosapic(),
register_intr(),
iosapic_register_intr(), and
acpi_register_irq()
are not because they may be used after init-time by modules.
pcat_compat: __initdata, referenced by
iosapic_system_init (__init)
iosapic_init (__init)
iosapic_parse_prt (__init)
find_iosapic: normal, called by
register_intr (normal)
register_intr: normal, called by
iosapic_register_intr (normal), called by
acpi_register_irq (normal), called by
modules (=> can't be __init or __devinit)
iosapic_register_platform_intr (__init)
iosapic_override_isa_irq (__init)
iosapic_parse_prt (__init)
iosapic_reassign_vector: __init, called by
iosapic_register_platform_intr (__init), called by
acpi_parse_plat_int_src (__init)
iosapic_system_init: __init, called by
acpi_parse_madt (__init)
iosapic_init: __init, called by
acpi_parse_iosapic (__init)
iosapic_register_platform_intr: __init, called by
acpi_parse_plat_int_src (__init)
iosapic_override_isa_irq: __init, called by
acpi_parse_int_src_ovr (__init)
iosapic_init (__init)
fixup_vector: __init, called by
iosapic_parse_prt (__init), called by
acpi_pci_irq_init (__init)
Make interrupt registration functions take named constants for
polarity and trigger mode. Old -> new magic decoder ring:
polarity 0 -> IOSAPIC_POL_LOW(#defined to 1)
polarity 1 -> IOSAPIC_POL_HIGH(#defined to 0)
trigger 0 -> IOSAPIC_LEVEL(#defined to 1)
trigger 1 -> IOSAPIC_EDGE(#defined to 0)
emove IOSAPIC address and GSI base from external interrupt
registration interfaces. This lets us remove acpi_find_iosapic(),
which is functionally similar to find_iosapic().
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