Milton Miller [Thu, 8 Jan 2009 02:14:28 +0000 (02:14 +0000)]
hvc_console: Use kzalloc() instead of kmalloc() + memset()
Replace kmalloc() + memset() with kzalloc().
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Milton Miller [Thu, 8 Jan 2009 02:14:24 +0000 (02:14 +0000)]
hvc_console: Do not set low_latency when using interrupts
hvc_console is setting low_latency unconditionally, but some clients are
interrupt driven and will call hvc_poll from irq context. This will cause
tty_flip_buffer_push to be called from irq context, and it very clearly
states it must not be called from IRQ when low_latency is specified.
Looking back through history:
v2.6.16-rc1 via
33f0f88f1c51ae5c2d593d26960c760ea154c2e2
[PATCH] TTY layer buffering revamp
added this new api.
v2.6.16-rc3 via
8977d929e49021d9a6e031310aab01fa72f849c2
[PATCH] tty buffering stall fix
claims to fix a stall discovered with hvc_console
v2.6.16-rc5 via
fb5c594c2acc441f0d2d8f457484a0e0e9285db3
[PATCH] Fix race condition in hvc console.
said set this flag to avoid a stall problem, and was merged through
the powerpc arch tree.
Without searching for email discussions, it would appear to be an
overlapping "fix", but one that did not consider all users.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Milton Miller [Thu, 8 Jan 2009 02:14:21 +0000 (02:14 +0000)]
hvc_console: Call free_irq() only if request_irq() was successful
Only call free_irq if we marked the request_irq has having succeeded
instead of whenever the the sub-driver identified the interrupt to use.
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Milton Miller [Thu, 8 Jan 2009 02:14:18 +0000 (02:14 +0000)]
hvc_console: Change an mb() to smp_mb() and add some comments
I remember some history on this barrier. There was a race between
open via /dev/console and the tty being fully setup. Its also why
there is a temporary variable and the global is assigned at the end
of the function.
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Stephen Rothwell [Tue, 6 Jan 2009 14:40:06 +0000 (14:40 +0000)]
powerpc: Cleanup from l64 to ll64 change: drivers/net
These are powerpc specific drivers.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Stephen Rothwell [Tue, 6 Jan 2009 14:28:48 +0000 (14:28 +0000)]
powerpc: Cleanup from l64 to ll64 change: drivers/char
This is a powerpc specific driver.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Stephen Rothwell [Tue, 6 Jan 2009 14:27:38 +0000 (14:27 +0000)]
powerpc: Cleanup from l64 to ll64 change: arch code
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Ingo Molnar [Tue, 6 Jan 2009 14:26:03 +0000 (14:26 +0000)]
powerpc: Change u64/s64 to a long long integer type
Convert arch/powerpc/ over to long long based u64:
-#ifdef __powerpc64__
-# include <asm-generic/int-l64.h>
-#else
-# include <asm-generic/int-ll64.h>
-#endif
+#include <asm-generic/int-ll64.h>
This will avoid reoccuring spurious warnings in core kernel code that
comes when people test on their own hardware. (i.e. x86 in ~98% of the
cases) This is what x86 uses and it generally helps keep 64-bit code
32-bit clean too.
[Adjusted to not impact user mode (from paulus) - sfr]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Milton Miller [Fri, 2 Jan 2009 10:46:15 +0000 (10:46 +0000)]
powerpc/kexec: Check crash_base for relocatable kernel
Enforce that the crash kernel region never overlaps the current kernel,
as it will be written directly on kexec load.
Also, default to the previous KDUMP_KERNELBASE if the start is 0.
Other architectures (x86, ia64) state that specifying the start address
0 (or omitting it) will result in the kernel allocating it. Before the
relocatable patch in 2.6.28, powerpc would adjust any other start value
to the hardcoded KDUMP_KERNELBASE of 32M.
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Milton Miller [Fri, 2 Jan 2009 10:46:04 +0000 (10:46 +0000)]
powerpc: Make dummy section a valid note header
We are declaring the dummy section (used to work around a binutils
bug) as PT_NOTE, but we don't have enough bytes for it to be a valid
note header, and kexec userspace complains:
Warning: Elf Note name is not null terminated
Warning: append= option is not passed. Using the first kernel root partition
Warning: Elf Note name is not null terminated
Instead of using the arbitray value 0xf177 (aka "fill"), declare a
no-name no-description note of type 0.
Signed-off-by: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Benjamin Herrenschmidt [Tue, 13 Jan 2009 02:59:11 +0000 (13:59 +1100)]
Merge commit 'gcl/gcl-next' into next
Benjamin Herrenschmidt [Tue, 13 Jan 2009 02:59:03 +0000 (13:59 +1100)]
Merge commit 'kumar/kumar-next' into next
Arjan van de Ven [Sun, 11 Jan 2009 15:35:01 +0000 (15:35 +0000)]
async: fix __lowest_in_progress()
At 37000 feet somewhere near Greenland I woke up from a half-sleep with the
realisation that __lowest_in_progress() is buggy. After landing I checked
and there were indeed 2 problems with it; this patch fixes both:
* The order of the list checks was wrong
* The locking was not correct.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Arjan van de Ven [Sun, 11 Jan 2009 15:03:23 +0000 (15:03 +0000)]
script: improve markup_oops.pl to also decode oopses in modules
There has been some light flamewar on lkml about decoding oopses
in modules (as part of the crashdump flamewar).
Now this isn't rocket science, just the markup_oops.pl script
cheaped out and didn't handle modules. But really; a flamewar
all about that?? What happened to C++ in the kernel or reading
files from inside the kernel?
This patch adds module support to markup_oops.pl; it's not the
most pretty perl but it works for my testcases...
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Chris Adams [Sun, 11 Jan 2009 19:49:11 +0000 (19:49 +0000)]
ti_usb_3410_5052: add Multi-Tech firmware
Add the Multi-Tech cellular modem firmware to the TI USB serial driver.
This firmware was extracted from:
ftp://ftp.multitech.com/wireless/wireless_linux.zip
Firmware licence: "all firmware components are redistributable in binary
form" per support@multitech.com
Copyright (C) 2005 Multi-Tech Systems, Inc.
Signed-off-by: Chris Adams <cmadams@hiwaay.net>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Chris Adams [Sun, 11 Jan 2009 19:49:00 +0000 (19:49 +0000)]
ti_usb_3410_5052: add Multi-Tech modem support
Add Multi-Tech cellular modem support to the ti_usb_3410_5052 driver.
Signed-off-by: Chris Adams <cmadams@hiwaay.net>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Chris Adams [Sun, 11 Jan 2009 19:48:53 +0000 (19:48 +0000)]
ti_usb_3410_5052: support alternate firmware
The TI USB serial driver supports specifying alternate vendor and
product IDs (since the chips can and are used in devices under other
vendor/product IDs). However, the alternate IDs were not loaded in the
combined product table. This patch also adds support for loading
alternate firmware for alternate vendor/product IDs.
Signed-off-by: Chris Adams <cmadams@hiwaay.net>
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Alan Cox [Sun, 11 Jan 2009 19:48:41 +0000 (19:48 +0000)]
usb-serial: remove NULL check
Julia Lawell found a case where a NULL check was misplaced in the
usb-serial code. However as the object in question cannot be NULL the
check can simply be removed.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Alan Cox [Sun, 11 Jan 2009 19:48:34 +0000 (19:48 +0000)]
neo: Remove a bogus NULL check
Julia Lawall found an un-needed check in the neo driver. Her patch moves
the check to cover the code dereferencing it, however it cannot be NULL
anyway so remove the NULL check instead.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Alan Cox [Sun, 11 Jan 2009 19:46:49 +0000 (19:46 +0000)]
pty: Fix documentation
The pty changes and updates for window sizing forgot to correct the
kerneldoc
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Tue, 13 Jan 2009 00:29:00 +0000 (16:29 -0800)]
Merge branch 'sched-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip
* 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
kernel/sched.c: add missing forward declaration for 'double_rq_lock'
sched: partly revert "sched debug: remove NULL checking in print_cfs_rt_rq()"
cpumask: fix CONFIG_NUMA=y sched.c
Linus Torvalds [Tue, 13 Jan 2009 00:28:26 +0000 (16:28 -0800)]
Merge branch 'core-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
sparc64: Fix cpumask related build failure
smp_call_function_single(): be slightly less stupid, fix
smp_call_function_single(): be slightly less stupid
rcu: fix bug in rcutorture system-shutdown code
Linus Torvalds [Tue, 13 Jan 2009 00:27:24 +0000 (16:27 -0800)]
Merge branch 'for-next' of git://git.o-hand.com/linux-mfd
* 'for-next' of git://git.o-hand.com/linux-mfd:
mfd: Fix twl4030-core build
mfd: Ensure sm501 GPIO pin mode is GPIO when configured
mfd: dm355 evm MMC/SD card detection
regulator: PCF50633 pmic driver
input: PCF50633 input driver
power_supply: PCF50633 battery charger driver
rtc: PCF50633 rtc driver
mfd: PCF50633 gpio support
mfd: PCF50633 adc driver
mfd: PCF50633 core driver
Linus Torvalds [Tue, 13 Jan 2009 00:25:35 +0000 (16:25 -0800)]
Merge branch 'upstream' of git://ftp.linux-mips.org/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (37 commits)
MIPS: Only write c0_framemask on CPUs which have this register.
MIPS: Alchemy: new userspace suspend interface for development boards.
MIPS: Alchemy: dbdma suspend/resume support.
MIPS: Alchemy: Fix up PM code on Au1550/Au1200
MIPS: Alchemy: move calc_clock function.
MIPS: Alchemy: RTC counter clocksource / clockevent support.
MIPS: make cp0 counter clocksource/event usable as fallback.
MIPS: Alchemy: remove cpu_table.
MIPS: Alchemy: remove get/set_au1x00_lcd_clock().
MIPS: Print irq handler description
MIPS: Alchemy: pb1200: update CPLD cascade irq handler.
MIPS: Alchemy: update core interrupt code.
MIPS: Alchemy: move commandline mangling out of common code
MIPS: Alchemy: devboards: consolidate files
MIPS: Alchemy: Move development board code to common subdirectory
MIPS: Add Cavium OCTEON to arch/mips/Kconfig
MIPS: Add defconfig for Cavium OCTEON.
MIPS: Adjust the dma-common.c platform hooks.
MIPS: Add Cavium OCTEON slot into proper tlb category.
MIPS: Compute branch returns for Cavium OCTEON specific branch instructions.
...
Linus Torvalds [Tue, 13 Jan 2009 00:22:31 +0000 (16:22 -0800)]
Merge git://git./linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits)
ucc_geth: use correct UCCE macros
net_dma: acquire/release dma channels on ifup/ifdown
cxgb3: Keep LRO off if disabled when interface is down
sfc: SFT9001: Fix condition for LNPGA power-off
dccp ccid-3: Fix RFC reference
smsc911x: register irq with device name, not driver name
smsc911x: fix smsc911x_reg_read compiler warning
forcedeth: napi schedule lock fix
net: fix section mismatch warnings in dccp/ccids/lib/tfrc.c
forcedeth: remove mgmt unit for mcp79 chipset
qlge: Remove dynamic alloc of rx ring control blocks.
qlge: Fix schedule while atomic issue.
qlge: Remove support for device ID 8000.
qlge: Get rid of split addresses in hardware control blocks.
qlge: Get rid of volatile usage for shadow register.
forcedeth: version bump and copyright
forcedeth: xmit lock fix
netdev: missing validate_address hooks
netdev: add missing set_mac_address hook
netdev: gianfar: add MII ioctl handler
...
Linus Torvalds [Tue, 13 Jan 2009 00:22:12 +0000 (16:22 -0800)]
Merge git://git./linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
sparc: Fix asm/signal.h for 32-bit.
sparc: Eliminate PROMLIB_INTERNAL as it does nothing
sparc: Kill exports of prom internal functions
sparc64: move EXPORT_SYMBOL to the symbols definition
sparc: move EXPORT_SYMBOL to the symbols definition
sparc: Create a new file lib/ksyms.c and add export of all symbols defined in assembler in lib/ to this file.
sparc: Most unaligned_64.c tweaks for branch tracer warnings.
sparc: Fix sun4d_irq.c build.
sparc: Update 32-bit defconfig.
sparc64: fix warnings in psycho_common after ull conversion
Linus Torvalds [Mon, 12 Jan 2009 23:57:34 +0000 (15:57 -0800)]
Merge branch 'for_2.6.29' of git://git./linux/kernel/git/kkeil/ISDN-2.6
* 'for_2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6:
Fix small typo
misdn: indentation and braces disagree - add braces
misdn: one handmade ARRAY_SIZE converted
drivers/isdn/hardware/mISDN: move a dereference below a NULL test
indentation & braces disagree - add braces
Make parameter debug writable
BUGFIX: used NULL pointer at ioctl(sk,IMGETDEVINFO,&devinfo) when devinfo.id not registered
Linus Torvalds [Mon, 12 Jan 2009 23:56:33 +0000 (15:56 -0800)]
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog
* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
[WATCHDOG] Pika Warp appliance watchdog timer
[WATCHDOG] Enable watchdog timer on GE Fanuc's SBC610
[WATCHDOG] Basic support for GE Fanuc's FPGA based watchdog timer
[WATCHDOG] wm8350: Fix section annotations
Linus Torvalds [Mon, 12 Jan 2009 23:55:19 +0000 (15:55 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/geert/linux-m68k
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (30 commits)
m68k: Fix --build-id breakage for sun3
m68k: Wire up sys_restart_syscall
fbdev: Kill Atari vblank cursor blinking
m68k: zorro - Use %pR to print resources
m68k: dio - Kill resource_size_t format warnings
m68k: dmasound - Kill warn_unused_result warnings
m68k: zorro - Kill warn_unused_result warnings
m68k: dio - Kill warn_unused_result warnings
m68k: atafb - Kill warn_unused_result warnings
m68k: amiserial - Kill warn_unused_result warnings
m68k: ser_a2232 - Kill warn_unused_result warnings
m68k: vme_scc - Kill warn_unused_result warnings
m68k: sun3 core - Kill warn_unused_result warnings
m68k: mvme147 core - Kill warn_unused_result warnings
m68k: mac core - Kill warn_unused_result warnings
m68k: hp300 core - Kill warn_unused_result warnings
m68k: atari core - Kill warn_unused_result warnings
m68k: apollo core - Kill warn_unused_result warnings
m68k: amiga core - Kill warn_unused_result warnings
m68k: Kill several external declarations in source files
...
Linus Torvalds [Mon, 12 Jan 2009 23:54:27 +0000 (15:54 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/teigland/dlm
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
dlm: change rsbtbl rwlock to spinlock
dlm: fix seq_file usage in debugfs lock dump
Linus Torvalds [Mon, 12 Jan 2009 23:53:58 +0000 (15:53 -0800)]
Merge branch 'x86-fixes-for-linus' of git://git./linux/kernel/git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
Revert "cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write"
x86: fix apic.c build error on latest git
x86: fix mpparse.c build error on latest git
x86: avoid theoretical vmalloc fault loop
x86, mtrr: fix types used in userspace exported header
Linus Torvalds [Mon, 12 Jan 2009 23:53:02 +0000 (15:53 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: hda - Use own workqueue
ALSA: hda - add support for Intel DX58SO board
ASoC: TWL4030: Module unloading fix
ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value
ALSA: caiaq - Version 1.3.10
ALSA: hda - Add quirk for Dell Inspiron Mini9
ALSA: caiaq - Fix Oops with MIDI
ASoC: TWL4030: Change the soc_value_enum back to soc_enum
ASoC: Merge the soc_value_enum to soc_enum struct
ALSA: hda - Add quirks for Acer Aspire 5930G and 6930G
ALSA: hda - Add codec ID for MCP73 HDMI
ALSA: hda - Fix typos for AD1882 codecs
ALSA: hda - Add quirk for HP 2230s
Sean MacLennan [Wed, 24 Sep 2008 00:26:26 +0000 (20:26 -0400)]
[WATCHDOG] Pika Warp appliance watchdog timer
The FPGA based watchdog timer used by the Pika Warp appliance.
Signed-off-by: Sean MacLennan <smaclennan@pikatech.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Martyn Welch [Mon, 10 Nov 2008 12:31:33 +0000 (12:31 +0000)]
[WATCHDOG] Enable watchdog timer on GE Fanuc's SBC610
Support for the FPGA based watchdog timer on GE Fanuc's SBC610.
This patch enables one of the watchdog timers found on the SBC610. There are
two identical watchdog timers at different offsets in the above mentioned
boards, however the current driver is only capable of supporting one of them.
The watchdog timers are also capable of generating interrupts at a
user-configurable threshold, though support for this operation is currently
not supported by the driver.
Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Martyn Welch [Mon, 10 Nov 2008 12:31:26 +0000 (12:31 +0000)]
[WATCHDOG] Basic support for GE Fanuc's FPGA based watchdog timer
GE Fanuc SBC610
Support for the FPGA based watchdog timer as found on GE Fanuc's SBC310,
SBC610 and PPC9A Single Board Computers.
This patch adds support for the watchdog timer found in one of the devices
FPGAs. There are two identical watchdog timers at different offsets in the
above mentioned boards, this driver is capable of supporting one of them.
The watchdog timers are also capable of generating interrupts at a
user-configurable threshold, though support for this operation is currently
not supported by the driver.
Signed-off-by: Martyn Welch <martyn.welch@gefanuc.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Mark Brown [Thu, 8 Jan 2009 12:04:27 +0000 (12:04 +0000)]
[WATCHDOG] wm8350: Fix section annotations
The probe and remove functions were incorrectly annotated, with the
misannotation of the remove function causing build failures when built
in.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Al Viro [Mon, 5 Jan 2009 17:28:10 +0000 (17:28 +0000)]
m68k: Fix --build-id breakage for sun3
Counterpart of commit
08a3db94f2a36c28278922732bc281c1722ceb18 ("m68k: Add
NOTES to init data so its discarded at boot") for sun3 build.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Andreas Schwab [Mon, 29 Dec 2008 18:34:57 +0000 (19:34 +0100)]
m68k: Wire up sys_restart_syscall
Make restart blocks working, required for proper syscall restarting.
Signed-off-by: Andreas Schwab <schwab@suse.de>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:11:23 +0000 (14:11 +0100)]
fbdev: Kill Atari vblank cursor blinking
Kill the last remaining vblank cursor blinking user
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:23:35 +0000 (14:23 +0100)]
m68k: zorro - Use %pR to print resources
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:22:01 +0000 (14:22 +0100)]
m68k: dio - Kill resource_size_t format warnings
warning: format '%08lx' expects type 'long unsigned int', but argument 3 has
type 'resource_size_t'
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:25:31 +0000 (14:25 +0100)]
m68k: dmasound - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:21:19 +0000 (14:21 +0100)]
m68k: zorro - Kill warn_unused_result warnings
warning: ignoring return value of 'device_register', declared with attribute
warn_unused_result
warning: ignoring return value of 'device_create_file', declared with
attribute warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:16:41 +0000 (14:16 +0100)]
m68k: dio - Kill warn_unused_result warnings
warning: ignoring return value of 'device_register', declared with attribute
warn_unused_result
warning: ignoring return value of 'device_create_file', declared with
attribute warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:10:11 +0000 (14:10 +0100)]
m68k: atafb - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:13:41 +0000 (14:13 +0100)]
m68k: amiserial - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
and clean up the error path handling.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:08:21 +0000 (14:08 +0100)]
m68k: ser_a2232 - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:07:07 +0000 (14:07 +0100)]
m68k: vme_scc - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:05:24 +0000 (14:05 +0100)]
m68k: sun3 core - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:03:28 +0000 (14:03 +0100)]
m68k: mvme147 core - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:02:27 +0000 (14:02 +0100)]
m68k: mac core - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:02:06 +0000 (14:02 +0100)]
m68k: hp300 core - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:01:32 +0000 (14:01 +0100)]
m68k: atari core - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:01:07 +0000 (14:01 +0100)]
m68k: apollo core - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 30 Dec 2008 13:00:34 +0000 (14:00 +0100)]
m68k: amiga core - Kill warn_unused_result warnings
warning: ignoring return value of 'request_irq', declared with attribute
warn_unused_result
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Sun, 21 Dec 2008 11:03:37 +0000 (12:03 +0100)]
m68k: Kill several external declarations in source files
- Replace external declarations by proper includes where availiable.
The accesses to some symbols had to be modified, as before they were
declared using e.g. "extern int _end", while asm-generic/sections.h uses
e.g. "extern char _end[]"
- Remove unused or superfluous external declarations
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Andreas Bombe [Wed, 10 Dec 2008 01:02:19 +0000 (02:02 +0100)]
m68k: amiflop - Get rid of sleep_on calls
Apart from sleep_on() calls that could be easily converted to
wait_event() and completion calls amiflop also used a flag in ms_delay()
and ms_isr() as a custom mutex for ms_delay() without a need for
explicit unlocking. I converted that to a standard mutex.
The replacement for the unconditional sleep_on() in fd_motor_on() is a
complete_all() together with a INIT_COMPLETION() before the mod_timer()
call. It appears to me that fd_motor_on() might be called concurrently
and fd_select() does not guarantee mutual exclusivity in the case the
same drive gets selected again.
Signed-off-by: Andreas Bombe <aeb@debian.org>
Acked-by: Jörg Dorchain <joerg@dorchain.net>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Kars de Jong [Fri, 21 Nov 2008 12:18:12 +0000 (13:18 +0100)]
m68k: zorro - Add devlist.h and gen-devlist to .gitignore
drivers/zorro/.gitignore: Added devlist.h and gen-devlist to .gitignore file
because they shouldn't be tracked.
Signed-off-by: Kars de Jong <jongk@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Kars de Jong [Thu, 20 Nov 2008 13:28:30 +0000 (14:28 +0100)]
m68k: Add vmlinux.lds to .gitignore
arch/m68k/kernel/.gitignore: Added vmlinux.lds to .gitignore file because it
shouldn't be tracked.
Signed-off-by: Kars de Jong <jongk@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Sun, 21 Dec 2008 14:48:13 +0000 (15:48 +0100)]
fbdev: c2p - Rename c2p to c2p_planar
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Sun, 21 Dec 2008 14:48:12 +0000 (15:48 +0100)]
fbdev: c2p/atafb - Add support for Atari interleaved bitplanes
The c2p() for normal bitplanes is not suitable for interleaved bitplanes with
2 bytes of interleave, causing a garbled penguin logo. Add c2p_iplan2().
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Sun, 4 Jan 2009 10:58:20 +0000 (11:58 +0100)]
fbdev: c2p - Extract common c2p core to c2p_core.h
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Sun, 4 Jan 2009 10:43:00 +0000 (11:43 +0100)]
fbdev: c2p - Cleanups
- Improve comments and naming
- Convert macros to static inline functions
- Remove superfluous `break' after `return'
- Make sure we get a build-time error (undefined reference to
'c2p_unsupported') in case of future misuse
- Replace `unsigned long' by `u32' in comp(), as that's what all callers use
- Use {get,put}_unaligned_be32() in store_planar{,_masked}()
- Use void * for arbitrary pointers
- Use a union to represent pixels/words, to avoid casts
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Sun, 4 Jan 2009 10:42:16 +0000 (11:42 +0100)]
fbdev: c2p - Correct indentation
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 18 Nov 2008 20:13:01 +0000 (21:13 +0100)]
fbdev: atafb - Fix 16 bpp console
- 16 bpp must use the cfb_*() ops
- 16 bpp needs to set up info->pseudo_palette[] (was fbcon_cfb16_cmap[] in
2.4.x)
- Kill commented out 2.4.x fbcon remnants
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Geert Uytterhoeven [Tue, 18 Nov 2008 20:13:01 +0000 (21:13 +0100)]
fbdev: atafb - Fix line length handling
- Make sure par->next_line is always set (this was done for Falcon only),
as all the text console drawing operations need a valid par->next_line,
- Make sure fix->line_length is always set, as some userspace applications
need it because they don't have fallback code for the case where it's zero.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Ingo Molnar [Mon, 12 Jan 2009 09:49:53 +0000 (10:49 +0100)]
Revert "cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write"
This reverts commit
7503bfbae89eba07b46441a5d1594647f6b8ab7d.
Dieter Ries reported bootup soft-hangs and bisected it back to
this commit, and reverting this commit gave him a working system.
The commit introduces work_on_cpu() use into the cpufreq code,
but that is subtly problematic from a lock hierarchy POV: the
hotplug-cpu lock is an highlevel lock that is taken before
lowlevel locks, and in this codepath we are called with the
policy lock taken.
Dieter did not have lockdep enabled so we dont have a nice stack
trace proof for this, but using work_on_cpu() in such a lowlevel
place certainly looks wrong, so we revert the patch.
work_on_cpu() needs to be reworked to be more generally usable.
Reported-by: Dieter Ries <clip2@gmx.de>
Tested-by: Dieter Ries <clip2@gmx.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Jaswinder Singh Rajput [Sun, 11 Jan 2009 15:04:47 +0000 (20:34 +0530)]
x86: fix apic.c build error on latest git
Fix this by reintroducing asm/smp.h include in apic.c - later on
I will fix this by removing non-smp data from smp.h
Also fix the __inquire_remote_apic() prototype/inline.
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Jaswinder Singh Rajput [Sun, 11 Jan 2009 13:08:55 +0000 (18:38 +0530)]
x86: fix mpparse.c build error on latest git
Fix this by reintroducing asm/smp.h include in mpparse.c - later on
I will fix this by removing non-smp data from smp.h.
Reported-by: Petr Titera <P.Titera@century.cz>
Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Andi Kleen [Fri, 9 Jan 2009 20:17:43 +0000 (12:17 -0800)]
x86: avoid theoretical vmalloc fault loop
Ajith Kumar noticed:
I was going through the vmalloc fault handling for x86_64 and am unclear
about the following lines in the vmalloc_fault() function.
pgd = pgd_offset(current->mm ?: &init_mm, address);
pgd_ref = pgd_offset_k(address);
Here the intention is to get the pgd corresponding to the current process
and sync it up with the pgd in init_mm(obtained from pgd_offset_k).
However, for kernel threads current->mm is NULL and hence pgd =
pgd_offset(init_mm, address) = pgd_ref which means the fault handler
returns without setting the pgd entry in the MM structure in the context
of which the kernel thread has faulted. This could lead to never-ending
faults and busy looping of kernel threads like pdflush. So, shouldn't the
pgd = pgd_offset(current->mm ?: &init_mm, address); be pgd =
pgd_offset(current->active_mm ?: &init_mm, address);
We can use active_mm unconditionally because it should be always set.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Takashi Iwai [Mon, 12 Jan 2009 13:06:01 +0000 (14:06 +0100)]
Merge branch 'topic/usb-caiaq' into for-linus
Takashi Iwai [Mon, 12 Jan 2009 13:05:55 +0000 (14:05 +0100)]
Merge branch 'topic/hda' into for-linus
Takashi Iwai [Mon, 12 Jan 2009 13:05:50 +0000 (14:05 +0100)]
Merge branch 'topic/asoc' into for-linus
Karsten Keil [Mon, 12 Jan 2009 12:16:17 +0000 (13:16 +0100)]
Merge branch 'master' of git://git./linux/kernel/git/torvalds/linux-2.6 into for_2.6.29
Takashi Iwai [Mon, 12 Jan 2009 09:09:24 +0000 (10:09 +0100)]
ALSA: hda - Use own workqueue
snd-hda-intel driver used schedule_work() fot the delayed DMA pointer
updates, but this has several potential problems:
- it may block other eventsd works longer
- it may deadlock when probing fails and flush_scheduled_work() is
called during probe callback (as probe callback itself could be
invoked from eventd)
This patch adds an own workq for each driver instance to solve these
problems.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Wu Fengguang [Mon, 12 Jan 2009 01:18:58 +0000 (09:18 +0800)]
ALSA: hda - add support for Intel DX58SO board
The Intel DX58SO board works fine with model ALC883_3ST_6ch_INTEL.
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Benjamin Herrenschmidt [Mon, 12 Jan 2009 00:22:01 +0000 (11:22 +1100)]
powerpc: Fix cpufreq drivers after cpufreq core changes
This updates the cpufreq drivers in arch/powerpc so they build again
after the core cpufreq changes that broke them in commit
in835481d9bcd65720b473db6b38746a74a3964218.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Karsten Keil [Sun, 11 Jan 2009 17:36:30 +0000 (18:36 +0100)]
Fix small typo
Remove additional ;
Signed-off-by: Karsten Keil <kkeil@suse.de>
Ilpo Järvinen [Fri, 9 Jan 2009 20:22:52 +0000 (12:22 -0800)]
misdn: indentation and braces disagree - add braces
This is not buggy due to plain luck as there is only one entry currently
in the element_attributes.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Karsten Keil <kkeil@suse.de>
Ilpo Järvinen [Fri, 9 Jan 2009 20:22:51 +0000 (12:22 -0800)]
misdn: one handmade ARRAY_SIZE converted
Defined as:
static struct device_attribute element_attributes[] = {
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Karsten Keil <kkeil@suse.de>
Julia Lawall [Fri, 9 Jan 2009 20:22:53 +0000 (12:22 -0800)]
drivers/isdn/hardware/mISDN: move a dereference below a NULL test
In each case, if the NULL test is necessary, then the dereference should be
moved below the NULL test.
The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)
// <smpl>
@@
type T;
expression E;
identifier i,fld;
statement S;
@@
- T i = E->fld;
+ T i;
... when != E
when != i
if (E == NULL) S
+ i = E->fld;
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Karsten Keil <kkeil@suse.de>
Ilpo Järvinen [Fri, 9 Jan 2009 20:22:50 +0000 (12:22 -0800)]
indentation & braces disagree - add braces
Nothing is broken because of this - currently.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Karsten Keil [Sun, 11 Jan 2009 16:58:13 +0000 (17:58 +0100)]
Make parameter debug writable
Overseen in the last patch series.
Signed-off-by: Karsten Keil <kkeil@suse.de>
Martin Bachem [Sun, 26 Oct 2008 12:30:09 +0000 (13:30 +0100)]
BUGFIX: used NULL pointer at ioctl(sk,IMGETDEVINFO,&devinfo) when devinfo.id not registered
daxtar example # modprobe hfcsusb
daxtar example # modprobe mISDN_l1loop
daxtar example # ./misdnportinfo
Found 3 devices
id: 0
Dprotocols:
00000006
Bprotocols:
0000000e
protocol: 0
nrbchan: 2
name: HFC-S_USB.1
id: 1
Dprotocols:
00000006
Bprotocols:
0000000e
protocol: 0
nrbchan: 2
name: mISDN_l1loop.1
id: 2
Dprotocols:
00000006
Bprotocols:
0000000e
protocol: 0
nrbchan: 2
name: mISDN_l1loop.2
daxtar example # rmmod hfcsusb
daxtar example # ./misdnportinfo
Found 2 devices
*Segmentation* *fault*
dmesg:
[ 9914.939718] BUG: unable to handle kernel NULL pointer dereference at
000000d4
[ 9914.939721] IP: [<
f8f9f2dd>] :mISDN_core:get_mdevice+0x19/0x22
[ 9914.939729] *pde =
00000000
[ 9914.939732] Oops: 0000 [#14] PREEMPT SMP
[ 9914.939734] Modules linked in: mISDN_l1loop mISDN_core vmnet vmblock vmci vmmon coretemp w83627ehf hwmon_vid rfcomm l2cap blue
tooth usbhid snd_usb_audio snd_usb_lib snd_rawmidi snd_hwdep fuse nvidia(P) uhci_hcd i2c_i801 ehci_hcd snd_hda_intel atl1 usbcore i2c_core parport_seria
l [last unloaded: hfcsusb]
[ 9914.939751] Pid: 29618, comm: misdnportinfo Tainted: P D (2.6.27.3 #5)
[ 9914.939753] EIP: 0060:[<
f8f9f2dd>] EFLAGS:
00210246 CPU: 0
[ 9914.939758] EIP is at get_mdevice+0x19/0x22 [mISDN_core]
[ 9914.939760] EAX:
00000000 EBX:
f8fa791c ECX:
f6afaa58 EDX:
f7960cf4
[ 9914.939762] ESI:
80044944 EDI:
bfc2e62c EBP:
bfc2e62c ESP:
f5adbef4
[ 9914.939763] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
[ 9914.939765] Process misdnportinfo (pid: 29618, ti=
f5ada000 task=
f6bec430 task.ti=
f5ada000)
[ 9914.939767] Stack:
f8f9f4e0 00000000 f8f9f867 bfc2e62c 0000000a c02461e8 00200246 c042dde8
[ 9914.939771]
00000003 c042dde4 00000000 00000001 00200082 c0114775 00000000 00000000
[ 9914.939775]
00000003 f7088010 00200282 f8fa791c 80044944 bfc2e62c bfc2e62c c02f6615
[ 9914.939780] Call Trace:
[ 9914.939782] [<
f8f9f4e0>] _get_mdevice+0x0/0x18 [mISDN_core]
[ 9914.939789] [<
f8f9f867>] base_sock_ioctl+0x7a/0x129 [mISDN_core]
[ 9914.939789] [<
c02461e8>] opost+0x171/0x182
[ 9914.939789] [<
c0114775>] __wake_up+0x29/0x39
[ 9914.939789] [<
c02f6615>] sock_ioctl+0x1b5/0x1d9
[ 9914.939789] [<
c02f6460>] sock_ioctl+0x0/0x1d9
[ 9914.939789] [<
c016794c>] vfs_ioctl+0x1c/0x5d
[ 9914.939789] [<
c0167bcb>] do_vfs_ioctl+0x23e/0x24e
[ 9914.939789] [<
c0167c07>] sys_ioctl+0x2c/0x45
[ 9914.939789] [<
c0102cbd>] sysenter_do_call+0x12/0x21
[ 9914.939789] [<
c0350000>] pci_fixup_i450gx+0x4e/0x56
[ 9914.939789] =======================
[ 9914.939789] Code: 00 68 02 f0 f9 f8 e8 ae b4 2c c7 8b 44 24 04 5a 59 c3 83 ec 04 31 d2 89 04 24 89 e1 b8 ac df fa f8 68 e0 f4
f9 f8 e8 4a b5 2c c7 <8b> 80 d4 00 00 00 5a 59 c3 53 89 cb 8d 90 9c 00 00 00 89 c8 e8
[ 9914.939789] EIP: [<
f8f9f2dd>] get_mdevice+0x19/0x22 [mISDN_core] SS:ESP 0068:
f5adbef4
[ 9914.939858] ---[ end trace
50e18a715b019424 ]---
Signed-off-by: Martin Bachem <m.bachem@gmx.de>
Signed-off-by: Karsten Keil <kkeil@suse.de>
David Miller [Sun, 11 Jan 2009 12:06:40 +0000 (04:06 -0800)]
sparc64: Fix cpumask related build failure
cpumask_of_pcibus() was missing - this triggers on NUMA builds.
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Steven Noonan [Sun, 11 Jan 2009 09:04:22 +0000 (01:04 -0800)]
kernel/sched.c: add missing forward declaration for 'double_rq_lock'
Impact: build fix on certain configs
Added 'double_rq_lock' forward declaration, allowing double_rq_lock
to be used in _double_lock_balance().
Signed-off-by: Steven Noonan <steven@uplinklabs.net>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Sun, 11 Jan 2009 12:03:08 +0000 (13:03 +0100)]
Merge commit 'v2.6.29-rc1' into sched/urgent
Ralf Baechle [Tue, 6 Jan 2009 23:07:20 +0000 (23:07 +0000)]
MIPS: Only write c0_framemask on CPUs which have this register.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Manuel Lauss [Sun, 21 Dec 2008 08:26:27 +0000 (09:26 +0100)]
MIPS: Alchemy: new userspace suspend interface for development boards.
Replace the current sysctl-based suspend interface with a new sysfs-
based one which also uses the Linux-2.6 suspend model.
To configure wakeup sources, a subtree for the demoboards is created
under /sys/power/db1x:
sys/
`-- power
`-- db1x
|-- gpio0
|-- gpio1
|-- gpio2
|-- gpio3
|-- gpio4
|-- gpio5
|-- gpio6
|-- gpio7
|-- timer
|-- timer_timeout
|-- wakemsk
`-- wakesrc
The nodes 'gpio[0-7]' and 'timer' configure the GPIO0..7 and M2
bits of the SYS_WAKEMSK (wakeup source enable) register. Writing '1'
enables a wakesource, 0 disables it.
The 'timer_timeout' node holds the timeout in seconds after which the
TOYMATCH2 event should wake the system.
The 'wakesrc' node holds the SYS_WAKESRC register after wakeup (in hex),
the 'wakemsk' node can be used to get/set the wakeup mask directly.
For example, to have the timer wake the system after 10 seconds of sleep,
the following must be done in userspace:
echo 10 > /sys/power/db1x/timer_timeout
echo 1 > /sys/power/db1x/timer
echo mem > /sys/power/sleep
This patch also removes the homebrew CPU frequency switching code. I don't
understand how it could have ever worked reliably; it does not communicate
the clock changes to peripheral devices other than uarts.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
create mode 100644 arch/mips/alchemy/devboards/pm.c
Manuel Lauss [Sun, 21 Dec 2008 08:26:26 +0000 (09:26 +0100)]
MIPS: Alchemy: dbdma suspend/resume support.
Implement suspend/resume for DBDMA controller and its channels.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Manuel Lauss [Sun, 21 Dec 2008 08:26:25 +0000 (09:26 +0100)]
MIPS: Alchemy: Fix up PM code on Au1550/Au1200
Au1550/Au1200 have a different memory controller which requires additi-
onal code to properly put memory to sleep (code taken from AMD/RMI's
Linux-2.6.11 source package).
Also fix up the remaining pm-related paths to compile on Au1200/Au1550
platforms.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Manuel Lauss [Sun, 21 Dec 2008 08:26:24 +0000 (09:26 +0100)]
MIPS: Alchemy: move calc_clock function.
Now that nothing in time.c depends on calc_clock, it can
be moved to clocks.c where it belongs.
While at it, give it a better non-generic name and call it
as soon as possible in plat_mem_init.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Manuel Lauss [Sun, 21 Dec 2008 08:26:23 +0000 (09:26 +0100)]
MIPS: Alchemy: RTC counter clocksource / clockevent support.
Add support for the 32 kHz counter1 (RTC) as clocksource / clockevent
device. As a nice side effect, this also enables use of the 'wait'
instruction for runtime idle power savings.
If the counters aren't enabled/working properly, fall back on the
cp0 counter clock code.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Manuel Lauss [Sun, 21 Dec 2008 08:26:22 +0000 (09:26 +0100)]
MIPS: make cp0 counter clocksource/event usable as fallback.
The current mips clock build infrastructure lets a system only use
either the MIPS cp0 counter or a SoC specific timer as a clocksource /
clockevent device.
This patch renames the core cp0 counter clocksource / clockevent functions
from mips_* to r4k_* and updates the wrappers in asm-mips/time.h to
call these renamed functions instead.
Chips which can detect whether it is safe to use a chip-specific timer
can now fall back on the cp0 counter if necessary and possible
(e.g. Alchemy with a follow-on patch).
Existing behaviour is not changed in any way.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Manuel Lauss [Sun, 21 Dec 2008 08:26:21 +0000 (09:26 +0100)]
MIPS: Alchemy: remove cpu_table.
Remove the cpu_table:
- move detection of whether c0_config[OD] is read-only and should be set
to fix various chip errata to au1000 headers.
- move detection of write-only sys_cpupll to au1000 headers.
- remove the BCLK switching code: Activation of this features should be
left to the boards using the chips since it also affects external devices
tied to BCLK, and only the board designers know whether it is safe to
enable.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
delete mode 100644 arch/mips/alchemy/common/cputable.c
Manuel Lauss [Sun, 21 Dec 2008 08:26:20 +0000 (09:26 +0100)]
MIPS: Alchemy: remove get/set_au1x00_lcd_clock().
There are no in-tree users, so remove them.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Manuel Lauss [Sun, 21 Dec 2008 08:26:19 +0000 (09:26 +0100)]
MIPS: Print irq handler description
Add the name set by set_irq_chip_and_handler_name() to the output of
/proc/interrupts, like so:
db1200 ~ # cat /proc/interrupts
CPU0
8: 52 Alchemy-IC0-hilevel serial
10: 171 Alchemy-IC0-hilevel au1xxx-mmc
11: 47 Alchemy-IC0-hilevel Au1xxx dbdma
18: 1 Alchemy-IC0-hilevel au1550-spi
29:
1250997 Alchemy-IC0-riseedge timer
37: 211 Alchemy-IC0-hilevel ehci_hcd:usb1, ohci_hcd:usb2
38: 0 Alchemy-IC0-hilevel lcd
72: 2623 DB1200 CPLD-level ide0
73: 257 DB1200 CPLD-level eth0
84: 1 DB1200 CPLD-level sd_insert
85: 0 DB1200 CPLD-level sd_eject
ERR: 0
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Manuel Lauss [Sun, 21 Dec 2008 08:26:18 +0000 (09:26 +0100)]
MIPS: Alchemy: pb1200: update CPLD cascade irq handler.
Tested on Db1200.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Manuel Lauss [Sun, 21 Dec 2008 08:26:17 +0000 (09:26 +0100)]
MIPS: Alchemy: update core interrupt code.
This patch attempts to modernize core Alchemy interrupt handling code.
- add irq_chips for irq controllers instead of irq type,
- add a set_type() hook to change irq trigger type during runtime,
- add a set_wake() hook to control GPIO0..7 based wakeup,
- use linux' IRQF_TRIGGER_ constants instead of homebrew ones,
- enable GENERIC_HARDIRQS_NO__DO_IRQ.
- simplify plat_irq_dispatch
- merge au1xxx_irqmap into irq.c file, the only place where its
contents are referenced.
- board_init_irq() is now mandatory for every board; use it to register
the remaining (gpio-based) interrupt sources; update all boards
accordingly.
Run-tested on Db1200 and other Au1200 based platforms.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
delete mode 100644 arch/mips/alchemy/common/au1xxx_irqmap.c
Manuel Lauss [Sun, 21 Dec 2008 08:26:16 +0000 (09:26 +0100)]
MIPS: Alchemy: move commandline mangling out of common code
Not every alchemy-based board might want these options forced on it,
and most of this stuff seems to be intended for devboard code anyway.
Remove commandline mangling code out of common chip code and instead
add relevant sections to all in-tree boards to not change existing
behaviour.
Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>