kbuild: Move generation of vmlinux.lds.s into arch/.../kernel
Currently, vmlinux.lds.s is generated by the top-level Makefile.
Unfortunately, this causes the automatic CONFIG dependencies to
not work correctly, the reason being that make caches the timestamps
of include/config/* so even after split-include updated the
timestamps, make still uses the cached stamps to decide whether to
rebuild vmlinux.lds.s.
The simple fix is to move generation of vmlinux.lds.s into the
arch/$(ARCH)/kernel subdirectories, where we build other files
for the final link (like head.o) anyway. This also means some
special code in the top-level Makefile for preprocessing can go
away, since we now just use the standard rules during the recursive
phase.
This patches fixes up all archs for this change (untested).
Russell King [Tue, 5 Aug 2003 00:15:49 +0000 (01:15 +0100)]
[ARM] Fix do_settimeofday()
ARM seems to have missed an update for the time keeping code; this
cset fixes a problem where the altering the system time changes the
reported uptime.
Jens Axboe [Mon, 4 Aug 2003 02:32:01 +0000 (19:32 -0700)]
[PATCH] AS barrier bug
There's a bug in AS, it sets HARDBARRIER on a request when it should be
setting it as a softbarrier. IO scheduler has no business using that
bit, if it needs to put barriers there they should be soft. Hard
barriers involve hardware operations.
David S. Miller [Sat, 2 Aug 2003 11:24:41 +0000 (04:24 -0700)]
[TG3]: More Sun onboard 5704 fixes.
- Add TG3_FLG2_SUN_5704, set it at probe time.
- Do not try to use NVRAM on Sun 5704 chips.
- Handle lack of firmware on Sun 5704 chips.
David S. Miller [Sat, 2 Aug 2003 11:23:41 +0000 (04:23 -0700)]
[SPARC64]: More tomatillo PCI controller fixes.
- Use ino-bitmap property to figure out which PCI bus
module each interrupt gets routed through.
- Fix timeout setting in PCI control register
- Do not enable DTO interrupts.
- Use the correct IGN in INOs on Tomatillo.
Hirofumi Ogawa [Sat, 2 Aug 2003 11:09:04 +0000 (04:09 -0700)]
[PATCH] Consolidate dot-stripping code
From Ren <l.s.r@web.de>
there are several places inside fs/vfat/namei.c where the length of a
struct qstr without any trailing dots is calculated. The patch below
adds a function vfat_striptail_len() which does that and makes use of it.
[PATCH] I2C: fixed a little memory leak in i2c-ali15x3.c
there is a little memory leak in i2c-ali15x3.c .
You can reproduce the BUG as follows:
In a PC with no such device unloading i2c-ali15x3 cause an oops in release_region.
I've fixed by moving release_region() from i2c_ali15x3_exit() to ali15x3_remove().
Randy Dunlap [Fri, 1 Aug 2003 08:07:01 +0000 (01:07 -0700)]
[PATCH] janitor: convert to pci_name()
[ GregKH has already done this is USB and PCI core. ]
From: "Warren A. Layton" <zeevon@debian.org>
Based on a request from Matthew Wilcox, convert instances of
pci_dev->slot_name to use pci_name() instead:
"In order to support PCI Domains, we have to stop using slot_name.
It's related to driver model transition too since pci_dev->slot_name
was redundant with pci_dev->dev.bus_id. So I introduced the inline
function pci_name(). Now there's about 300-400 places in the tree
that're using slot_name which need to be converted to use pci_name().
once that's done, we can remove the slot_name pointer in pci_dev and
save a (void *) per pci_dev."
Jan Kara [Fri, 1 Aug 2003 07:55:50 +0000 (00:55 -0700)]
[PATCH] Fix old quota format locking
This fixes a bug in locking (we take one lock twice) for old quota
format. Without this patch the old format simply don't work (I really
don't know how that could happen).
These have been in the pci.ids file for awhile but not in <linux/pci_ids.h>
They're used by my drivers/atm/lanai.c driver that has been in tree for
some time now (it provides its own copy of these #define's protected by
an #ifndef - I'll remove that once this patch goes into the mainline)
Andrew Morton [Fri, 1 Aug 2003 03:11:57 +0000 (20:11 -0700)]
[PATCH] cpu_idle() startup race fix
Diagnosis from Christian Vogel <vogel@skunk.physik.uni-erlangen.de>
cpu_idle() tests pm_idle() just once then falls into the
while (!need_resched())
idle();
loop.
Problem is, that loop never terminates (need_resched() always returns false
on preemptive kernels).
The other problem is that ACPI updates pm_idle _after_ cpu_idle() has taken a
local copy. So we always call default_idle(), even when pm_idle is pointing
at a new idle handler.
So fix it to pick up changed values of pm_idle() each time around the inner
loop.
Andrew Morton [Fri, 1 Aug 2003 03:11:48 +0000 (20:11 -0700)]
[PATCH] export install_page() to modules
install_page() is a library function which we expect will be used by all
drivers which implement vm_operations.populate(). Therefore it should be
exported to kernel modules.
Petr Vandrovec has a project which involves sparse mappings of device memory
which can use remap_file_pages(). It needs install_page().
Andrew Morton [Fri, 1 Aug 2003 03:11:26 +0000 (20:11 -0700)]
[PATCH] serial drivers are not experimental
From: Andries.Brouwer@cwi.nl
A few days ago I needed a serial line and couldnt find the option in
menuconfig. Turned out that SERIAL_8250 depends on EXPERIMENTAL. I
suppose that dependence should be removed.