Russell King investigated a failure case I introduced: When booting
with "load_ramdisk=1", we use the kernel root= parameter to determine
from what device to get the contents to copy into a ramdisk and then
mount that ramdisk as root.
For the copy to work, /dev/root needs to point to the device to load the
ramdisk from.
Russell King [Thu, 6 Mar 2003 19:27:52 +0000 (19:27 +0000)]
[ARM] CPUFREQ - allow ARM to work with userspace governor.
Patch from Dominik Brodowski.
This patch is necessary to update the ARM drivers so that they can
live with the new cpufreq governor "userspace" (which I sent to Linus a
moment ago).
Russell King [Thu, 6 Mar 2003 16:49:18 +0000 (16:49 +0000)]
[CPUFREQ] Update ARM CPUFREQ drivers
A 4 patch set from Dominik Brodowski, tested and fixed up by rmk
for ARM.
(1)
- the system3.c cpufreq notifier couldn't possibly compile before because
cpufreq_updateminmax has been undefined for ages.
- clean up sa1100fb.c notifier to specify exactly what's left TBD.
- double #include of cpufreq.c in drivers/pcmcia/sa1100_generic.c
(2)
Split up config symbols, add help text for CPU_FREQ_PROC_INTF
(3)
- update the Integrator CPUfreq driver so that it can get along with
cpufreq policies.
- modularize Integrator CPUfreq driver (all it did with
!CONFIG_CPU_FREQ was to print out some debug information)
(4)
- update the SA11x0 CPUfreq drivers so that they can get along with
cpufreq policies and governors.
- update the cpufreq core so that cpufreq_get() returns something
sensible during the first ->setpolicy or ->target call.
Russell King [Thu, 6 Mar 2003 16:27:13 +0000 (16:27 +0000)]
[ARM] Clean up ARM PCI support (bios32.c)
Eliminate have_isa_bridge - use isa_bridge instead.
Clean up PCI bus walking.
Clean up detection of fast back to back capability.
Ensure we set the bridge control register appropriately.
Pin swizzle functions are never called with pin == 0.
Russell King [Thu, 6 Mar 2003 16:01:00 +0000 (16:01 +0000)]
[ARM] Power management updates
This provides an element of core PM support to ARM, providing an APM
like user space interface, and separating the core PM support from
the SA1100 PM implementation.
Russell King [Thu, 6 Mar 2003 14:07:07 +0000 (14:07 +0000)]
[ARM] Kill old mkdep dependency hack.
We include a header file in an indirect method, which mkdep didn't
understand. Now that mkdep is gone, we don't need the hack to make
mkdep do the right thing.
Russell King [Thu, 6 Mar 2003 13:14:56 +0000 (13:14 +0000)]
[ARM] Convert ecard.c shutdown/reboot to use driver model
ecard.c used to use the reboot notifier to ensure that the expansion
cards are in the correct state for rebooting. Use the driver model
shutdown method instead.
Russell King [Thu, 6 Mar 2003 13:01:35 +0000 (13:01 +0000)]
[ARM] Remove set_mac_address from acorn drivers.
Acorn Ethernet drivers provided a duplicate set_mac_address
implementation which reflects the generic ethernet version in
drivers/net/net_init.c. Use the generic version instead.
David Brownell [Thu, 6 Mar 2003 07:46:40 +0000 (23:46 -0800)]
[PATCH] USB: track usb ch9 device state
This patch merges the USB state definitions from the ARM Linux
code (inside the sa1100 driver) and uses them to track what can
be done with the device. That replaces the recently added
"udev->present" flag with a more complete/standard state model.
There are a few changes that might affect behavior if things
start to go really haywire:
- usb_set_address() and usb_set_configuration(), used while
enumerating, handle some unlikely cases more correctly:
don't allow setting address to zero (undefined behavior),
and do allow un-configuring (config 0). (Adds a FIXME
for an existing set-configuration bug too.)
- usb_disconnect() flags the state change earlier (as soon
as it's known).
- usb_submit_urb() works in the states where messaging is
allowed, and also enforces the "unless configured, only
control traffic is legal" rule.
- usb_unlink_urb() doesn't care any more about that state.
(There seemed to be agreement that it must not matter.)
This will help with some further cleanups in the complex of
issues relating to driver removal, device removal, config
changing (with driver unbind and rebind), reset, and so on.
Alan Stern [Thu, 6 Mar 2003 05:55:05 +0000 (21:55 -0800)]
[PATCH] USB: Patch for auto-sense cmd_len
This patch fixes an oversight in usb-storage whereby the command length
and command buffer for an automatically-generated REQUEST-SENSE command
would not be initialized properly.
Linus Torvalds [Thu, 6 Mar 2003 04:59:29 +0000 (20:59 -0800)]
Make the "interactive bonus" work both ways - both the process
that is actually showing interactive behaviour (sleeping) and the
process that wakes up the interative process get a bonus.
This means that processes that help interactive processes (usually
system daemons, and X11 in particular) will themselves get some bonus.
The waker only gets whatever is left over from the "real" interactive
user, to avoid any bad behaviour.
Sam Ravnborg [Wed, 5 Mar 2003 14:09:49 +0000 (08:09 -0600)]
[PATCH] kbuild: touch-module after successfull creation only
On Mon, Mar 03, 2003 at 05:11:10PM -0500, Bill Davidsen wrote:
> scripts/Makefile.modinst:16: *** Uh-oh, you have stale module entries. You
messed with SUBDIRS, do not complain if something goes wrong.
This happens if you have encountered a compile error in a module.
In this case you did not succeed the compilation of fs/binfmt_aout,
and therefore no .o file can be located.
kbuild assumes this is because you have messed with SUBDIRS, which is wrong.
Arnd Bergmann [Wed, 5 Mar 2003 14:07:18 +0000 (08:07 -0600)]
[trivial] avoid a warning for each module on s390x
s390x has a reference to _GLOBAL_OFFSET_TABLE_ in each module
that is resolved by the module loader. This patch prevents
modpost from emitting a warning about that symbol.
Sam Ravnborg [Wed, 5 Mar 2003 14:05:54 +0000 (08:05 -0600)]
[PATCH] kbuild: Smart notation for non-verbose output
Create a nice shorthand to enable the non-verbose output mode.
make V=1 => Gives verbose output (default)
make V=0 => Gives non-verbose output
One of the reasons why people does not use KBUILD_VERBOSE=0 that
much is simply the typing needed.
This notation should make it acceptable to type it.
The usage of "make V=0" is restricted to the command line.
Anyone that wants to enable the non-verbose mode pr. default shall
set KBUILD_VERBOSE in the shell.
John Levon [Wed, 5 Mar 2003 06:25:25 +0000 (22:25 -0800)]
[PATCH] Fix oprofile on UP, small additional fix
The below has been in -mm for a while, and has been tested on my UP
and 2-way machines.
OProfile was completely unsafe on UP - a spinlock is no protection
against the NMI arriving and putting data into the buffer. Pretty stupid
bug. This fixes it by implementing reader/writer windows in the buffer
and removing the lock altogether. This patch was originally done by Will
Cohen.
It also fixes the oops Dave Hansen saw on 2.5.62 SMP
attached a fix for the io_edgeport usb serial driver
This diff fixes endianess issues which prevented the driver to work on
bigendian machines (e.g. sparc).
Clemens Ladisch [Wed, 5 Mar 2003 03:43:00 +0000 (19:43 -0800)]
[PATCH] usb-midi.h: fixes for SC-8820/50
sync with Nagano's version:
- protect vendors ids against multiple definitions
- sort Roland device ids
- fix SC-8850 cable bitmask
- add quirk for the SC-8820
- add quirk for the MOTU Fastlane
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.