diff options
Diffstat (limited to 'arch/powerpc/platforms/8xx')
| -rw-r--r-- | arch/powerpc/platforms/8xx/Kconfig | 9 | ||||
| -rw-r--r-- | arch/powerpc/platforms/8xx/Makefile | 1 | ||||
| -rw-r--r-- | arch/powerpc/platforms/8xx/ep88xc.c | 2 | ||||
| -rw-r--r-- | arch/powerpc/platforms/8xx/m8xx_setup.c | 17 | ||||
| -rw-r--r-- | arch/powerpc/platforms/8xx/mgsuvd.c | 92 | ||||
| -rw-r--r-- | arch/powerpc/platforms/8xx/mpc86xads_setup.c | 3 | ||||
| -rw-r--r-- | arch/powerpc/platforms/8xx/mpc885ads_setup.c | 3 | ||||
| -rw-r--r-- | arch/powerpc/platforms/8xx/tqm8xx_setup.c | 7 | 
8 files changed, 18 insertions, 116 deletions
diff --git a/arch/powerpc/platforms/8xx/Kconfig b/arch/powerpc/platforms/8xx/Kconfig index dd35ce081cf..bd6f1a1cf92 100644 --- a/arch/powerpc/platforms/8xx/Kconfig +++ b/arch/powerpc/platforms/8xx/Kconfig @@ -26,6 +26,7 @@ config MPC86XADS  config MPC885ADS  	bool "MPC885ADS"  	select CPM1 +	select OF_DYNAMIC  	help  	  Freescale Semiconductor MPC885 Application Development System (ADS).  	  Also known as DUET. @@ -44,17 +45,10 @@ config PPC_EP88XC  config PPC_ADDER875  	bool "Analogue & Micro Adder 875"  	select CPM1 -	select REDBOOT  	help  	  This enables support for the Analogue & Micro Adder 875  	  board. -config PPC_MGSUVD -	bool "MGSUVD" -	select CPM1 -	help -	  This enables support for the Keymile MGSUVD board. -  config TQM8XX  	bool "TQM8XX"  	select CPM1 @@ -119,7 +113,6 @@ config 8xx_COPYBACK  config 8xx_GPIO  	bool "GPIO API Support" -	select GENERIC_GPIO  	select ARCH_REQUIRE_GPIOLIB  	help  	  Saying Y here will cause the ports on an MPC8xx processor to be used diff --git a/arch/powerpc/platforms/8xx/Makefile b/arch/powerpc/platforms/8xx/Makefile index a491fe6b94f..76a81c3350a 100644 --- a/arch/powerpc/platforms/8xx/Makefile +++ b/arch/powerpc/platforms/8xx/Makefile @@ -6,5 +6,4 @@ obj-$(CONFIG_MPC885ADS)   += mpc885ads_setup.o  obj-$(CONFIG_MPC86XADS)   += mpc86xads_setup.o  obj-$(CONFIG_PPC_EP88XC)  += ep88xc.o  obj-$(CONFIG_PPC_ADDER875) += adder875.o -obj-$(CONFIG_PPC_MGSUVD) += mgsuvd.o  obj-$(CONFIG_TQM8XX)      += tqm8xx_setup.o diff --git a/arch/powerpc/platforms/8xx/ep88xc.c b/arch/powerpc/platforms/8xx/ep88xc.c index 7d9ac6040d6..e62166681d0 100644 --- a/arch/powerpc/platforms/8xx/ep88xc.c +++ b/arch/powerpc/platforms/8xx/ep88xc.c @@ -10,6 +10,8 @@   */  #include <linux/init.h> +#include <linux/of_address.h> +#include <linux/of_fdt.h>  #include <linux/of_platform.h>  #include <asm/machdep.h> diff --git a/arch/powerpc/platforms/8xx/m8xx_setup.c b/arch/powerpc/platforms/8xx/m8xx_setup.c index 60168c1f98f..587a2828b06 100644 --- a/arch/powerpc/platforms/8xx/m8xx_setup.c +++ b/arch/powerpc/platforms/8xx/m8xx_setup.c @@ -43,6 +43,7 @@ static irqreturn_t timebase_interrupt(int irq, void *dev)  static struct irqaction tbint_irqaction = {  	.handler = timebase_interrupt, +	.flags = IRQF_NO_THREAD,  	.name = "tbint",  }; @@ -150,7 +151,7 @@ void __init mpc8xx_calibrate_decr(void)  	 */  	cpu = of_find_node_by_type(NULL, "cpu");  	virq= irq_of_parse_and_map(cpu, 0); -	irq = irq_map[virq].hwirq; +	irq = virq_to_hw(virq);  	sys_tmr2 = immr_map(im_sit);  	out_be16(&sys_tmr2->sit_tbscr, ((1 << (7 - (irq/2))) << 8) | @@ -218,15 +219,13 @@ void mpc8xx_restart(char *cmd)  static void cpm_cascade(unsigned int irq, struct irq_desc *desc)  { -	int cascade_irq; - -	if ((cascade_irq = cpm_get_irq()) >= 0) { -		struct irq_desc *cdesc = irq_to_desc(cascade_irq); +	struct irq_chip *chip = irq_desc_get_chip(desc); +	int cascade_irq = cpm_get_irq(); +	if (cascade_irq >= 0)  		generic_handle_irq(cascade_irq); -		cdesc->chip->eoi(cascade_irq); -	} -	desc->chip->eoi(irq); + +	chip->irq_eoi(&desc->irq_data);  }  /* Initialize the internal interrupt controllers.  The number of @@ -246,5 +245,5 @@ void __init mpc8xx_pics_init(void)  	irq = cpm_pic_init();  	if (irq != NO_IRQ) -		set_irq_chained_handler(irq, cpm_cascade); +		irq_set_chained_handler(irq, cpm_cascade);  } diff --git a/arch/powerpc/platforms/8xx/mgsuvd.c b/arch/powerpc/platforms/8xx/mgsuvd.c deleted file mode 100644 index ca3cb071772..00000000000 --- a/arch/powerpc/platforms/8xx/mgsuvd.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - * - * Platform setup for the Keymile mgsuvd board - * - * Heiko Schocher <hs@denx.de> - * - * Copyright 2008 DENX Software Engineering GmbH - * - * This file is licensed under the terms of the GNU General Public License - * version 2. This program is licensed "as is" without any warranty of any - * kind, whether express or implied. - */ - -#include <linux/ioport.h> -#include <linux/of_platform.h> - -#include <asm/io.h> -#include <asm/machdep.h> -#include <asm/processor.h> -#include <asm/cpm1.h> -#include <asm/prom.h> -#include <asm/fs_pd.h> - -#include "mpc8xx.h" - -struct cpm_pin { -	int port, pin, flags; -}; - -static __initdata struct cpm_pin mgsuvd_pins[] = { -	/* SMC1 */ -	{CPM_PORTB, 24, CPM_PIN_INPUT}, /* RX */ -	{CPM_PORTB, 25, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, /* TX */ - -	/* SCC3 */ -	{CPM_PORTA, 10, CPM_PIN_INPUT}, -	{CPM_PORTA, 11, CPM_PIN_INPUT}, -	{CPM_PORTA, 3, CPM_PIN_INPUT}, -	{CPM_PORTA, 2, CPM_PIN_INPUT}, -	{CPM_PORTC, 13, CPM_PIN_INPUT}, -}; - -static void __init init_ioports(void) -{ -	int i; - -	for (i = 0; i < ARRAY_SIZE(mgsuvd_pins); i++) { -		struct cpm_pin *pin = &mgsuvd_pins[i]; -		cpm1_set_pin(pin->port, pin->pin, pin->flags); -	} - -	setbits16(&mpc8xx_immr->im_ioport.iop_pcso, 0x300); -	cpm1_clk_setup(CPM_CLK_SCC3, CPM_CLK5, CPM_CLK_RX); -	cpm1_clk_setup(CPM_CLK_SCC3, CPM_CLK6, CPM_CLK_TX); -	cpm1_clk_setup(CPM_CLK_SMC1, CPM_BRG1, CPM_CLK_RTX); -} - -static void __init mgsuvd_setup_arch(void) -{ -	cpm_reset(); -	init_ioports(); -} - -static __initdata struct of_device_id of_bus_ids[] = { -	{ .compatible = "simple-bus" }, -	{}, -}; - -static int __init declare_of_platform_devices(void) -{ -	of_platform_bus_probe(NULL, of_bus_ids, NULL); -	return 0; -} -machine_device_initcall(mgsuvd, declare_of_platform_devices); - -static int __init mgsuvd_probe(void) -{ -	unsigned long root = of_get_flat_dt_root(); -	return of_flat_dt_is_compatible(root, "keymile,mgsuvd"); -} - -define_machine(mgsuvd) { -	.name           = "MGSUVD", -	.probe          = mgsuvd_probe, -	.setup_arch     = mgsuvd_setup_arch, -	.init_IRQ       = mpc8xx_pics_init, -	.get_irq        = mpc8xx_get_irq, -	.restart        = mpc8xx_restart, -	.calibrate_decr = mpc8xx_calibrate_decr, -	.set_rtc_time   = mpc8xx_set_rtc_time, -	.get_rtc_time   = mpc8xx_get_rtc_time, -}; diff --git a/arch/powerpc/platforms/8xx/mpc86xads_setup.c b/arch/powerpc/platforms/8xx/mpc86xads_setup.c index caaec29796b..63084640c5c 100644 --- a/arch/powerpc/platforms/8xx/mpc86xads_setup.c +++ b/arch/powerpc/platforms/8xx/mpc86xads_setup.c @@ -15,11 +15,12 @@   */  #include <linux/init.h> +#include <linux/of_address.h> +#include <linux/of_fdt.h>  #include <linux/of_platform.h>  #include <asm/io.h>  #include <asm/machdep.h> -#include <asm/system.h>  #include <asm/time.h>  #include <asm/8xx_immap.h>  #include <asm/cpm1.h> diff --git a/arch/powerpc/platforms/8xx/mpc885ads_setup.c b/arch/powerpc/platforms/8xx/mpc885ads_setup.c index 45ed6cdc131..c1262581b63 100644 --- a/arch/powerpc/platforms/8xx/mpc885ads_setup.c +++ b/arch/powerpc/platforms/8xx/mpc885ads_setup.c @@ -25,6 +25,8 @@  #include <linux/fs_uart_pd.h>  #include <linux/fsl_devices.h>  #include <linux/mii.h> +#include <linux/of_address.h> +#include <linux/of_fdt.h>  #include <linux/of_platform.h>  #include <asm/delay.h> @@ -32,7 +34,6 @@  #include <asm/machdep.h>  #include <asm/page.h>  #include <asm/processor.h> -#include <asm/system.h>  #include <asm/time.h>  #include <asm/mpc8xx.h>  #include <asm/8xx_immap.h> diff --git a/arch/powerpc/platforms/8xx/tqm8xx_setup.c b/arch/powerpc/platforms/8xx/tqm8xx_setup.c index b71c650fbb1..251aba8759e 100644 --- a/arch/powerpc/platforms/8xx/tqm8xx_setup.c +++ b/arch/powerpc/platforms/8xx/tqm8xx_setup.c @@ -18,7 +18,6 @@   */  #include <linux/init.h> -#include <linux/module.h>  #include <linux/param.h>  #include <linux/string.h>  #include <linux/ioport.h> @@ -29,6 +28,7 @@  #include <linux/fs_uart_pd.h>  #include <linux/fsl_devices.h>  #include <linux/mii.h> +#include <linux/of_fdt.h>  #include <linux/of_platform.h>  #include <asm/delay.h> @@ -36,7 +36,6 @@  #include <asm/machdep.h>  #include <asm/page.h>  #include <asm/processor.h> -#include <asm/system.h>  #include <asm/time.h>  #include <asm/mpc8xx.h>  #include <asm/8xx_immap.h> @@ -50,7 +49,7 @@ struct cpm_pin {  	int port, pin, flags;  }; -static struct __initdata cpm_pin tqm8xx_pins[] = { +static struct cpm_pin tqm8xx_pins[] __initdata = {  	/* SMC1 */  	{CPM_PORTB, 24, CPM_PIN_INPUT}, /* RX */  	{CPM_PORTB, 25, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, /* TX */ @@ -65,7 +64,7 @@ static struct __initdata cpm_pin tqm8xx_pins[] = {  	{CPM_PORTC, 11, CPM_PIN_INPUT | CPM_PIN_SECONDARY | CPM_PIN_GPIO},  }; -static struct __initdata cpm_pin tqm8xx_fec_pins[] = { +static struct cpm_pin tqm8xx_fec_pins[] __initdata = {  	/* MII */  	{CPM_PORTD, 3, CPM_PIN_OUTPUT},  	{CPM_PORTD, 4, CPM_PIN_OUTPUT},  | 
