[ARM] 4450/1: pxa: add pxa25x_init_irq() and pxa27x_init_irq()
/* should be ok this time, I aligned this patch to your arm:pxa2.mbox */ 1. move pxa25x specific IRQ initialization code to pxa25x_init_irq() and pxa27x code to pxa27x_init_irq(), remove pxa_init_irq() 2. replace all pxa_init_irq() with their PXA25x or PXA27x specific functions Signed-off-by: eric miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
@@ -368,7 +368,7 @@ MACHINE_START(CORGI, "SHARP Corgi")
|
|||||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||||
.fixup = fixup_corgi,
|
.fixup = fixup_corgi,
|
||||||
.map_io = pxa_map_io,
|
.map_io = pxa_map_io,
|
||||||
.init_irq = pxa_init_irq,
|
.init_irq = pxa25x_init_irq,
|
||||||
.init_machine = corgi_init,
|
.init_machine = corgi_init,
|
||||||
.timer = &pxa_timer,
|
.timer = &pxa_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
@@ -380,7 +380,7 @@ MACHINE_START(SHEPHERD, "SHARP Shepherd")
|
|||||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||||
.fixup = fixup_corgi,
|
.fixup = fixup_corgi,
|
||||||
.map_io = pxa_map_io,
|
.map_io = pxa_map_io,
|
||||||
.init_irq = pxa_init_irq,
|
.init_irq = pxa25x_init_irq,
|
||||||
.init_machine = corgi_init,
|
.init_machine = corgi_init,
|
||||||
.timer = &pxa_timer,
|
.timer = &pxa_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
@@ -392,7 +392,7 @@ MACHINE_START(HUSKY, "SHARP Husky")
|
|||||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||||
.fixup = fixup_corgi,
|
.fixup = fixup_corgi,
|
||||||
.map_io = pxa_map_io,
|
.map_io = pxa_map_io,
|
||||||
.init_irq = pxa_init_irq,
|
.init_irq = pxa25x_init_irq,
|
||||||
.init_machine = corgi_init,
|
.init_machine = corgi_init,
|
||||||
.timer = &pxa_timer,
|
.timer = &pxa_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
@@ -12,8 +12,12 @@
|
|||||||
struct sys_timer;
|
struct sys_timer;
|
||||||
|
|
||||||
extern struct sys_timer pxa_timer;
|
extern struct sys_timer pxa_timer;
|
||||||
|
extern void __init pxa_init_irq_low(void);
|
||||||
|
extern void __init pxa_init_irq_high(void);
|
||||||
|
extern void __init pxa_init_irq_gpio(int gpio_nr);
|
||||||
|
extern void __init pxa25x_init_irq(void);
|
||||||
|
extern void __init pxa27x_init_irq(void);
|
||||||
extern void __init pxa_map_io(void);
|
extern void __init pxa_map_io(void);
|
||||||
extern void __init pxa_init_irq(void);
|
|
||||||
|
|
||||||
extern unsigned int get_clk_frequency_khz(int info);
|
extern unsigned int get_clk_frequency_khz(int info);
|
||||||
|
|
||||||
|
@@ -152,7 +152,7 @@ static void __init idp_init(void)
|
|||||||
static void __init idp_init_irq(void)
|
static void __init idp_init_irq(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
pxa_init_irq();
|
pxa25x_init_irq();
|
||||||
|
|
||||||
set_irq_type(TOUCH_PANEL_IRQ, TOUCH_PANEL_IRQ_EDGE);
|
set_irq_type(TOUCH_PANEL_IRQ, TOUCH_PANEL_IRQ_EDGE);
|
||||||
}
|
}
|
||||||
|
@@ -375,12 +375,3 @@ void __init pxa_init_irq_gpio(int gpio_nr)
|
|||||||
set_irq_chip(IRQ_GPIO_2_x, &pxa_internal_chip_low);
|
set_irq_chip(IRQ_GPIO_2_x, &pxa_internal_chip_low);
|
||||||
set_irq_chained_handler(IRQ_GPIO_2_x, pxa_gpio_demux_handler);
|
set_irq_chained_handler(IRQ_GPIO_2_x, pxa_gpio_demux_handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init pxa_init_irq(void)
|
|
||||||
{
|
|
||||||
pxa_init_irq_low();
|
|
||||||
#ifdef CONFIG_PXA27x
|
|
||||||
pxa_init_irq_high();
|
|
||||||
#endif
|
|
||||||
pxa_init_irq_gpio(PXA_LAST_GPIO + 1);
|
|
||||||
}
|
|
||||||
|
@@ -97,7 +97,7 @@ static void __init lpd270_init_irq(void)
|
|||||||
{
|
{
|
||||||
int irq;
|
int irq;
|
||||||
|
|
||||||
pxa_init_irq();
|
pxa27x_init_irq();
|
||||||
|
|
||||||
__raw_writew(0, LPD270_INT_MASK);
|
__raw_writew(0, LPD270_INT_MASK);
|
||||||
__raw_writew(0, LPD270_INT_STATUS);
|
__raw_writew(0, LPD270_INT_STATUS);
|
||||||
|
@@ -103,7 +103,7 @@ static void __init lubbock_init_irq(void)
|
|||||||
{
|
{
|
||||||
int irq;
|
int irq;
|
||||||
|
|
||||||
pxa_init_irq();
|
pxa25x_init_irq();
|
||||||
|
|
||||||
/* setup extra lubbock irqs */
|
/* setup extra lubbock irqs */
|
||||||
for (irq = LUBBOCK_IRQ(0); irq <= LUBBOCK_LAST_IRQ; irq++) {
|
for (irq = LUBBOCK_IRQ(0); irq <= LUBBOCK_LAST_IRQ; irq++) {
|
||||||
|
@@ -89,7 +89,7 @@ static void __init mainstone_init_irq(void)
|
|||||||
{
|
{
|
||||||
int irq;
|
int irq;
|
||||||
|
|
||||||
pxa_init_irq();
|
pxa27x_init_irq();
|
||||||
|
|
||||||
/* setup extra Mainstone irqs */
|
/* setup extra Mainstone irqs */
|
||||||
for(irq = MAINSTONE_IRQ(0); irq <= MAINSTONE_IRQ(15); irq++) {
|
for(irq = MAINSTONE_IRQ(0); irq <= MAINSTONE_IRQ(15); irq++) {
|
||||||
|
@@ -412,7 +412,7 @@ MACHINE_START(POODLE, "SHARP Poodle")
|
|||||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||||
.fixup = fixup_poodle,
|
.fixup = fixup_poodle,
|
||||||
.map_io = pxa_map_io,
|
.map_io = pxa_map_io,
|
||||||
.init_irq = pxa_init_irq,
|
.init_irq = pxa25x_init_irq,
|
||||||
.timer = &pxa_timer,
|
.timer = &pxa_timer,
|
||||||
.init_machine = poodle_init,
|
.init_machine = poodle_init,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
#include <linux/pm.h>
|
#include <linux/pm.h>
|
||||||
|
|
||||||
#include <asm/hardware.h>
|
#include <asm/hardware.h>
|
||||||
|
#include <asm/arch/irqs.h>
|
||||||
#include <asm/arch/pxa-regs.h>
|
#include <asm/arch/pxa-regs.h>
|
||||||
#include <asm/arch/pm.h>
|
#include <asm/arch/pm.h>
|
||||||
|
|
||||||
@@ -128,6 +129,12 @@ static struct pm_ops pxa25x_pm_ops = {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void __init pxa25x_init_irq(void)
|
||||||
|
{
|
||||||
|
pxa_init_irq_low();
|
||||||
|
pxa_init_irq_gpio(85);
|
||||||
|
}
|
||||||
|
|
||||||
static int __init pxa25x_init(void)
|
static int __init pxa25x_init(void)
|
||||||
{
|
{
|
||||||
if (cpu_is_pxa21x() || cpu_is_pxa25x()) {
|
if (cpu_is_pxa21x() || cpu_is_pxa25x()) {
|
||||||
|
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include <asm/hardware.h>
|
#include <asm/hardware.h>
|
||||||
#include <asm/irq.h>
|
#include <asm/irq.h>
|
||||||
|
#include <asm/arch/irqs.h>
|
||||||
#include <asm/arch/pxa-regs.h>
|
#include <asm/arch/pxa-regs.h>
|
||||||
#include <asm/arch/ohci.h>
|
#include <asm/arch/ohci.h>
|
||||||
#include <asm/arch/pm.h>
|
#include <asm/arch/pm.h>
|
||||||
@@ -202,6 +203,13 @@ static struct platform_device *devices[] __initdata = {
|
|||||||
&ohci_device,
|
&ohci_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void __init pxa27x_init_irq(void)
|
||||||
|
{
|
||||||
|
pxa_init_irq_low();
|
||||||
|
pxa_init_irq_high();
|
||||||
|
pxa_init_irq_gpio(128);
|
||||||
|
}
|
||||||
|
|
||||||
static int __init pxa27x_init(void)
|
static int __init pxa27x_init(void)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
@@ -560,7 +560,7 @@ MACHINE_START(SPITZ, "SHARP Spitz")
|
|||||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||||
.fixup = fixup_spitz,
|
.fixup = fixup_spitz,
|
||||||
.map_io = pxa_map_io,
|
.map_io = pxa_map_io,
|
||||||
.init_irq = pxa_init_irq,
|
.init_irq = pxa27x_init_irq,
|
||||||
.init_machine = spitz_init,
|
.init_machine = spitz_init,
|
||||||
.timer = &pxa_timer,
|
.timer = &pxa_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
@@ -572,7 +572,7 @@ MACHINE_START(BORZOI, "SHARP Borzoi")
|
|||||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||||
.fixup = fixup_spitz,
|
.fixup = fixup_spitz,
|
||||||
.map_io = pxa_map_io,
|
.map_io = pxa_map_io,
|
||||||
.init_irq = pxa_init_irq,
|
.init_irq = pxa27x_init_irq,
|
||||||
.init_machine = spitz_init,
|
.init_machine = spitz_init,
|
||||||
.timer = &pxa_timer,
|
.timer = &pxa_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
@@ -584,7 +584,7 @@ MACHINE_START(AKITA, "SHARP Akita")
|
|||||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||||
.fixup = fixup_spitz,
|
.fixup = fixup_spitz,
|
||||||
.map_io = pxa_map_io,
|
.map_io = pxa_map_io,
|
||||||
.init_irq = pxa_init_irq,
|
.init_irq = pxa27x_init_irq,
|
||||||
.init_machine = akita_init,
|
.init_machine = akita_init,
|
||||||
.timer = &pxa_timer,
|
.timer = &pxa_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
@@ -332,7 +332,7 @@ MACHINE_START(TOSA, "SHARP Tosa")
|
|||||||
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
.io_pg_offst = (io_p2v(0x40000000) >> 18) & 0xfffc,
|
||||||
.fixup = fixup_tosa,
|
.fixup = fixup_tosa,
|
||||||
.map_io = pxa_map_io,
|
.map_io = pxa_map_io,
|
||||||
.init_irq = pxa_init_irq,
|
.init_irq = pxa25x_init_irq,
|
||||||
.init_machine = tosa_init,
|
.init_machine = tosa_init,
|
||||||
.timer = &pxa_timer,
|
.timer = &pxa_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
@@ -503,7 +503,7 @@ MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module")
|
|||||||
.boot_params = TRIZEPS4_SDRAM_BASE + 0x100,
|
.boot_params = TRIZEPS4_SDRAM_BASE + 0x100,
|
||||||
.init_machine = trizeps4_init,
|
.init_machine = trizeps4_init,
|
||||||
.map_io = trizeps4_map_io,
|
.map_io = trizeps4_map_io,
|
||||||
.init_irq = pxa_init_irq,
|
.init_irq = pxa27x_init_irq,
|
||||||
.timer = &pxa_timer,
|
.timer = &pxa_timer,
|
||||||
MACHINE_END
|
MACHINE_END
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user