openwrt/staging/blogic.git
14 years agoMIPS: Loongson: Remove unused macro LOONGSON_PERFCNT_IRQ
Wu Zhangjin [Sat, 24 Jul 2010 01:22:15 +0000 (09:22 +0800)]
MIPS: Loongson: Remove unused macro LOONGSON_PERFCNT_IRQ

LOONGSON2_PERFCNT_IRQ is used for the irq number of the performance
overflow interrupts; LOONGSON_PERFCNT_IRQ is unused so remove it.

Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1494/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Loongson: Oprofile: add a new do_perfcnt_IRQ()
Wu Zhangjin [Sat, 24 Jul 2010 01:22:14 +0000 (09:22 +0800)]
MIPS: Loongson: Oprofile: add a new do_perfcnt_IRQ()

On FuLoong-2F IP6 is shared by the performance counter overflow interrupt
and the Bonito northbridge interrupt.  To reduce overhead only call
do_IRQ() when oprofile is enabled to reduce overhead.

This patch adds an inline function do_perfcnt_IRQ() to hide the #if's ,
which can be shared by the other Loongson machines, i.e. gdium.

Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1492/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Loongson: Remove set_irq_trigger_mode()
Wu Zhangjin [Sat, 24 Jul 2010 01:22:13 +0000 (09:22 +0800)]
MIPS: Loongson: Remove set_irq_trigger_mode()

set_irq_trigger_mode() is not needed on all platforms so remove it
and move the related source code to mach_init_irq().

This will allow gdium to share the common irq.c without adding an empty
set_irq_trigger_mode().

Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1493/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoWATCHDOG: Add watchdog driver for OCTEON SOCs
David Daney [Sat, 24 Jul 2010 17:16:05 +0000 (10:16 -0700)]
WATCHDOG: Add watchdog driver for OCTEON SOCs

The OCTEON is a MIPS64 based SOC family with an on chip watchdog unit.

The driver is split into two source files one for the C code and one
for assembly.  Assembly is needed to handle the NMI and then print the
machine state before the reboot is triggered.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Cc: Wim Van Sebroeck <wim@iguana.be>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Marc Zyngier <maz@misterjones.org>
Cc: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Sam Ravnborg <sam@ravnborg.org>
To: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org,
Patchwork: https://patchwork.linux-mips.org/patch/1503/
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
 create mode 100644 drivers/watchdog/octeon-wdt-main.c
 create mode 100644 drivers/watchdog/octeon-wdt-nmi.S

14 years agoMIPS: Define ST0_NMI in asm/mipsregs.h
David Daney [Sat, 24 Jul 2010 01:41:46 +0000 (18:41 -0700)]
MIPS: Define ST0_NMI in asm/mipsregs.h

This is used by the forthcoming OCTEON watchdog patch.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
To: wim@iguana.be
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1498/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Export __cpu_number_map and __cpu_logical_map.
David Daney [Sat, 24 Jul 2010 01:41:45 +0000 (18:41 -0700)]
MIPS: Export __cpu_number_map and __cpu_logical_map.

The forthcoming Octeon watchdog driver will use them.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
To: wim@iguana.be
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1499/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: Export prom_putchar().
David Daney [Sat, 24 Jul 2010 01:41:44 +0000 (18:41 -0700)]
MIPS: Octeon: Export prom_putchar().

The forthcoming watchdog driver will use it.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
To: wim@iguana.be
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1499/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: uasm: Add option to export uasm API.
David Daney [Sat, 24 Jul 2010 01:41:43 +0000 (18:41 -0700)]
MIPS: uasm: Add option to export uasm API.

A 'select EXPORT_UASM' in Kconfig will cause the uasm to be exported
for use in modules.  When it is exported, all the uasm data and code
cease to be __init and __initdata.

Also daddiu_bug cannot be __cpuinitdata if uasm is exported.  The
cleanest thing is to just make it normal data.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
To: wim@iguana.be
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1500/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: uasm: Add BBIT0 and BBIT1 instructions
David Daney [Sat, 24 Jul 2010 01:41:42 +0000 (18:41 -0700)]
MIPS: uasm: Add BBIT0 and BBIT1 instructions

These are OCTEON specific instructions.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
To: wim@iguana.be
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1496/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: uasm: Add drotr32 and uasm_i_drotr_safe.
David Daney [Sat, 24 Jul 2010 01:41:41 +0000 (18:41 -0700)]
MIPS: uasm: Add drotr32 and uasm_i_drotr_safe.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
To: wim@iguana.be
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1495/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: Implement delays with cycle counter.
David Daney [Tue, 1 Jun 2010 20:18:15 +0000 (13:18 -0700)]
MIPS: Octeon: Implement delays with cycle counter.

Power throttling make deterministic delay loops impossible.
Re-implement delays using the cycle counter.  This also allows us to
get rid of the code that calculates loops per jiffy.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1317/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add qi_lb60 board support
Lars-Peter Clausen [Sat, 17 Jul 2010 11:16:29 +0000 (11:16 +0000)]
MIPS: JZ4740: Add qi_lb60 board support

Add support for the qi_lb60 (a.k.a QI Ben NanoNote) clamshell device.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1472/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoPOWER: Add JZ4740 battery driver.
Lars-Peter Clausen [Sat, 19 Jun 2010 04:08:29 +0000 (04:08 +0000)]
POWER: Add JZ4740 battery driver.

Add support for the battery voltage measurement part of the JZ4740 ADC unit.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Anton Vorontsov <cbouatmailru@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1416/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoHWMON: Add JZ4740 ADC driver
Lars-Peter Clausen [Sat, 19 Jun 2010 18:32:58 +0000 (18:32 +0000)]
HWMON: Add JZ4740 ADC driver

Add support for reading the ADCIN pin of the ADC unit on JZ4740 SoCs.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: lm-sensors@lm-sensors.org
Acked-by: Jean Delvare <khali@linux-fr.org>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1425/
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoUSB: Add JZ4740 OHCI support
Lars-Peter Clausen [Sat, 19 Jun 2010 04:08:24 +0000 (04:08 +0000)]
USB: Add JZ4740 OHCI support

Add OHCI glue code for JZ4740 SoCs OHCI module.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: linux-usb@vger.kernel.org
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1411/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMMC: Add support for the controller on JZ4740 SoCs.
Lars-Peter Clausen [Thu, 15 Jul 2010 20:06:04 +0000 (20:06 +0000)]
MMC: Add support for the controller on JZ4740 SoCs.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Matt Fleming <matt@console-pimps.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Matt Fleming <matt@console-pimps.org>
Cc: linux-mmc@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1463/
Patchwork: https://patchwork.linux-mips.org/patch/1523/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMTD: Nand: Add JZ4740 NAND driver
Lars-Peter Clausen [Sat, 17 Jul 2010 11:15:29 +0000 (11:15 +0000)]
MTD: Nand: Add JZ4740 NAND driver

Add support for the NAND controller on JZ4740 SoCs.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: linux-mtd@lists.infradead.org
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1470/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoFBDEV: JZ4740: Add framebuffer driver
Lars-Peter Clausen [Sat, 17 Jul 2010 11:14:34 +0000 (11:14 +0000)]
FBDEV: JZ4740: Add framebuffer driver

Add support for the LCD controller on JZ4740 SoCs.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-fbdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1470/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoRTC: Add JZ4740 RTC driver
Lars-Peter Clausen [Sat, 19 Jun 2010 18:29:50 +0000 (18:29 +0000)]
RTC: Add JZ4740 RTC driver

Add support for the RTC unit on JZ4740 SoCs.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Paul Gortmaker <p_gortmaker@yahoo.com>
Cc: rtc-linux@googlegroups.com
Acked-by: Wan ZongShun <mcuos.com@gmail.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: Alessandro Zummo <a.zummo@towertech.it>,
Patchwork: https://patchwork.linux-mips.org/patch/1424/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add Kbuild files
Lars-Peter Clausen [Sat, 19 Jun 2010 04:08:19 +0000 (04:08 +0000)]
MIPS: JZ4740: Add Kbuild files

Add the Kbuild files for the JZ4740 architecture and adds JZ4740 support
to the MIPS Kbuild files.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1406/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add platform devices
Lars-Peter Clausen [Sat, 17 Jul 2010 11:13:29 +0000 (11:13 +0000)]
MIPS: JZ4740: Add platform devices

Add platform devices for all the JZ4740 platform drivers.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1469/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add prom support
Lars-Peter Clausen [Sat, 19 Jun 2010 04:08:17 +0000 (04:08 +0000)]
MIPS: JZ4740: Add prom support

Add support for initializing arcs_cmdline on JZ4740 based machines and
provides a prom_putchar implementation.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1404/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add serial support
Lars-Peter Clausen [Sat, 19 Jun 2010 04:08:16 +0000 (04:08 +0000)]
MIPS: JZ4740: Add serial support

The JZ4740 UART interface is almost 16550 compatible.
The UART module needs to be enabled by setting a bit in the FCR register
and it has support for receive timeout interrupts.  Instead of adding yet
another machine specific quirk to the 8250 serial driver we provide a
serial_out implementation which sets the required additional flags.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1403/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add PWM support
Lars-Peter Clausen [Sat, 17 Jul 2010 11:12:20 +0000 (11:12 +0000)]
MIPS: JZ4740: Add PWM support

Add support for the PWM part of the timer unit on a JZ4740 SoC.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1468/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add DMA support.
Lars-Peter Clausen [Sat, 19 Jun 2010 04:08:14 +0000 (04:08 +0000)]
MIPS: JZ4740: Add DMA support.

Add support for DMA transfers on JZ4740 SoCs.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1401/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add GPIO support
Lars-Peter Clausen [Sat, 17 Jul 2010 11:11:19 +0000 (11:11 +0000)]
MIPS: JZ4740: Add GPIO support

Add gpiolib support for JZ4740 SoCs.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1467/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add setup code
Lars-Peter Clausen [Sat, 19 Jun 2010 04:08:12 +0000 (04:08 +0000)]
MIPS: JZ4740: Add setup code

Add plat_mem_setup and get_system_type for JZ4740 SoCs.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1399/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add power-management and system reset support
Lars-Peter Clausen [Sat, 19 Jun 2010 04:08:11 +0000 (04:08 +0000)]
MIPS: JZ4740: Add power-management and system reset support

Add support for suspend/resume and poweroff/reboot on a JZ4740 SoC.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1398/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add clocksource/clockevent support.
Lars-Peter Clausen [Sat, 19 Jun 2010 04:08:10 +0000 (04:08 +0000)]
MIPS: JZ4740: Add clocksource/clockevent support.

Add clocksource and clockevent support for the timer/counter unit on
JZ4740 SoCs.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1397/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add timer support
Lars-Peter Clausen [Sat, 19 Jun 2010 04:08:09 +0000 (04:08 +0000)]
MIPS: JZ4740: Add timer support

Add support for the timer/counter unit on a JZ4740 SoC.  This code is used
as a common base for the JZ4740 clocksource/clockevent implementation and
PWM support.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1396/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add IRQ handler code
Lars-Peter Clausen [Sat, 17 Jul 2010 11:08:43 +0000 (11:08 +0000)]
MIPS: JZ4740: Add IRQ handler code

Add support for IRQ handling on a JZ4740 SoC.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1465/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add clock API support.
Lars-Peter Clausen [Sat, 17 Jul 2010 11:10:00 +0000 (11:10 +0000)]
MIPS: JZ4740: Add clock API support.

Add support for managing the clocks found on JZ4740 SoC through the
Linux clock API.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1466/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: JZ4740: Add base support for Ingenic JZ4740 System-on-a-Chip
Lars-Peter Clausen [Sat, 17 Jul 2010 11:07:51 +0000 (11:07 +0000)]
MIPS: JZ4740: Add base support for Ingenic JZ4740 System-on-a-Chip

Adds a new cpu type for the JZ4740 to the Linux MIPS architecture code.
It also adds the iomem addresses for the different components found on
a JZ4740 SoC.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1464/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: HOTPLUG_CPU fixes.
David Daney [Fri, 23 Jul 2010 17:57:51 +0000 (10:57 -0700)]
MIPS: Octeon: HOTPLUG_CPU fixes.

* Rename camel-case InitTLBStart_addr to octeon_bootloader_entry_addr.

* Convert calls to cvmx_read64_uint32(), to simple pointer
  dereferences.

* Set proper ebase.

* Don't confuse coreid and cpu numbers.

* Try to maintain consistent bootloader coremask.

* Update the signature and boot_init_vector of supported bootloaders.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1491/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: Simplify hotcpu_notifier registration.
David Daney [Fri, 23 Jul 2010 17:57:50 +0000 (10:57 -0700)]
MIPS: Octeon: Simplify hotcpu_notifier registration.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1490/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: Clean up SMP CPU numbering.
David Daney [Fri, 23 Jul 2010 17:57:49 +0000 (10:57 -0700)]
MIPS: Octeon: Clean up SMP CPU numbering.

Also number offline CPUs that could potentially be brought on-line
later.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1489/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: Make MSI use handle_simple_irq().
David Daney [Fri, 23 Jul 2010 17:43:49 +0000 (10:43 -0700)]
MIPS: Octeon: Make MSI use handle_simple_irq().

The use of handle_percpu_irq() is not really what we want for MSI, use
handle_simple_irq() instead.  This is probably the prototypical case
for using handle_simple_irq(), because all the MSIs are dispatched from
the root interrupt service routine.

Also since the base IRQ is not shared, don't pass IRQF_SHARED.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1488/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: Get rid of a bunch of MSI IRQ number definitions.
David Daney [Fri, 23 Jul 2010 17:43:48 +0000 (10:43 -0700)]
MIPS: Octeon: Get rid of a bunch of MSI IRQ number definitions.

MSI IRQ numbers are allocated dynamically, so there is no reason to
have all these static definitions.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1487/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: Fix fixup_irqs for HOTPLUG_CPU
David Daney [Fri, 23 Jul 2010 17:43:47 +0000 (10:43 -0700)]
MIPS: Octeon: Fix fixup_irqs for HOTPLUG_CPU

The original version went behind the back of everything, leaving
things in an inconsistent state.

Now we use the irq_set_affinity() to do the work for us.  This has the
advantage that the IRQ core's view of the affinity stays consistent.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1486/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: Improve interrupt handling.
David Daney [Fri, 23 Jul 2010 17:43:46 +0000 (10:43 -0700)]
MIPS: Octeon: Improve interrupt handling.

The main change is to change most of the IRQs from handle_percpu_irq
to handle_fasteoi_irq.  This necessitates extracting all the .ack code
to common functions that are not exposed to the irq core.

The affinity code now acts more sanely, by doing round-robin
distribution instead of broadcasting.

Because of the change to handle_fasteoi_irq and affinity, some of the
IRQs had to be split into separate groups with their own struct
irq_chip to prevent undefined operations on specific IRQ lines.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1485/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: Move MSI code out of octeon-irq.c.
David Daney [Fri, 23 Jul 2010 17:43:45 +0000 (10:43 -0700)]
MIPS: Octeon: Move MSI code out of octeon-irq.c.

Put all the MSI code in one place (msi-octeon.c).  This simplifies
octeon-irq.c and gets rid of some ugly #ifdefs

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1484/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Alchemy: Add basic support for the GPR board
Wolfgang Grandegger [Thu, 15 Jul 2010 09:21:23 +0000 (11:21 +0200)]
MIPS: Alchemy: Add basic support for the GPR board

From: Wolfgang Grandegger <wg@denx.de>

Add basic support for the General Purpose Router (GPR) board from
Trapeze ITS.

Signed-off-by: Wolfgang Grandegger <wg@denx.de>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1460/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: au1000_eth: Get ethernet address from platform_data
Manuel Lauss [Wed, 21 Jul 2010 12:30:50 +0000 (14:30 +0200)]
MIPS: au1000_eth: Get ethernet address from platform_data

au1000_eth uses firmware calls to get a valid MAC address, and changes
it depending on platform device id.  This patch moves this logic out of
the driver into the platform device registration part, where boards with
supported chips can use whatever firmware interface they need; the default
implementation maintains compatibility with existing, YAMON-based firmware.

Tested-by: Wolfgang Grandegger <wg@denx.de>
Acked-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
To: Linux-MIPS <linux-mips@linux-mips.org>
Cc: netdev@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/1481/
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoSERIAL: 8250: Remove SERIAL_8250_AU1X00
Manuel Lauss [Thu, 15 Jul 2010 19:45:05 +0000 (21:45 +0200)]
SERIAL: 8250: Remove SERIAL_8250_AU1X00

Remove the SERIAL_8250_AU1X00 config symbol.  Instead, use the MIPS_ALCHEMY
one which is always defined when building an Au1x00-based platform.

Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
To: Linux-MIPS <linux-mips@linux-mips.org>
Cc: Linux-serial <linux-serial@vger.kernel.org>
Patchwork: https://patchwork.linux-mips.org/patch/1461/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This one depends on a previous patch (which removes SOC_AU1X00 and changes
MACH_ALCHEMY) to apply cleanly (and then actually work), so I'd love for
this to go in via the mips tree.

14 years agoMIPS: Alchemy: remove SOC_AU1X00 in favor of MIPS_ALCHEMY
Manuel Lauss [Thu, 15 Jul 2010 19:45:04 +0000 (21:45 +0200)]
MIPS: Alchemy: remove SOC_AU1X00 in favor of MIPS_ALCHEMY

Remove the CONFIG_SOC_AU1X00 Kconfig symbol since its job can also be done
by MACH_ALCHEMY, now renamed to MIPS_ALCHEMY.

Signed-off-by: Manuel Lauss <manuel.lauss@googlemail.com>
To: Linux-MIPS <linux-mips@linux-mips.org>
Patchwork: https://patchwork.linux-mips.org/patch/1461/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: RM7000: Add support for tertiary cache
Ricardo Mendoza [Mon, 19 Jul 2010 04:00:00 +0000 (05:00 +0100)]
MIPS: RM7000: Add support for tertiary cache

Add support for the external T-cache interface. Allow for platform
independent size probing from 512KB to 8MB in powers of two.

Signed-off-by: Ricardo Mendoza <ricmm@gentoo.org>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1477/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: RM7000: Make use of cache_op() instead of inline asm
Ricardo Mendoza [Mon, 19 Jul 2010 03:59:59 +0000 (04:59 +0100)]
MIPS: RM7000: Make use of cache_op() instead of inline asm

Small cleanup of the cache code to get rid of inline asm, in preparation
to give tertiary cache support.

Signed-off-by: Ricardo Mendoza <ricmm@gentoo.org>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1476/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: tracing: Fix the indentation of mcount.S
Wu Zhangjin [Sat, 17 Jul 2010 19:10:51 +0000 (03:10 +0800)]
MIPS: tracing: Fix the indentation of mcount.S

The commit "MIPS: Tracing: Cleanup the arguments passing of
prepare_ftrace_return" has moved the "jal     prepare_ftrace_return"
instruction after the handling of the 3rd argument but forgot to remove
the superfluous space before the related instructions.

Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1475/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Enable heap randomization.
David Daney [Mon, 19 Jul 2010 20:14:57 +0000 (13:14 -0700)]
MIPS: Enable heap randomization.

Based somewhat on the PPC implementation.

32-bit processes have the heap randomized in an 8MB space, 256MB for
64-bit processes.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1479/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Randomize mmap if randomize_va_space is set
David Daney [Mon, 19 Jul 2010 20:14:56 +0000 (13:14 -0700)]
MIPS: Randomize mmap if randomize_va_space is set

Fairly straight forward: For 32-bit address spaces randomize within a
16MB space, for 64-bit within a 256MB space.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1480/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: MTX-1: cleanup and comments
Bruno Randolf [Sun, 11 Jul 2010 15:40:38 +0000 (00:40 +0900)]
MIPS: MTX-1: cleanup and comments

Add some comments about mtx1_pci_idsel() and remove a dead block of old code.

Signed-off-by: Bruno Randolf <br1@einfach.org>
To: linux-mips@linux-mips.org
To: manuel.lauss@googlemail.com
Cc: florian@openwrt.org
Patchwork: https://patchwork.linux-mips.org/patch/1449/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Loongson: irq.c: Misc cleanups
Shinya Kuribayashi [Sun, 27 Jun 2010 13:52:01 +0000 (22:52 +0900)]
MIPS: Loongson: irq.c: Misc cleanups

* Remove unnecessary 'if (int_status & (1 <<10))' statement
* s/if (foo != 0)/if (foo)/
* Remove unused 'inst_status &= ~(1 << i);' line

Signed-off-by: Shinya Kuribayashi <skuribay@pobox.com>
To: wuzhangjin@gmail.com
CC: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1433/
Acked-by: Wu Zhangjin <wuzhangjin@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: EMMA2RH: Replace EMMA2RH_SW_IRQ_INTxx with EMMA2RH_SW_IRQ(n)
Shinya Kuribayashi [Thu, 17 Jun 2010 11:37:13 +0000 (20:37 +0900)]
MIPS: EMMA2RH: Replace EMMA2RH_SW_IRQ_INTxx with EMMA2RH_SW_IRQ(n)

Don't duplicate worthless lines.

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1390/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: EMMA2RH: Replace EMMA2RH_IRQ_INTxx with EMMA2RH_IRQ_INT(n)
Shinya Kuribayashi [Thu, 17 Jun 2010 11:36:32 +0000 (20:36 +0900)]
MIPS: EMMA2RH: Replace EMMA2RH_IRQ_INTxx with EMMA2RH_IRQ_INT(n)

Don't duplicate worthless lines.

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1389/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: EMMA2RH: Remove EMMA2RH_CPU_CASCADE
Shinya Kuribayashi [Thu, 17 Jun 2010 11:36:13 +0000 (20:36 +0900)]
MIPS: EMMA2RH: Remove EMMA2RH_CPU_CASCADE

Although all EMMAxxx SoCs can support IP2 and IP3 hardware interrupts,
current EMMA2RH plat_irq_dispatch() supports IP2 only.  We can make it
configurable in the future, but for the time being, would like to make
things explicitly allcated to IP2 in accordance with plat_irq_dispatch().

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1388/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: EMMA2RH: Remove useless CPU_IRQ_BASE
Shinya Kuribayashi [Thu, 17 Jun 2010 11:35:58 +0000 (20:35 +0900)]
MIPS: EMMA2RH: Remove useless CPU_IRQ_BASE

For historical reasons, we used to put MIPS CPU IRQs behind SoC-specific
IRQs in the queue, and have been using CPU_IRQ_BASE as MIPS_CPU_IRQ_BASE.
In recent years, however, we've brought it back to normal order, and now
CPU_IRQ_BASE just redefines the generic MIPS_CPU_IRQ_BASE.

At the same time, NUM_CPU_IRQ is also removed as useless.

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1387/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: Define ARCH_HAS_USABLE_BUILTIN_POPCOUNT for OCTEON.
David Daney [Fri, 25 Jun 2010 23:46:08 +0000 (16:46 -0700)]
MIPS: Octeon: Define ARCH_HAS_USABLE_BUILTIN_POPCOUNT for OCTEON.

OCTEON implements __builtin_popcount with a single instruction, so lets use it.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Cc: David Daney <ddaney@caviumnetworks.com>
Patchwork: https://patchwork.linux-mips.org/patch/1431/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Create and use asm/arch_hweight.h
David Daney [Fri, 25 Jun 2010 23:46:07 +0000 (16:46 -0700)]
MIPS: Create and use asm/arch_hweight.h

Some MIPS ISA processor varients can do hweight operations
efficiently.

Split arch_hweight.h into a seperate file, and implement the
operations with __builtin_popcount{,ll} if supported.

Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
Cc: David Daney <ddaney@caviumnetworks.com>
Patchwork: https://patchwork.linux-mips.org/patch/1430/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: AR7: rewrite of cpmac_get_mac()
Alexander Clouter [Mon, 5 Jul 2010 20:11:26 +0000 (21:11 +0100)]
MIPS: AR7: rewrite of cpmac_get_mac()

Shamelessly stealing wisdom from pasemi_mac.c, I found char2hex() could
be replaced with a single call to sscanf(), looks cleaner to me at
least.  The result is 100 bytes trimmed off the size of a compiled
cpmac_get_mac() and as an extra bonus it grumbles and gracefully fails
over to using random_ether_addr() when an attempt to parse an invalid
MAC address is made.

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
To: linux-mips@linux-mips.org
Cc: florian@openwrt.org
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: PowerTV: Simplify command line handling and needed config changes
David VomLehn [Thu, 1 Jul 2010 20:37:52 +0000 (13:37 -0700)]
MIPS: PowerTV: Simplify command line handling and needed config changes

Additional changes to Youichi Yuasa's command line simplication code

The PowerTV platform uses a non-standard way to get the kernel command
line--we insert a built-in command line into arcs_cmdline and to
get additional command line information from the bootloader via a
pointer in the a1 register. It is necessary to insert a space between
to the two strings or the last argument from arcs_cmdline and the first
argument from the bootloader may be inadvertantly combined.

It is also necessary to set CONFIG_CMDLINE_BOOL to "y" and to set the
default command line to an empty string to get the simplified code to
work properly in the PowerTV environment.

Signed-off-by: David VomLehn <dvomlehn@cisco.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1438/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Update comment for cpu_has_clo_clz
Ralf Baechle [Thu, 5 Aug 2010 12:26:01 +0000 (13:26 +0100)]
MIPS: Update comment for cpu_has_clo_clz

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: MSP71xx: Remove dead CONFIG_MTD_PMC_MSP_RAMROOT
Christoph Egger [Wed, 9 Jun 2010 11:23:27 +0000 (13:23 +0200)]
MIPS: MSP71xx: Remove dead CONFIG_MTD_PMC_MSP_RAMROOT

CONFIG_MTD_PMC_MSP_RAMROOT doesn't exist in Kconfig, therefore removing all
references for it from the source code.

Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
To:     Ralf Baechle <ralf@linux-mips.org>,
        Yoichi Yuasa <yuasa@linux-mips.org>, linux-mips@linux-mips.org,
        linux-kernel@vger.kernel.org
Cc: vamos@i4.informatik.uni-erlangen.de
Acked-by: Shane McDonald <mcdonald.shane@gmail.com>
Patchwork: https://patchwork.linux-mips.org/patch/1375/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: PowerTV: Removing dead CONFIG_DIAGNOSTICS
Christoph Egger [Wed, 9 Jun 2010 11:23:02 +0000 (13:23 +0200)]
MIPS: PowerTV: Removing dead CONFIG_DIAGNOSTICS

CONFIG_DIAGNOSTICS doesn't exist in Kconfig, therefore removing all
references for it from the source code.

Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
To: David VomLehn <dvomlehn@cisco.com>
To: Yoichi Yuasa <yuasa@linux-mips.org>
To: linux-mips@linux-mips.org
To: linux-kernel@vger.kernel.org
Cc: vamos@i4.informatik.uni-erlangen.de
Patchwork: https://patchwork.linux-mips.org/patch/1374/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: PNX Removing dead CONFIG_PMCTWILED
Christoph Egger [Wed, 9 Jun 2010 11:22:37 +0000 (13:22 +0200)]
MIPS: PNX Removing dead CONFIG_PMCTWILED

CONFIG_PMCTWILED doesn't exist in Kconfig, therefore removing all
references for it from the source code.

Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
To: linux-mips@linux-mips.org
To: linux-kernel@vger.kernel.org
Cc: vamos@i4.informatik.uni-erlangen.de
Acked-by: Shane McDonald <mcdonald.shane@gmail.com>
Patchwork: https://patchwork.linux-mips.org/patch/1373/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Remove dead CONFIG_MTD_PB1550_BOOT, CONFIG_MTD_PB1550_USER
Christoph Egger [Wed, 9 Jun 2010 11:21:30 +0000 (13:21 +0200)]
MIPS: Remove dead CONFIG_MTD_PB1550_BOOT, CONFIG_MTD_PB1550_USER

CONFIG_MTD_PB1550_BOOT, CONFIG_MTD_PB1550_USER doesn't exist in
Kconfig, therefore removing all references for it from the source
code.

Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
To: Manuel Lauss <manuel.lauss@gmail.com>,
To: linux-mips@linux-mips.org
To: linux-kernel@vger.kernel.org
Cc: vamos@i4.informatik.uni-erlangen.de
Patchwork: https://patchwork.linux-mips.org/patch/1370/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Cavium: Remove dead CONFIG_GDB_CONSOLE
Christoph Egger [Wed, 9 Jun 2010 11:20:41 +0000 (13:20 +0200)]
MIPS: Cavium: Remove dead CONFIG_GDB_CONSOLE

CONFIG_GDB_CONSOLE doesn't exist in Kconfig, therefore removing all
references for it from the source code.

Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
To: David Daney <ddaney@caviumnetworks.com>
To: Yang Shi <yang.shi@windriver.com>
To: Herbert Xu <herbert@gondor.apana.org.au>
To: Tejun Heo <tj@kernel.org>
To: linux-mips@linux-mips.org
To: linux-kernel@vger.kernel.org
Cc: vamos@i4.informatik.uni-erlangen.de
Patchwork: https://patchwork.linux-mips.org/patch/1368/
Acked-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Alchemy: Remove dead CONFIG_SOC_AU1000_FREQUENCY
Christoph Egger [Wed, 9 Jun 2010 11:20:23 +0000 (13:20 +0200)]
MIPS: Alchemy: Remove dead CONFIG_SOC_AU1000_FREQUENCY

CONFIG_SOC_AU1000_FREQUENCY doesn't exist in Kconfig, therefore
removing all references for it from the source code.

Signed-off-by: Christoph Egger <siccegge@cs.fau.de>
To: linux-mips@linux-mips.org
To: linux-kernel@vger.kernel.org
Cc: vamos@i4.informatik.uni-erlangen.de
Patchwork: https://patchwork.linux-mips.org/patch/1367/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Provide more elevant interface cu2_notifier for CP2 extensions.
Ralf Baechle [Thu, 5 Aug 2010 12:25:59 +0000 (13:25 +0100)]
MIPS: Provide more elevant interface cu2_notifier for CP2 extensions.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
Patchwork: https://patchwork.linux-mips.org/patch/1504/

14 years agoMIPS: Remove unnecessary header file inclusion from fault.c.
Ralf Baechle [Thu, 5 Aug 2010 12:25:59 +0000 (13:25 +0100)]
MIPS: Remove unnecessary header file inclusion from fault.c.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoprintk: fix delayed messages from CPU hotplug events
Kevin Cernekee [Fri, 4 Jun 2010 05:11:25 +0000 (22:11 -0700)]
printk: fix delayed messages from CPU hotplug events

When a secondary CPU is being brought up, it is not uncommon for
printk() to be invoked when cpu_online(smp_processor_id()) == 0.  The
case that I witnessed personally was on MIPS:

http://lkml.org/lkml/2010/5/30/4

If (can_use_console() == 0), printk() will spool its output to log_buf
and it will be visible in "dmesg", but that output will NOT be echoed to
the console until somebody calls release_console_sem() from a CPU that
is online.  Therefore, the boot time messages from the new CPU can get
stuck in "limbo" for a long time, and might suddenly appear on the
screen when a completely unrelated event (e.g. "eth0: link is down")
occurs.

This patch modifies the console code so that any pending messages are
automatically flushed out to the console whenever a CPU hotplug
operation completes successfully or aborts.

The issue was seen on 2.6.34.

Original patch by Kevin Cernekee with cleanups by akpm and additional fixes
by Santosh Shilimkar.  This patch superseeds
https://patchwork.linux-mips.org/patch/1357/.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
To: <mingo@elte.hu>
To: <akpm@linux-foundation.org>
To: <simon.kagstrom@netinsight.net>
To: <David.Woodhouse@intel.com>
To: <lethal@linux-sh.org>
Cc: <linux-kernel@vger.kernel.org>
Cc: <linux-mips@linux-mips.org>
Reviewed-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Patchwork: https://patchwork.linux-mips.org/patch/1534/
LKML-Reference: <ede63b5a20af951c755736f035d1e787772d7c28@localhost>
LKML-Reference: <EAF47CD23C76F840A9E7FCE10091EFAB02C5DB6D1F@dbde02.ent.ti.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Clean up arch/mips/Makefile
Sam Ravnborg [Sun, 30 May 2010 14:28:31 +0000 (16:28 +0200)]
MIPS: Clean up arch/mips/Makefile

- Drop CLEAN_FILES assignments that is no longer required
- Add $(Q) in a few rules

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
To: linux-mips <linux-mips@linux-mips.org>
To: Wu Zhangjin <wuzhangjin@gmail.com>
Patchwork: https://patchwork.linux-mips.org/patch/1305/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Refactor arch/mips/boot/compressed/Makefile
Sam Ravnborg [Sun, 30 May 2010 14:28:03 +0000 (16:28 +0200)]
MIPS: Refactor arch/mips/boot/compressed/Makefile

- use hostprogs-y for the elf2ecoff
- list all *.o file in targets
- renamed obj-y to vmlinuzobjs-y (it was confusing to re-use a kbuild variable)
- fix all uses of if_changed/cmd
- use kbuild rules to beautify output
- update clean-file to clean vmlinuz.* in top-level directory

- simplied logic in arch/mips/Makefile for compressed targets

The net result is a more kbuild conformant Makefile but
readability did not increase.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
To: linux-mips <linux-mips@linux-mips.org>
To: Wu Zhangjin <wuzhangjin@gmail.com>
Patchwork: https://patchwork.linux-mips.org/patch/1304/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Refactor arch/mips/boot/Makefile
Sam Ravnborg [Sun, 30 May 2010 14:27:33 +0000 (16:27 +0200)]
MIPS: Refactor arch/mips/boot/Makefile

- remove stuff that is not needed
  VMLINUX assignment, all: rule
- use hostprogs-y for the host program
- use kbuild rules for the three targets - to beautify output
- drop clean-files - it is no longer needed
- simplify arch/mips/Makefile when calling targets in boot/Makefile

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
To: linux-mips <linux-mips@linux-mips.org>
To: Wu Zhangjin <wuzhangjin@gmail.com>
Patchwork: https://patchwork.linux-mips.org/patch/1303/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: PNX8550: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:57 +0000 (13:25 +0100)]
MIPS: PNX8550: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: PNX833x: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:56 +0000 (13:25 +0100)]
MIPS: PNX833x: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: STB8550: Move boards over to obj-y
Ralf Baechle [Thu, 5 Aug 2010 12:25:56 +0000 (13:25 +0100)]
MIPS: STB8550: Move boards over to obj-y

Preparatory cleanup for moving Alchemy over to new  MIPS Platform build
system support.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: STB22x: Move boards over to obj-y
Ralf Baechle [Thu, 5 Aug 2010 12:25:56 +0000 (13:25 +0100)]
MIPS: STB22x: Move boards over to obj-y

Preparatory cleanup for moving Alchemy over to new  MIPS Platform build
system support.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: PNX8550: Move code one directory level up.
Ralf Baechle [Thu, 5 Aug 2010 12:25:56 +0000 (13:25 +0100)]
MIPS: PNX8550: Move code one directory level up.

It was sharing the nxp directory but no code with pnx833x and will fit
better into the new platform makefile scheme, if moved.  Also after the
pnx833x code has been moved up, the pnx8550 Code was the last users of
the nxp dir.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: PNX833x: Move code one directory level up.
Ralf Baechle [Thu, 5 Aug 2010 12:25:55 +0000 (13:25 +0100)]
MIPS: PNX833x: Move code one directory level up.

It was sharing the nxp directory but no code with pnx8550 and will fit
better into the new platform makefile scheme, if moved.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: EMMA: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:55 +0000 (13:25 +0100)]
MIPS: EMMA: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: TXx9: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:55 +0000 (13:25 +0100)]
MIPS: TXx9: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Sibyte: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:55 +0000 (13:25 +0100)]
MIPS: Sibyte: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Octeon: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:54 +0000 (13:25 +0100)]
MIPS: Octeon: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: BCM63xx: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:54 +0000 (13:25 +0100)]
MIPS: BCM63xx: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: BCM47xx: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:54 +0000 (13:25 +0100)]
MIPS: BCM47xx: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Lasat: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:53 +0000 (13:25 +0100)]
MIPS: Lasat: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: PowerTV: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:52 +0000 (13:25 +0100)]
MIPS: PowerTV: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: WRPPMC: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:51 +0000 (13:25 +0100)]
MIPS: WRPPMC: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: WRPPMC: Move code one directory level up.
Ralf Baechle [Thu, 5 Aug 2010 12:25:50 +0000 (13:25 +0100)]
MIPS: WRPPMC: Move code one directory level up.

It was the last platform under gt64120 and will fit better into the new
platform makefile scheme, if moved.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: RB532: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:50 +0000 (13:25 +0100)]
MIPS: RB532: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: IP32: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:50 +0000 (13:25 +0100)]
MIPS: IP32: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Malta: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:50 +0000 (13:25 +0100)]
MIPS: Malta: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: IP22, IP28: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:49 +0000 (13:25 +0100)]
MIPS: IP22, IP28: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: SNI: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:49 +0000 (13:25 +0100)]
MIPS: SNI: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: DECstation: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:49 +0000 (13:25 +0100)]
MIPS: DECstation: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Jazz: Migrate to new platform makefile style.
Ralf Baechle [Thu, 5 Aug 2010 12:25:48 +0000 (13:25 +0100)]
MIPS: Jazz: Migrate to new platform makefile style.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: PMC-Sierra: Move board Makefile parts to their own Platform file
Shane McDonald [Thu, 3 Jun 2010 10:34:06 +0000 (04:34 -0600)]
MIPS: PMC-Sierra: Move board Makefile parts to their own Platform file

Signed-off-by: Shane McDonald <mcdonald.shane@gmail.com>
To: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/1354/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Move VR41xx Makefile parts to their own Platform file
Yoichi Yuasa [Wed, 2 Jun 2010 07:52:21 +0000 (16:52 +0900)]
MIPS: Move VR41xx Makefile parts to their own Platform file

Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org>
Cc: linux-mips <linux-mips@linux-mips.org>
Patchwork: https://patchwork.linux-mips.org/patch/1322/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: Move Cobalt Makefile parts to their own Platform file
Yoichi Yuasa [Wed, 2 Jun 2010 07:51:16 +0000 (16:51 +0900)]
MIPS: Move Cobalt Makefile parts to their own Platform file

Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org>
Cc: linux-mips <linux-mips@linux-mips.org>
Patchwork: https://patchwork.linux-mips.org/patch/1321/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
14 years agoMIPS: IP27: Migrate to new Platform file
Ralf Baechle [Thu, 5 Aug 2010 12:25:47 +0000 (13:25 +0100)]
MIPS: IP27: Migrate to new Platform file

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>