Daniel Petrini [Wed, 27 Jul 2005 10:59:02 +0000 (03:59 -0700)]
[PATCH] ARM: OMAP: Change return from address to content in dma.c
The following patch changes the return value from functions :
- omap_get_dma_src_pos
- omap_get_dma_dst_pos
in file dma.c.
The original version of the functions returns the address of the
registers that has the related information. The new version returns
the content of the registers: the source and destination addresses of
the current transfer for the given channel.
Tom Rini [Tue, 26 Jul 2005 19:49:53 +0000 (12:49 -0700)]
[PATCH] Change PowerPC MPC8xx maintainer
As Marcelo has been spending a great deal of time working on MPC8xx
systems of late (thanks!) and has more time than I do now for it, I'm
handing this over to him.
Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
RLIMIT_RTPRIO is supposed to grant non privileged users the right to use
SCHED_FIFO/SCHED_RR scheduling policies with priorites bounded by the
RLIMIT_RTPRIO value via sched_setscheduler(). This is usually used by
audio users.
Unfortunately this is broken in 2.6.13rc3 as you can see in the excerpt
from sched_setscheduler below:
/*
* Allow unprivileged RT tasks to decrease priority:
*/
if (!capable(CAP_SYS_NICE)) {
/* can't change policy */
if (policy != p->policy)
return -EPERM;
After the above unconditional test which causes sched_setscheduler to
fail with no regard to the RLIMIT_RTPRIO value the following check is made:
Thus I do believe that the RLIMIT_RTPRIO value must be taken into
account for the policy check, especially as the RLIMIT_RTPRIO limit is
of no use without this change.
[PATCH] acpi: Don't call acpi_sleep_prepare from acpi_power_off
Now that all of the code paths that call acpi_power_off
have been modified to call either call kernel_power_off
(which calls apci_sleep_prepare by way of acpi_shutdown)
or to call acpi_sleep_prepare directly it is redundant to call
acpi_sleep_prepare from acpi_power_off.
So simplify the code and simply don't call acpi_sleep_prepare.
In addition there is a little error handling done so if we
can't register the acpi class we don't hook pm_power_off.
I think I have done the right thing with the CONFIG_PM define
but I'm not certain. Can this code even be compiled if
CONFIG_PM is false?
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
[PATCH] acpi_power_off: Don't switch to the boot cpu
machine_power_off on i386 and x86_64 now switch to the
boot cpu out of paranoia and because the MP Specification indicates it
is a good idea on reboot, so for those architectures it is a noop.
I can't see anything in the acpi spec that requires you to be on
the boot cpu to power off the system, so this should not be an issue
for ia64. In addition ia64 has the altix a massive multi-node
system where switching to the boot cpu sounds insane as we may
hot removed the boot cpu.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
i386 machine_power_off was disabling the local apic
and all of it's users wanted to be on the boot cpu.
So call machine_shutdown which places us on the boot
cpu and disables the apics. This keeps us in sync
and reduces the number of cases we need to worry about in
the power management code.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Call machine_shutdown() to move to the boot cpu
and disable apics. Both acpi_power_off and
apm_power_off want to move to the boot cpu.
and we are already disabling the local apics
so calling machine_shutdown simply reuses
code.
ia64 doesn't have a special path in power_off
for efi so there is no reason i386 should. If
we really need to call the efi power off path
the efi driver can set pm_power_off like everyone
else.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
[PATCH] pcwd.c: Call kernel_power_off not machine_power_off
The call appears to come from process context so kernel_power_off
should be safe. And acpi_power_off won't necessarily work if you just
call machine_power_off.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
[PATCH] swpsuspend: Have suspend to disk use factors of sys_reboot
The suspend to disk code was a poor copy of the code in
sys_reboot now that we have kernel_power_off, kernel_restart
and kernel_halt use them instead of poorly duplicating them inline.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
[PATCH] 68328serial: sysrq should use emergency_reboot
The 68328serial.c driver has a weird local reimplementation of
magic sysrq. The code is architecture specific enough that calling
machine_restart() is probably ok. But there is no reason not to call
emergency_restart() so do so.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
[PATCH] Fix watchdog drivers to call emergency_reboot()
If a watchdog driver has decided it is time to reboot the system
we know something is wrong and we are in interrupt context
so emergency_reboot() is what we want.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
sysrq calls into the reboot path from an interrupt handler
we can either push the code do into process context and
call kernel_restart and get a clean reboot or we can simply
reboot the machine, and increase our chances of actually
rebooting. emergency_reboot() seems like the closest match
to what we have previously done, and what we want.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
It is not safe to call set_cpus_allowed() in interrupt
context and disabling the apics is complicated code.
So unconditionally skip machine_shutdown in machine_emergency_reboot
on x86_64.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
We only want to shutdown the apics if reboot_force
is not specified. Be we are doing this both
in machine_shutdown which is called unconditionally
and if (!reboot_force). So simply call machine_shutdown
if (!reboot_force). It looks like something
went weird with merging some of the kexec patches for
x86_64, and caused this.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
set_cpus_allowed is not safe in interrupt context
and disabling apics is complicated code so don't
call machine_shutdown on i386 from emergency_restart().
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
[PATCH] Don't export machine_restart, machine_halt, or machine_power_off.
machine_restart, machine_halt and machine_power_off are machine
specific hooks deep into the reboot logic, that modules
have no business messing with. Usually code should be calling
kernel_restart, kernel_halt, kernel_power_off, or
emergency_restart. So don't export machine_restart,
machine_halt, and machine_power_off so we can catch buggy users.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
When the kernel is working well and we want to restart cleanly
kernel_restart is the function to use. But in many instances
the kernel wants to reboot when thing are expected to be working
very badly such as from panic or a software watchdog handler.
This patch adds the function emergency_restart() so that
callers can be clear what semantics they expect when calling
restart. emergency_restart() is expected to be callable
from interrupt context and possibly reliable in even more
trying circumstances.
This is an initial generic implementation for all architectures.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
[PATCH] Make ctrl_alt_del call kernel_restart to get a proper reboot.
It is obvious we wanted to call kernel_restart here
but since we don't have it the code was expanded inline and hasn't
been correct since sometime in 2.4.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Because the factors of sys_reboot don't exist people calling
into the reboot path duplicate the code badly, leading to
inconsistent expectations of code in the reboot path.
This patch should is just code motion.
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Tue, 26 Jul 2005 21:08:38 +0000 (14:08 -0700)]
[PATCH] inotify: fix oops fix
Cc: Robert Love <rml@novell.com> Cc: John McCutchan <ttb@tentacle.dhs.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Robert Love [Mon, 25 Jul 2005 19:13:43 +0000 (15:13 -0400)]
[PATCH] inotify: change default limits
Change default inotify limits: Maximum instances per user to 128 and
maximum events per queue to 16k. The max instances used to be 128; the
change to 8 was a mistake. Memory consumption is fine.
Signed-off-by: Robert Love <rml@novell.com> Signed-off-by: John McCutchan <ttb@tentacle.dhs.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Russell King [Tue, 26 Jul 2005 18:44:26 +0000 (19:44 +0100)]
[PATCH] ARM SMP: Add ARMv6 memory barriers
Convert explicit gcc asm-based memory barriers into smp_mb() calls.
These change between barrier() and the ARMv6 data memory barrier
instruction depending on whether ARMv6 SMP is enabled.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This patch lets the Jornada 720 PCMCIA-driver compile again. The
resulting driver has been tested on a Jornada with a CF-card, which
was mounted and accessed successfully.
Signed-off-by: Michael Gernoth <michael@gernoth.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Remove the need for the #ifdefs and place the IRQ handling code for
the s3c2440 into a new file, which is only compiled when the
s3c2440 cpu support is enabled.
Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Tue, 26 Jul 2005 18:20:26 +0000 (19:20 +0100)]
[PATCH] ARM: 2828/1: BAST - remove static map of ASIX area
Patch from Ben Dooks
There is no point in mapping this staticaly, the driver is going
to ioremap() the area as it sees fit. Also correct the dates on
the changelog comments
Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
[PATCH] ARM: 2819/1: Fix several S3C24x0 IIS defines
Patch from Dimitry Andric
- Change S3C2440_IISCON_MPLL to S3C2440_IISMOD_MPLL:
The S3C2440 IISCON register doesn\'t control the master clock selection, this is done with the IISMOD register.
- Correct S3C2410_IISMOD_256FS and S3C2410_IISMOD_384FS:
This is set via bit 2 of IISMOD, not bit 1.
- Add S3C2410_IISCON_PSCEN (prescaler enable), for completeness\' sake.
Signed-off-by: Dimitry Andric <dimitry.andric@tomtom.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
David Brownell [Tue, 26 Jul 2005 12:56:25 +0000 (05:56 -0700)]
[PATCH] ARM: OMAP: mmc MODULE_ALIAS, warnings
As with OHCI, the module name and device name differ, so to
coldplug a MODULE_ALIAS is needed. Plus cope with a recent
API change, removing compile warnings (and oops if you use
the sysfs attributes).
Use DRIVER_NAME more, including as a MODULE_ALIAS so that coldplug
can work by scanning /sys/devices/platform and just modprobing.
Cope with some driver model changes that promote shared attribute
methods.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.ne> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 26 Jul 2005 12:36:18 +0000 (05:36 -0700)]
[PATCH] ARM: OMAP: make Mistral support explicit
This starts packaging support for the Mistral board and its devices
separately from OSK framebuffer support, and supports the "wakeup"
button (SW1) on that board. This involved some mux fixes, both for
the MicroWire stuff (!) and for MPUIO2.
There's still a lot more to be done ... currently the board-specific
setup for the LCD, keypad, touchscreen, and so forth is scattered
throughout several drivers, rather than gathered in one place where
it's more naturally updated to match board revisions (or replaced
for folk using different UI boards).
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 26 Jul 2005 10:36:59 +0000 (03:36 -0700)]
[PATCH] ARM: OMAP: Watchdog
Teach the OMAP watchdog driver about the driver model, including
defining a shutdown method (to stop the timer before kexec etc)
and suspend/resume methods (for system sleep states).
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 26 Jul 2005 10:32:46 +0000 (03:32 -0700)]
[PATCH] ARM: OMAP: RTC cleanups
The big win here is a shrink of runtime code size, but again there's
the usual MODULE_ALIAS_MISCDEV and sparse stuff and more traditional
coding style.
RTC driver cleanups:
- Various "sparse" fixes
- Reduce some pointless code duplication
- Add a MODULE_ALIAS_MISCDEV (supports KMOD)
- Style and other code cleanups
Object code shrinks by almost 800 bytes.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 26 Jul 2005 10:31:22 +0000 (03:31 -0700)]
[PATCH] ARM: OMAP: WDT cleanups
Various cleanups to the OMAP watchdog driver:
* match other watchdog drivers
- file name is /dev/watchdog, as known by watchdog tools
- module alias as the watchdog miscdev (for KMOD)
- warn if the NOWAYOUT logic ever triggers
- default to 60 second timeout, per standard watchdog package
* update limits:
- allow much larger timeouts than 32 seconds (up to 1 day)
- set up the prescaler (timeouts could trigger after months)
* autogate the interface clock
* misc stuff:
- comment updates
- move clock get/put to init/exit sections
- "sparse" fixes
- ... etc
So among other things the busybox "watchdog" command is now unlikely to
reboot right away using its default timeout, since the kernel default
is no longer so unusually short.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 26 Jul 2005 08:19:35 +0000 (01:19 -0700)]
[PATCH] ARM: OMAP: IR
Makes IR driver stop defining and registering its own platform_device.
Also make it properly declare its DMA capability.
Issues noted with IR driver: DMA should just map/unmap SKB data;
no UART1 support; SIR/MIR/FIR selection uses board-specific code.
And there's no OMAP_TAG saying whether IRDA is even relevant.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
David Brownell [Tue, 26 Jul 2005 08:10:40 +0000 (01:10 -0700)]
[PATCH] ARM: OMAP: I2C cleanups
I2C driver cleanups, shrinking object code by a bit over 1KB:
* cleanup debug-only code
- remove the scan code ... doesn't work, among other things
- default debug (and scan) code to "off";
- reduce (ab)use of driver-specific printk wrappers;
* comments:
- correct and/or cleanup;
- remove internal changelog (that's for GIT, BK, CVS, etc);
* move all MODULE_* stuff to conventional locations;
* fix some of the whitespace problems
Plus small bugfixes:
* reserve physical memory addresses instead of virtual i/o ones;
* define the adapter as supporting "I2C_CLASS_HWMON"
* don't clobber driver state if reservation fails
* check directly for I2C rev1 instead of omap1510 CPU;
* using the right driver name in several places.
* startup message info is no longer content-free
Plus start on the "sparse" fixes.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Tony Lindgren <tony@atomide.com>
Michael Chan [Mon, 25 Jul 2005 19:33:22 +0000 (12:33 -0700)]
[TG3]: add 5780 fiber support
Add 5780S support by adding a new tg3_setup_fiber_mii_phy() function and
a timer function for parallel link detection. 5780S uses standard MII
registers for 1000BaseX and runs in GMII mode as opposed to TBI mode on
older serdes chips.
Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Michael Chan [Mon, 25 Jul 2005 19:30:38 +0000 (12:30 -0700)]
[TG3]: add 5780 basic jumbo frame support
Add basic jumbo frames support for 5780. This chip supports jumbo frames
on the standard receive ring without the jumbo ring. The
TG3_FLAG_JUMBO_ENABLE is changed to TG3_FLAG_JUMBO_RING_ENABLE to
indicate using the jumbo ring on 5704 and older chips. A new
TG3_FLG2_JUMBO_CAPABLE flag is added to indicate jumbo frames support
with or without the jumbo ring.
Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 25 Jul 2005 02:36:26 +0000 (19:36 -0700)]
[SPARC64]: Move syscall success and newchild state out of thread flags.
These two bits were accesses non-atomically from assembler
code. So, in order to eliminate any potential races resulting
from that, move these pieces of state into two bytes elsewhere
in struct thread_info.
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Mon, 25 Jul 2005 02:35:08 +0000 (19:35 -0700)]
[SPARC]: Fix __KERNEL_SYSCALLS__ defining in envctrl.c and bbc_envctrl.c
It needs to happen before any header includes because nowadays
some things implicitly include asm/unistd.h which ends up being
before the __KERNEL_SYSCALLS__ define gets done.
Signed-off-by: David S. Miller <davem@davemloft.net>
Use wait-queue directly instead of the deprecated sleep_on()
function. This required adding a local wait-queue. Also use new (added in
separate patch to K-J) usecs to jiffies function to convert value.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: David S. Miller <davem@davemloft.net>