platform/kernel/kernel-mfld-blackbay.git
15 years agoMerge branch 'for-next' of git://git.o-hand.com/linux-mfd
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

15 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
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.
  ...

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
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
  ...

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
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

15 years agoMerge branch 'for_2.6.29' of git://git.kernel.org/pub/scm/linux/kernel/git/kkeil...
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

15 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
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

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux...
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
  ...

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm
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

15 years agoMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
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

15 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
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

15 years ago[WATCHDOG] Pika Warp appliance watchdog timer
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>
15 years ago[WATCHDOG] Enable watchdog timer on GE Fanuc's SBC610
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>
15 years ago[WATCHDOG] Basic support for GE Fanuc's FPGA based watchdog timer
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>
15 years ago[WATCHDOG] wm8350: Fix section annotations
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>
15 years agom68k: Fix --build-id breakage for sun3
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>
15 years agom68k: Wire up sys_restart_syscall
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>
15 years agofbdev: Kill Atari vblank cursor blinking
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>
15 years agom68k: zorro - Use %pR to print resources
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>
15 years agom68k: dio - Kill resource_size_t format warnings
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>
15 years agom68k: dmasound - Kill warn_unused_result warnings
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>
15 years agom68k: zorro - Kill warn_unused_result warnings
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>
15 years agom68k: dio - Kill warn_unused_result warnings
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>
15 years agom68k: atafb - Kill warn_unused_result warnings
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>
15 years agom68k: amiserial - Kill warn_unused_result warnings
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>
15 years agom68k: ser_a2232 - Kill warn_unused_result warnings
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>
15 years agom68k: vme_scc - Kill warn_unused_result warnings
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>
15 years agom68k: sun3 core - Kill warn_unused_result warnings
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>
15 years agom68k: mvme147 core - Kill warn_unused_result warnings
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>
15 years agom68k: mac core - Kill warn_unused_result warnings
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>
15 years agom68k: hp300 core - Kill warn_unused_result warnings
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>
15 years agom68k: atari core - Kill warn_unused_result warnings
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>
15 years agom68k: apollo core - Kill warn_unused_result warnings
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>
15 years agom68k: amiga core - Kill warn_unused_result warnings
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>
15 years agom68k: Kill several external declarations in source files
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>
15 years agom68k: amiflop - Get rid of sleep_on calls
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>
15 years agom68k: zorro - Add devlist.h and gen-devlist to .gitignore
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>
15 years agom68k: Add vmlinux.lds to .gitignore
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>
15 years agofbdev: c2p - Rename c2p to c2p_planar
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>
15 years agofbdev: c2p/atafb - Add support for Atari interleaved bitplanes
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>
15 years agofbdev: c2p - Extract common c2p core to c2p_core.h
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>
15 years agofbdev: c2p - Cleanups
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>
15 years agofbdev: c2p - Correct indentation
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>
15 years agofbdev: atafb - Fix 16 bpp console
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>
15 years agofbdev: atafb - Fix line length handling
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>
15 years agoRevert "cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write"
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>
15 years agox86: fix apic.c build error on latest git
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>
15 years agox86: fix mpparse.c build error on latest git
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>
15 years agox86: avoid theoretical vmalloc fault loop
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>
15 years agoMerge branch 'topic/usb-caiaq' into for-linus
Takashi Iwai [Mon, 12 Jan 2009 13:06:01 +0000 (14:06 +0100)]
Merge branch 'topic/usb-caiaq' into for-linus

15 years agoMerge branch 'topic/hda' into for-linus
Takashi Iwai [Mon, 12 Jan 2009 13:05:55 +0000 (14:05 +0100)]
Merge branch 'topic/hda' into for-linus

15 years agoMerge branch 'topic/asoc' into for-linus
Takashi Iwai [Mon, 12 Jan 2009 13:05:50 +0000 (14:05 +0100)]
Merge branch 'topic/asoc' into for-linus

15 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux...
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

15 years agoALSA: hda - Use own workqueue
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>
15 years agoALSA: hda - add support for Intel DX58SO board
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>
15 years agopowerpc: Fix cpufreq drivers after cpufreq core changes
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>
15 years agoFix small typo
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>
15 years agomisdn: indentation and braces disagree - add braces
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>
15 years agomisdn: one handmade ARRAY_SIZE converted
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>
15 years agodrivers/isdn/hardware/mISDN: move a dereference below a NULL test
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>
15 years agoindentation & braces disagree - add braces
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>
15 years agoMake parameter debug writable
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>
15 years agoBUGFIX: used NULL pointer at ioctl(sk,IMGETDEVINFO,&devinfo) when devinfo.id not...
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>
15 years agoMIPS: Only write c0_framemask on CPUs which have this register.
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>
15 years agoMIPS: Alchemy: new userspace suspend interface for development boards.
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

15 years agoMIPS: Alchemy: dbdma suspend/resume support.
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>
15 years agoMIPS: Alchemy: Fix up PM code on Au1550/Au1200
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>
15 years agoMIPS: Alchemy: move calc_clock function.
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>
15 years agoMIPS: Alchemy: RTC counter clocksource / clockevent support.
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>
15 years agoMIPS: make cp0 counter clocksource/event usable as fallback.
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>
15 years agoMIPS: Alchemy: remove cpu_table.
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

15 years agoMIPS: Alchemy: remove get/set_au1x00_lcd_clock().
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>
15 years agoMIPS: Print irq handler description
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>
15 years agoMIPS: Alchemy: pb1200: update CPLD cascade irq handler.
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>
15 years agoMIPS: Alchemy: update core interrupt code.
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

15 years agoMIPS: Alchemy: move commandline mangling out of common code
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>
15 years agoMIPS: Alchemy: devboards: consolidate files
Manuel Lauss [Sun, 21 Dec 2008 08:26:15 +0000 (09:26 +0100)]
MIPS: Alchemy: devboards: consolidate files

Share some code and merge small files:
- Extract the prom init code from all devboard files (they only differ in
  memory configuration).
- Merge the irq configuration into board setup code.
- Merge smaller files into board setup code.

Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
 delete mode 100644 arch/mips/alchemy/devboards/db1x00/init.c
 delete mode 100644 arch/mips/alchemy/devboards/pb1000/init.c
 delete mode 100644 arch/mips/alchemy/devboards/pb1000/irqmap.c
 delete mode 100644 arch/mips/alchemy/devboards/pb1100/init.c
 delete mode 100644 arch/mips/alchemy/devboards/pb1100/irqmap.c
 delete mode 100644 arch/mips/alchemy/devboards/pb1200/init.c
 delete mode 100644 arch/mips/alchemy/devboards/pb1500/init.c
 delete mode 100644 arch/mips/alchemy/devboards/pb1500/irqmap.c
 delete mode 100644 arch/mips/alchemy/devboards/pb1550/init.c
 delete mode 100644 arch/mips/alchemy/devboards/pb1550/irqmap.c
 create mode 100644 arch/mips/alchemy/devboards/prom.c

15 years agoMIPS: Alchemy: Move development board code to common subdirectory
Manuel Lauss [Sun, 21 Dec 2008 08:26:14 +0000 (09:26 +0100)]
MIPS: Alchemy: Move development board code to common subdirectory

This should ease sharing of common devboard code.

Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add Cavium OCTEON to arch/mips/Kconfig
David Daney [Thu, 11 Dec 2008 23:33:38 +0000 (15:33 -0800)]
MIPS: Add Cavium OCTEON to arch/mips/Kconfig

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add defconfig for Cavium OCTEON.
David Daney [Thu, 11 Dec 2008 23:33:37 +0000 (15:33 -0800)]
MIPS: Add defconfig for Cavium OCTEON.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Adjust the dma-common.c platform hooks.
David Daney [Thu, 11 Dec 2008 23:33:36 +0000 (15:33 -0800)]
MIPS: Adjust the dma-common.c platform hooks.

We add a dev parameter to plat_unmap_dma_mem(), and hooks for
plat_dma_supported() and plat_extra_sync_for_device() which should be
nop changes for all existing targets.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add Cavium OCTEON slot into proper tlb category.
David Daney [Thu, 11 Dec 2008 23:33:35 +0000 (15:33 -0800)]
MIPS: Add Cavium OCTEON slot into proper tlb category.

Expand the case statement for build_tlb_write_entry so that it does
the right thing on Cavium CPU variants.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: Paul Gortmaker <Paul.Gortmaker@windriver.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Compute branch returns for Cavium OCTEON specific branch instructions.
David Daney [Thu, 11 Dec 2008 23:33:34 +0000 (15:33 -0800)]
MIPS:  Compute branch returns for Cavium OCTEON specific branch instructions.

For Cavium OCTEON, compute the return epc value for OCTEON specific
branch instructions.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Cavium OCTEON multiplier state preservation.
David Daney [Thu, 11 Dec 2008 23:33:33 +0000 (15:33 -0800)]
MIPS: Cavium OCTEON multiplier state preservation.

For OCTEON, implement a save and restore of the multiplier state
across context switches.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add SMP_ICACHE_FLUSH for the Cavium CPU family.
David Daney [Thu, 11 Dec 2008 23:33:32 +0000 (15:33 -0800)]
MIPS: Add SMP_ICACHE_FLUSH for the Cavium CPU family.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: Paul Gortmaker <Paul.Gortmaker@windriver.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add Cavium OCTEON specific registers to ptrace.h and asm-offsets.c
David Daney [Thu, 11 Dec 2008 23:33:31 +0000 (15:33 -0800)]
MIPS: Add Cavium OCTEON specific registers to ptrace.h and asm-offsets.c

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add Cavium OCTEON cop2/cvmseg state entries to processor.h.
David Daney [Thu, 11 Dec 2008 23:33:30 +0000 (15:33 -0800)]
MIPS: Add Cavium OCTEON cop2/cvmseg state entries to processor.h.

Add in the cop2 and cvmseg state info to the known proc reg
data for Cavium so that it can be tracked, saved, restored.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Modify core io.h macros to account for the Octeon Errata Core-301.
David Daney [Thu, 11 Dec 2008 23:33:29 +0000 (15:33 -0800)]
MIPS: Modify core io.h macros to account for the Octeon Errata Core-301.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Hook up Cavium OCTEON in arch/mips.
David Daney [Thu, 11 Dec 2008 23:33:28 +0000 (15:33 -0800)]
MIPS: Hook up Cavium OCTEON in arch/mips.

Take all the OCTEON specific files that were added, and hook them into
the build system for the arch/mips.  For versions of GCC that lack
OCTEON support, override gas target architecture.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Hook Cavium OCTEON cache init into cache.c
David Daney [Thu, 11 Dec 2008 23:33:27 +0000 (15:33 -0800)]
MIPS: Hook Cavium OCTEON cache init into cache.c

Follow precedent of other boards, and hook-up the CPU specific cache
init.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add Cavium OCTEON processor constants and CPU probe.
David Daney [Thu, 11 Dec 2008 23:33:26 +0000 (15:33 -0800)]
MIPS: Add Cavium OCTEON processor constants and CPU probe.

Add OCTEON constants to asm/cpu.h and asm/module.h.

Add probe function for Cavium OCTEON CPUs and hook it up.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Override assembler target architecture for octeon.
David Daney [Thu, 11 Dec 2008 23:33:25 +0000 (15:33 -0800)]
MIPS: Override assembler target architecture for octeon.

Gas from binutils 2.19 fails to compile some cop1 instructions with
-march=octeon.  Since the cop1 instructions are present in mips1, use
that arch instead.  This will be fixed in binutils 2.20.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add Cavium OCTEON specific register definitions to mipsregs.h
David Daney [Thu, 11 Dec 2008 23:33:24 +0000 (15:33 -0800)]
MIPS: Add Cavium OCTEON specific register definitions to mipsregs.h

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: For Cavium OCTEON set hwrena and lazily restore CP2 state.
David Daney [Thu, 11 Dec 2008 23:33:23 +0000 (15:33 -0800)]
MIPS: For Cavium OCTEON set hwrena and lazily restore CP2 state.

If on Cavium, be aware of cop2 and hwrena during do_cpu().

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: Paul Gortmaker <Paul.Gortmaker@windriver.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: For Cavium OCTEON handle hazards as per the R10000 handling.
David Daney [Thu, 11 Dec 2008 23:33:22 +0000 (15:33 -0800)]
MIPS: For Cavium OCTEON handle hazards as per the R10000 handling.

For Cavium CPU, we treat the same as R10000, in that all hazards
are dealt with in hardware.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: Paul Gortmaker <Paul.Gortmaker@windriver.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon.
David Daney [Fri, 9 Jan 2009 00:46:40 +0000 (16:46 -0800)]
MIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon.

These are the rest of the new files needed to add OCTEON processor
support to the Linux kernel.  Other than Makefile and Kconfig which
should be obvious, we have:

csrc-octeon.c   -- Clock source driver for OCTEON.
dma-octeon.c    -- Helper functions for mapping DMA memory.
flash_setup.c   -- Register on-board flash with the MTD subsystem.
octeon-irq.c    -- OCTEON interrupt controller managment.
octeon-memcpy.S -- Optimized memcpy() implementation.
serial.c        -- Register 8250 platform driver and early console.
setup.c         -- Early architecture initialization.
smp.c           -- OCTEON SMP support.
octeon_switch.S -- Scheduler context switch for OCTEON.
c-octeon.c      -- OCTEON cache controller support.
cex-oct.S       -- OCTEON cache exception handler.

asm/mach-cavium-octeon/*.h -- Architecture include files.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
 create mode 100644 arch/mips/cavium-octeon/Kconfig
 create mode 100644 arch/mips/cavium-octeon/Makefile
 create mode 100644 arch/mips/cavium-octeon/csrc-octeon.c
 create mode 100644 arch/mips/cavium-octeon/dma-octeon.c
 create mode 100644 arch/mips/cavium-octeon/flash_setup.c
 create mode 100644 arch/mips/cavium-octeon/octeon-irq.c
 create mode 100644 arch/mips/cavium-octeon/octeon-memcpy.S
 create mode 100644 arch/mips/cavium-octeon/serial.c
 create mode 100644 arch/mips/cavium-octeon/setup.c
 create mode 100644 arch/mips/cavium-octeon/smp.c
 create mode 100644 arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h
 create mode 100644 arch/mips/include/asm/mach-cavium-octeon/dma-coherence.h
 create mode 100644 arch/mips/include/asm/mach-cavium-octeon/irq.h
 create mode 100644 arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h
 create mode 100644 arch/mips/include/asm/mach-cavium-octeon/war.h
 create mode 100644 arch/mips/include/asm/octeon/octeon.h
 create mode 100644 arch/mips/kernel/octeon_switch.S
 create mode 100644 arch/mips/mm/c-octeon.c
 create mode 100644 arch/mips/mm/cex-oct.S

15 years agoMIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon/executive...
David Daney [Tue, 23 Dec 2008 23:22:14 +0000 (15:22 -0800)]
MIPS: Add Cavium OCTEON processor support files to arch/mips/cavium-octeon/executive and asm/octeon.

These files are used to coordinate resource sharing between all of
the programs running on the OCTEON SOC.  The OCTEON processor has many
CPU cores (current parts have up to 16, but more are possible).  It
also has a variety of on-chip hardware blocks for things like network
acceleration, encryption and RAID.

One typical configuration is to run Linux on several of the CPU cores,
and other dedicated applications on the other cores.

Resource allocation between the various programs running on the system
(Linux kernel and other dedicated applications) needs to be
coordinated.  The code we use to do this we call the 'executive'.  All
of this resource allocation and sharing code is gathered together in
the executive directory.

Included in the patch set are the following files:

cvmx-bootmem.c and cvmx-sysinfo.c -- Coordinate memory allocation.
All memory used by the Linux kernel is obtained here at boot time.

cvmx-l2c.c -- Coordinates operations on the shared level 2 cache.

octeon-model.c  -- Probes chip capabilities and version.

The corresponding headers are in asm/octeon.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
 create mode 100644 arch/mips/cavium-octeon/executive/Makefile
 create mode 100644 arch/mips/cavium-octeon/executive/cvmx-bootmem.c
 create mode 100644 arch/mips/cavium-octeon/executive/cvmx-l2c.c
 create mode 100644 arch/mips/cavium-octeon/executive/cvmx-sysinfo.c
 create mode 100644 arch/mips/cavium-octeon/executive/octeon-model.c
 create mode 100644 arch/mips/include/asm/octeon/cvmx-asm.h
 create mode 100644 arch/mips/include/asm/octeon/cvmx-bootinfo.h
 create mode 100644 arch/mips/include/asm/octeon/cvmx-bootmem.h
 create mode 100644 arch/mips/include/asm/octeon/cvmx-l2c.h
 create mode 100644 arch/mips/include/asm/octeon/cvmx-packet.h
 create mode 100644 arch/mips/include/asm/octeon/cvmx-spinlock.h
 create mode 100644 arch/mips/include/asm/octeon/cvmx-sysinfo.h
 create mode 100644 arch/mips/include/asm/octeon/cvmx.h
 create mode 100644 arch/mips/include/asm/octeon/octeon-feature.h
 create mode 100644 arch/mips/include/asm/octeon/octeon-model.h

15 years agoMIPS: Add Cavium OCTEON processor CSR definitions
David Daney [Thu, 11 Dec 2008 23:33:19 +0000 (15:33 -0800)]
MIPS: Add Cavium OCTEON processor CSR definitions

Here we define the addresses and bit-fields of the Configuration and
Status Registers (CSRs) for some of the hardware functional units on
the OCTEON SOC.

Definitions are needed for:

CIU  -- Central Interrupt Unit.
GPIO -- General Purpose Input Output.
IOB  -- Input / Output {Busing,Bridge}.
IPD  -- Input Packet Data unit.
L2C  -- Level-2 Cache controller.
L2D  -- Level-2 Data cache.
L2T  -- Level-2 cache Tag.
LED  -- Light Emitting Diode controller.
MIO  -- Miscellaneous Input / Output.
POW  -- Packet Order / Work unit.

Signed-off-by: Tomaso Paoletti <tpaoletti@caviumnetworks.com>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: Alchemy: Change strict_strtol to strict_strtoul
Julia Lawall [Tue, 25 Nov 2008 13:12:32 +0000 (14:12 +0100)]
MIPS: Alchemy: Change strict_strtol to strict_strtoul

Since memsize is unsigned, it would seem better to use strict_strtoul that
strict_strtol.

A simplified version of the semantic patch that makes this change is as
follows: (http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@s2@
long e;
position p;
@@

strict_strtol@p(...,&e)

@@
position p != s2.p;
type T;
T e;
@@

- strict_strtol@p
+ strict_strtoul
  (...,&e)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoMIPS: 64-bit: Use generic 32-bit ptrace compat code.
Anirban Sinha [Thu, 13 Nov 2008 19:50:12 +0000 (11:50 -0800)]
MIPS: 64-bit: Use generic 32-bit ptrace compat code.

Signed-off-by: Anirban Sinha <asinha@zeugmasystems.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
15 years agoucc_geth: use correct UCCE macros
Timur Tabi [Sun, 11 Jan 2009 08:25:21 +0000 (00:25 -0800)]
ucc_geth: use correct UCCE macros

The UCC Event Register (UCCE) already has unambigous macro definitions in qe.h,
so we should not be defining our own in the UCC Ethernet driver.

Removed unused local variable 'dev' from ucc_geth_poll(), which fixes
a warning caused by commit 908a7a16b852ffd618a9127be8d62432182d81b4
("net: Remove unused netdev arg from some NAPI interfaces.").

Replaced in_be/out_be pairs with setbits32 or clrbits32, where applicable.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: David S. Miller <davem@davemloft.net>