Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC cleanups from Arnd Bergmann: "A large number of cleanups, all over the platforms. This is dominated largely by the Samsung platforms (s3c, s5p, exynos) and a few of the others moving code out of arch/arm into more appropriate subsystems. The clocksource and irqchip drivers are now abstracted to the point where platforms that are already cleaned up do not need to even specify the driver they use, it can all get configured from the device tree as we do for normal device drivers. The clocksource changes basically touch every single platform in the process. We further clean up the use of platform specific header files here, with the goal of turning more of the platforms over to being "multiplatform" enabled, which implies that they cannot expose their headers to architecture independent code any more. It is expected that no functional changes are part of the cleanup. The overall reduction in total code lines is mostly the result of removing broken and obsolete code." * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (133 commits) ARM: mvebu: correct gated clock documentation ARM: kirkwood: add missing include for nsa310 ARM: exynos: move exynos4210-combiner to drivers/irqchip mfd: db8500-prcmu: update resource passing drivers/db8500-cpufreq: delete dangling include ARM: at91: remove NEOCORE 926 board sunxi: Cleanup the reset code and add meaningful registers defines ARM: S3C24XX: header mach/regs-mem.h local ARM: S3C24XX: header mach/regs-power.h local ARM: S3C24XX: header mach/regs-s3c2412-mem.h local ARM: S3C24XX: Remove plat-s3c24xx directory in arch/arm/ ARM: S3C24XX: transform s3c2443 subirqs into new structure ARM: S3C24XX: modify s3c2443 irq init to initialize all irqs ARM: S3C24XX: move s3c2443 irq code to irq.c ARM: S3C24XX: transform s3c2416 irqs into new structure ARM: S3C24XX: modify s3c2416 irq init to initialize all irqs ARM: S3C24XX: move s3c2416 irq init to common irq code ARM: S3C24XX: Modify s3c_irq_wake to use the hwirq property ARM: S3C24XX: Move irq syscore-ops to irq-pm clocksource: always define CLOCKSOURCE_OF_DECLARE ...
这个提交包含在:
@@ -822,7 +822,7 @@ MACHINE_START(BALLOON3, "Balloon3")
|
||||
.nr_irqs = BALLOON3_NR_IRQS,
|
||||
.init_irq = balloon3_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = balloon3_init,
|
||||
.atag_offset = 0x100,
|
||||
.restart = pxa_restart,
|
||||
|
@@ -153,7 +153,7 @@ MACHINE_START(CAPC7117,
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = capc7117_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -520,7 +520,7 @@ MACHINE_START(ARMCORE, "Compulab CM-X2XX")
|
||||
.init_irq = cmx2xx_init_irq,
|
||||
/* NOTE: pxa25x_handle_irq() works on PXA27x w/o camera support */
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = cmx2xx_init,
|
||||
#ifdef CONFIG_PCI
|
||||
.dma_zone_size = SZ_64M,
|
||||
|
@@ -854,7 +854,7 @@ MACHINE_START(CM_X300, "CM-X300 module")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = cm_x300_init,
|
||||
.fixup = cm_x300_fixup,
|
||||
.restart = pxa_restart,
|
||||
|
@@ -313,7 +313,7 @@ MACHINE_START(COLIBRI, "Toradex Colibri PXA270")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
||||
@@ -324,7 +324,7 @@ MACHINE_START(INCOME, "Income s.r.o. SH-Dmaster PXA270 SBC")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
||||
|
@@ -189,7 +189,7 @@ MACHINE_START(COLIBRI300, "Toradex Colibri PXA300")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
||||
|
@@ -259,7 +259,7 @@ MACHINE_START(COLIBRI320, "Toradex Colibri PXA320")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
||||
|
@@ -733,7 +733,7 @@ MACHINE_START(CORGI, "SHARP Corgi")
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.init_machine = corgi_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = corgi_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@@ -746,7 +746,7 @@ MACHINE_START(SHEPHERD, "SHARP Shepherd")
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.init_machine = corgi_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = corgi_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@@ -759,7 +759,7 @@ MACHINE_START(HUSKY, "SHARP Husky")
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.init_machine = corgi_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = corgi_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
@@ -278,6 +278,6 @@ MACHINE_START(CSB726, "Cogent CSB726")
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.init_machine = csb726_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -1298,7 +1298,7 @@ MACHINE_START(EM_X270, "Compulab EM-X270")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = em_x270_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
@@ -1309,7 +1309,7 @@ MACHINE_START(EXEDA, "Compulab eXeda")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = em_x270_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -195,7 +195,7 @@ MACHINE_START(E330, "Toshiba e330")
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.fixup = eseries_fixup,
|
||||
.init_machine = e330_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@@ -246,7 +246,7 @@ MACHINE_START(E350, "Toshiba e350")
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.fixup = eseries_fixup,
|
||||
.init_machine = e350_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@@ -370,7 +370,7 @@ MACHINE_START(E400, "Toshiba e400")
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.fixup = eseries_fixup,
|
||||
.init_machine = e400_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@@ -566,7 +566,7 @@ MACHINE_START(E740, "Toshiba e740")
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.fixup = eseries_fixup,
|
||||
.init_machine = e740_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@@ -765,7 +765,7 @@ MACHINE_START(E750, "Toshiba e750")
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.fixup = eseries_fixup,
|
||||
.init_machine = e750_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@@ -977,7 +977,7 @@ MACHINE_START(E800, "Toshiba e800")
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.fixup = eseries_fixup,
|
||||
.init_machine = e800_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
@@ -802,7 +802,7 @@ MACHINE_START(EZX_A780, "Motorola EZX A780")
|
||||
.nr_irqs = EZX_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = a780_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
@@ -869,7 +869,7 @@ MACHINE_START(EZX_E680, "Motorola EZX E680")
|
||||
.nr_irqs = EZX_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = e680_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
@@ -936,7 +936,7 @@ MACHINE_START(EZX_A1200, "Motorola EZX A1200")
|
||||
.nr_irqs = EZX_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = a1200_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
@@ -1128,7 +1128,7 @@ MACHINE_START(EZX_A910, "Motorola EZX A910")
|
||||
.nr_irqs = EZX_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = a910_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
@@ -1195,7 +1195,7 @@ MACHINE_START(EZX_E6, "Motorola EZX E6")
|
||||
.nr_irqs = EZX_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = e6_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
@@ -1236,7 +1236,7 @@ MACHINE_START(EZX_E2, "Motorola EZX E2")
|
||||
.nr_irqs = EZX_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = e2_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -10,9 +10,8 @@
|
||||
*/
|
||||
|
||||
struct irq_data;
|
||||
struct sys_timer;
|
||||
|
||||
extern struct sys_timer pxa_timer;
|
||||
extern void pxa_timer_init(void);
|
||||
|
||||
extern void __init pxa_map_io(void);
|
||||
|
||||
|
@@ -238,7 +238,7 @@ MACHINE_START(GUMSTIX, "Gumstix")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = gumstix_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -208,7 +208,7 @@ MACHINE_START(H5400, "HP iPAQ H5000")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = h5000_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -164,6 +164,6 @@ MACHINE_START(HIMALAYA, "HTC Himalaya")
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.init_machine = himalaya_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -900,6 +900,6 @@ MACHINE_START(H4700, "HP iPAQ HX4700")
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.init_machine = hx4700_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -196,7 +196,7 @@ MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = icontrol_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -279,7 +279,7 @@ MACHINE_START(PXA_IDP, "Vibren PXA255 IDP")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = idp_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -72,8 +72,3 @@ static inline void arch_decomp_setup(void)
|
||||
uart_is_pxa = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* nothing to do
|
||||
*/
|
||||
#define arch_decomp_wdog()
|
||||
|
@@ -443,7 +443,7 @@ MACHINE_START(LITTLETON, "Marvell Form Factor Development Platform (aka Littleto
|
||||
.nr_irqs = LITTLETON_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = littleton_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -503,7 +503,7 @@ MACHINE_START(LOGICPD_PXA270, "LogicPD PXA270 Card Engine")
|
||||
.nr_irqs = LPD270_NR_IRQS,
|
||||
.init_irq = lpd270_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = lpd270_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -650,7 +650,7 @@ MACHINE_START(LUBBOCK, "Intel DBPXA250 Development Platform (aka Lubbock)")
|
||||
.nr_irqs = LUBBOCK_NR_IRQS,
|
||||
.init_irq = lubbock_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = lubbock_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -774,6 +774,6 @@ MACHINE_START(MAGICIAN, "HTC Magician")
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.init_machine = magician_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -714,7 +714,7 @@ MACHINE_START(MAINSTONE, "Intel HCDDBBVA0 Development Platform (aka Mainstone)")
|
||||
.nr_irqs = MAINSTONE_NR_IRQS,
|
||||
.init_irq = mainstone_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = mainstone_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -762,6 +762,6 @@ MACHINE_START(MIOA701, "MIO A701")
|
||||
.init_irq = &pxa27x_init_irq,
|
||||
.handle_irq = &pxa27x_handle_irq,
|
||||
.init_machine = mioa701_machine_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = mioa701_restart,
|
||||
MACHINE_END
|
||||
|
@@ -93,7 +93,7 @@ static void __init mp900c_init(void)
|
||||
/* Maintainer - Michael Petchkovsky <mkpetch@internode.on.net> */
|
||||
MACHINE_START(NEC_MP900, "MobilePro900/C")
|
||||
.atag_offset = 0x220100,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.map_io = pxa25x_map_io,
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa25x_init_irq,
|
||||
|
@@ -347,7 +347,7 @@ MACHINE_START(PALMLD, "Palm LifeDrive")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = palmld_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -208,7 +208,7 @@ MACHINE_START(PALMT5, "Palm Tungsten|T5")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = palmt5_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -542,7 +542,7 @@ MACHINE_START(PALMTC, "Palm Tungsten|C")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = palmtc_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -363,7 +363,7 @@ MACHINE_START(PALMTE2, "Palm Tungsten|E2")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = palmte2_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -501,7 +501,7 @@ MACHINE_START(TREO680, "Palm Treo 680")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = treo680_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
@@ -515,7 +515,7 @@ MACHINE_START(CENTRO, "Palm Centro 685")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = centro_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -366,7 +366,7 @@ MACHINE_START(PALMTX, "Palm T|X")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = palmtx_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -404,7 +404,7 @@ MACHINE_START(PALMZ72, "Palm Zire72")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = palmz72_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -263,7 +263,7 @@ MACHINE_START(PCM027, "Phytec Messtechnik GmbH phyCORE-PXA270")
|
||||
.nr_irqs = PCM027_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = pcm027_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -469,7 +469,7 @@ MACHINE_START(POODLE, "SHARP Poodle")
|
||||
.nr_irqs = POODLE_NR_IRQS, /* 4 for LoCoMo */
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = poodle_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -55,7 +55,7 @@ DT_MACHINE_START(PXA_DT, "Marvell PXA3xx (Device Tree Support)")
|
||||
.map_io = pxa3xx_map_io,
|
||||
.init_irq = pxa3xx_dt_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
.init_machine = pxa3xx_dt_init,
|
||||
.dt_compat = pxa3xx_dt_board_compat,
|
||||
|
@@ -1095,7 +1095,7 @@ MACHINE_START(RAUMFELD_RC, "Raumfeld Controller")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@@ -1108,7 +1108,7 @@ MACHINE_START(RAUMFELD_CONNECTOR, "Raumfeld Connector")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@@ -1121,7 +1121,7 @@ MACHINE_START(RAUMFELD_SPEAKER, "Raumfeld Speaker")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
@@ -601,7 +601,7 @@ MACHINE_START(SAAR, "PXA930 Handheld Platform (aka SAAR)")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = saar_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -986,7 +986,7 @@ MACHINE_START(SPITZ, "SHARP Spitz")
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.init_machine = spitz_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = spitz_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@@ -1000,7 +1000,7 @@ MACHINE_START(BORZOI, "SHARP Borzoi")
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.init_machine = spitz_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = spitz_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
@@ -1014,7 +1014,7 @@ MACHINE_START(AKITA, "SHARP Akita")
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.init_machine = spitz_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = spitz_restart,
|
||||
MACHINE_END
|
||||
#endif
|
||||
|
@@ -1006,7 +1006,7 @@ MACHINE_START(INTELMOTE2, "IMOTE 2")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = imote2_init,
|
||||
.atag_offset = 0x100,
|
||||
.restart = pxa_restart,
|
||||
@@ -1019,7 +1019,7 @@ MACHINE_START(STARGATE2, "Stargate 2")
|
||||
.nr_irqs = STARGATE_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = stargate2_init,
|
||||
.atag_offset = 0x100,
|
||||
.restart = pxa_restart,
|
||||
|
@@ -494,7 +494,7 @@ MACHINE_START(TAVOREVB, "PXA930 Evaluation Board (aka TavorEVB)")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = tavorevb_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -89,48 +89,10 @@ pxa_osmr0_set_mode(enum clock_event_mode mode, struct clock_event_device *dev)
|
||||
}
|
||||
}
|
||||
|
||||
static struct clock_event_device ckevt_pxa_osmr0 = {
|
||||
.name = "osmr0",
|
||||
.features = CLOCK_EVT_FEAT_ONESHOT,
|
||||
.rating = 200,
|
||||
.set_next_event = pxa_osmr0_set_next_event,
|
||||
.set_mode = pxa_osmr0_set_mode,
|
||||
};
|
||||
|
||||
static struct irqaction pxa_ost0_irq = {
|
||||
.name = "ost0",
|
||||
.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL,
|
||||
.handler = pxa_ost0_interrupt,
|
||||
.dev_id = &ckevt_pxa_osmr0,
|
||||
};
|
||||
|
||||
static void __init pxa_timer_init(void)
|
||||
{
|
||||
unsigned long clock_tick_rate = get_clock_tick_rate();
|
||||
|
||||
writel_relaxed(0, OIER);
|
||||
writel_relaxed(OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3, OSSR);
|
||||
|
||||
setup_sched_clock(pxa_read_sched_clock, 32, clock_tick_rate);
|
||||
|
||||
clockevents_calc_mult_shift(&ckevt_pxa_osmr0, clock_tick_rate, 4);
|
||||
ckevt_pxa_osmr0.max_delta_ns =
|
||||
clockevent_delta2ns(0x7fffffff, &ckevt_pxa_osmr0);
|
||||
ckevt_pxa_osmr0.min_delta_ns =
|
||||
clockevent_delta2ns(MIN_OSCR_DELTA * 2, &ckevt_pxa_osmr0) + 1;
|
||||
ckevt_pxa_osmr0.cpumask = cpumask_of(0);
|
||||
|
||||
setup_irq(IRQ_OST0, &pxa_ost0_irq);
|
||||
|
||||
clocksource_mmio_init(OSCR, "oscr0", clock_tick_rate, 200, 32,
|
||||
clocksource_mmio_readl_up);
|
||||
clockevents_register_device(&ckevt_pxa_osmr0);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static unsigned long osmr[4], oier, oscr;
|
||||
|
||||
static void pxa_timer_suspend(void)
|
||||
static void pxa_timer_suspend(struct clock_event_device *cedev)
|
||||
{
|
||||
osmr[0] = readl_relaxed(OSMR0);
|
||||
osmr[1] = readl_relaxed(OSMR1);
|
||||
@@ -140,7 +102,7 @@ static void pxa_timer_suspend(void)
|
||||
oscr = readl_relaxed(OSCR);
|
||||
}
|
||||
|
||||
static void pxa_timer_resume(void)
|
||||
static void pxa_timer_resume(struct clock_event_device *cedev)
|
||||
{
|
||||
/*
|
||||
* Ensure that we have at least MIN_OSCR_DELTA between match
|
||||
@@ -163,8 +125,38 @@ static void pxa_timer_resume(void)
|
||||
#define pxa_timer_resume NULL
|
||||
#endif
|
||||
|
||||
struct sys_timer pxa_timer = {
|
||||
.init = pxa_timer_init,
|
||||
static struct clock_event_device ckevt_pxa_osmr0 = {
|
||||
.name = "osmr0",
|
||||
.features = CLOCK_EVT_FEAT_ONESHOT,
|
||||
.rating = 200,
|
||||
.set_next_event = pxa_osmr0_set_next_event,
|
||||
.set_mode = pxa_osmr0_set_mode,
|
||||
.suspend = pxa_timer_suspend,
|
||||
.resume = pxa_timer_resume,
|
||||
};
|
||||
|
||||
static struct irqaction pxa_ost0_irq = {
|
||||
.name = "ost0",
|
||||
.flags = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL,
|
||||
.handler = pxa_ost0_interrupt,
|
||||
.dev_id = &ckevt_pxa_osmr0,
|
||||
};
|
||||
|
||||
void __init pxa_timer_init(void)
|
||||
{
|
||||
unsigned long clock_tick_rate = get_clock_tick_rate();
|
||||
|
||||
writel_relaxed(0, OIER);
|
||||
writel_relaxed(OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3, OSSR);
|
||||
|
||||
setup_sched_clock(pxa_read_sched_clock, 32, clock_tick_rate);
|
||||
|
||||
ckevt_pxa_osmr0.cpumask = cpumask_of(0);
|
||||
|
||||
setup_irq(IRQ_OST0, &pxa_ost0_irq);
|
||||
|
||||
clocksource_mmio_init(OSCR, "oscr0", clock_tick_rate, 200, 32,
|
||||
clocksource_mmio_readl_up);
|
||||
clockevents_config_and_register(&ckevt_pxa_osmr0, clock_tick_rate,
|
||||
MIN_OSCR_DELTA * 2, 0x7fffffff);
|
||||
}
|
||||
|
@@ -982,6 +982,6 @@ MACHINE_START(TOSA, "SHARP Tosa")
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.init_machine = tosa_init,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = tosa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -561,7 +561,7 @@ MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
||||
@@ -573,6 +573,6 @@ MACHINE_START(TRIZEPS4WL, "Keith und Koep Trizeps IV-WL module")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -997,7 +997,7 @@ MACHINE_START(VIPER, "Arcom/Eurotech VIPER SBC")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = viper_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = viper_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -719,7 +719,7 @@ MACHINE_START(VPAC270, "Voipac PXA270")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = vpac270_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -185,7 +185,7 @@ MACHINE_START(XCEP, "Iskratel XCEP")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa25x_init_irq,
|
||||
.handle_irq = pxa25x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
||||
|
@@ -722,7 +722,7 @@ MACHINE_START(ZIPIT2, "Zipit Z2")
|
||||
.nr_irqs = PXA_NR_IRQS,
|
||||
.init_irq = pxa27x_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = z2_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -910,7 +910,7 @@ MACHINE_START(ARCOM_ZEUS, "Arcom/Eurotech ZEUS")
|
||||
.nr_irqs = ZEUS_NR_IRQS,
|
||||
.init_irq = zeus_init_irq,
|
||||
.handle_irq = pxa27x_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = zeus_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
@@ -428,7 +428,7 @@ MACHINE_START(ZYLONITE, "PXA3xx Platform Development Kit (aka Zylonite)")
|
||||
.nr_irqs = ZYLONITE_NR_IRQS,
|
||||
.init_irq = pxa3xx_init_irq,
|
||||
.handle_irq = pxa3xx_handle_irq,
|
||||
.timer = &pxa_timer,
|
||||
.init_time = pxa_timer_init,
|
||||
.init_machine = zylonite_init,
|
||||
.restart = pxa_restart,
|
||||
MACHINE_END
|
||||
|
在新工单中引用
屏蔽一个用户