Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
c15a0433
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 大约 4 年
通知
14
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
c15a0433
编写于
3月 10, 2012
作者:
K
Kukjin Kim
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'next/cleanup-use-static' into next/cleanup-exynos-clock
上级
192cfd58
60571f98
变更
159
隐藏空白更改
内联
并排
Showing
159 changed file
with
961 addition
and
2360 deletion
+961
-2360
arch/arm/Kconfig.debug
arch/arm/Kconfig.debug
+78
-78
arch/arm/include/asm/system.h
arch/arm/include/asm/system.h
+1
-0
arch/arm/kernel/process.c
arch/arm/kernel/process.c
+16
-11
arch/arm/mach-at91/at91cap9.c
arch/arm/mach-at91/at91cap9.c
+8
-0
arch/arm/mach-at91/at91rm9200.c
arch/arm/mach-at91/at91rm9200.c
+10
-0
arch/arm/mach-at91/at91sam9260.c
arch/arm/mach-at91/at91sam9260.c
+8
-0
arch/arm/mach-at91/at91sam9261.c
arch/arm/mach-at91/at91sam9261.c
+8
-0
arch/arm/mach-at91/at91sam9263.c
arch/arm/mach-at91/at91sam9263.c
+8
-0
arch/arm/mach-at91/at91sam9g45.c
arch/arm/mach-at91/at91sam9g45.c
+7
-0
arch/arm/mach-at91/at91sam9rl.c
arch/arm/mach-at91/at91sam9rl.c
+8
-0
arch/arm/mach-at91/at91x40.c
arch/arm/mach-at91/at91x40.c
+12
-0
arch/arm/mach-at91/include/mach/system.h
arch/arm/mach-at91/include/mach/system.h
+0
-50
arch/arm/mach-bcmring/core.c
arch/arm/mach-bcmring/core.c
+2
-21
arch/arm/mach-bcmring/include/mach/system.h
arch/arm/mach-bcmring/include/mach/system.h
+0
-28
arch/arm/mach-clps711x/common.c
arch/arm/mach-clps711x/common.c
+16
-0
arch/arm/mach-clps711x/include/mach/system.h
arch/arm/mach-clps711x/include/mach/system.h
+0
-35
arch/arm/mach-cns3xxx/include/mach/system.h
arch/arm/mach-cns3xxx/include/mach/system.h
+0
-25
arch/arm/mach-davinci/include/mach/system.h
arch/arm/mach-davinci/include/mach/system.h
+0
-21
arch/arm/mach-dove/include/mach/system.h
arch/arm/mach-dove/include/mach/system.h
+0
-17
arch/arm/mach-ebsa110/core.c
arch/arm/mach-ebsa110/core.c
+25
-0
arch/arm/mach-ebsa110/include/mach/system.h
arch/arm/mach-ebsa110/include/mach/system.h
+0
-37
arch/arm/mach-ep93xx/core.c
arch/arm/mach-ep93xx/core.c
+6
-40
arch/arm/mach-ep93xx/include/mach/system.h
arch/arm/mach-ep93xx/include/mach/system.h
+0
-7
arch/arm/mach-exynos/clock-exynos4210.c
arch/arm/mach-exynos/clock-exynos4210.c
+1
-1
arch/arm/mach-exynos/clock-exynos4212.c
arch/arm/mach-exynos/clock-exynos4212.c
+1
-1
arch/arm/mach-exynos/clock.c
arch/arm/mach-exynos/clock.c
+1
-1
arch/arm/mach-exynos/common.c
arch/arm/mach-exynos/common.c
+1
-13
arch/arm/mach-exynos/dma.c
arch/arm/mach-exynos/dma.c
+10
-36
arch/arm/mach-exynos/include/mach/system.h
arch/arm/mach-exynos/include/mach/system.h
+0
-20
arch/arm/mach-exynos/mach-origen.c
arch/arm/mach-exynos/mach-origen.c
+1
-1
arch/arm/mach-exynos/mach-universal_c210.c
arch/arm/mach-exynos/mach-universal_c210.c
+1
-1
arch/arm/mach-footbridge/include/mach/system.h
arch/arm/mach-footbridge/include/mach/system.h
+0
-13
arch/arm/mach-gemini/Makefile
arch/arm/mach-gemini/Makefile
+1
-1
arch/arm/mach-gemini/idle.c
arch/arm/mach-gemini/idle.c
+29
-0
arch/arm/mach-gemini/include/mach/system.h
arch/arm/mach-gemini/include/mach/system.h
+0
-14
arch/arm/mach-gemini/irq.c
arch/arm/mach-gemini/irq.c
+2
-2
arch/arm/mach-h720x/common.c
arch/arm/mach-h720x/common.c
+18
-0
arch/arm/mach-h720x/include/mach/system.h
arch/arm/mach-h720x/include/mach/system.h
+0
-27
arch/arm/mach-highbank/include/mach/system.h
arch/arm/mach-highbank/include/mach/system.h
+0
-24
arch/arm/mach-imx/mm-imx3.c
arch/arm/mach-imx/mm-imx3.c
+25
-27
arch/arm/mach-imx/mm-imx5.c
arch/arm/mach-imx/mm-imx5.c
+11
-17
arch/arm/mach-imx/pm-imx27.c
arch/arm/mach-imx/pm-imx27.c
+1
-2
arch/arm/mach-integrator/core.c
arch/arm/mach-integrator/core.c
+13
-57
arch/arm/mach-integrator/impd1.c
arch/arm/mach-integrator/impd1.c
+3
-6
arch/arm/mach-integrator/include/mach/system.h
arch/arm/mach-integrator/include/mach/system.h
+0
-33
arch/arm/mach-integrator/integrator_cp.c
arch/arm/mach-integrator/integrator_cp.c
+9
-40
arch/arm/mach-iop13xx/include/mach/system.h
arch/arm/mach-iop13xx/include/mach/system.h
+0
-13
arch/arm/mach-iop32x/include/mach/system.h
arch/arm/mach-iop32x/include/mach/system.h
+0
-13
arch/arm/mach-iop33x/include/mach/system.h
arch/arm/mach-iop33x/include/mach/system.h
+0
-13
arch/arm/mach-ixp2000/include/mach/system.h
arch/arm/mach-ixp2000/include/mach/system.h
+0
-14
arch/arm/mach-ixp23xx/core.c
arch/arm/mach-ixp23xx/core.c
+3
-0
arch/arm/mach-ixp23xx/include/mach/system.h
arch/arm/mach-ixp23xx/include/mach/system.h
+0
-16
arch/arm/mach-ixp4xx/common.c
arch/arm/mach-ixp4xx/common.c
+6
-0
arch/arm/mach-ixp4xx/include/mach/system.h
arch/arm/mach-ixp4xx/include/mach/system.h
+0
-19
arch/arm/mach-kirkwood/include/mach/system.h
arch/arm/mach-kirkwood/include/mach/system.h
+0
-17
arch/arm/mach-ks8695/include/mach/system.h
arch/arm/mach-ks8695/include/mach/system.h
+0
-27
arch/arm/mach-lpc32xx/include/mach/system.h
arch/arm/mach-lpc32xx/include/mach/system.h
+0
-27
arch/arm/mach-lpc32xx/phy3250.c
arch/arm/mach-lpc32xx/phy3250.c
+4
-28
arch/arm/mach-mmp/include/mach/system.h
arch/arm/mach-mmp/include/mach/system.h
+0
-16
arch/arm/mach-msm/idle.c
arch/arm/mach-msm/idle.c
+49
-0
arch/arm/mach-msm/include/mach/system.h
arch/arm/mach-msm/include/mach/system.h
+0
-1
arch/arm/mach-mv78xx0/include/mach/system.h
arch/arm/mach-mv78xx0/include/mach/system.h
+0
-17
arch/arm/mach-mxs/devices.c
arch/arm/mach-mxs/devices.c
+5
-3
arch/arm/mach-mxs/devices/amba-duart.c
arch/arm/mach-mxs/devices/amba-duart.c
+1
-1
arch/arm/mach-mxs/include/mach/system.h
arch/arm/mach-mxs/include/mach/system.h
+0
-25
arch/arm/mach-mxs/pm.c
arch/arm/mach-mxs/pm.c
+1
-2
arch/arm/mach-netx/fb.c
arch/arm/mach-netx/fb.c
+1
-12
arch/arm/mach-netx/include/mach/system.h
arch/arm/mach-netx/include/mach/system.h
+0
-28
arch/arm/mach-nomadik/board-nhk8815.c
arch/arm/mach-nomadik/board-nhk8815.c
+4
-13
arch/arm/mach-nomadik/cpu-8815.c
arch/arm/mach-nomadik/cpu-8815.c
+2
-7
arch/arm/mach-nomadik/include/mach/system.h
arch/arm/mach-nomadik/include/mach/system.h
+0
-32
arch/arm/mach-omap1/include/mach/system.h
arch/arm/mach-omap1/include/mach/system.h
+0
-5
arch/arm/mach-omap1/pm.c
arch/arm/mach-omap1/pm.c
+4
-15
arch/arm/mach-omap2/emu.c
arch/arm/mach-omap2/emu.c
+2
-24
arch/arm/mach-omap2/include/mach/system.h
arch/arm/mach-omap2/include/mach/system.h
+0
-5
arch/arm/mach-omap2/pm24xx.c
arch/arm/mach-omap2/pm24xx.c
+1
-3
arch/arm/mach-omap2/pm34xx.c
arch/arm/mach-omap2/pm34xx.c
+2
-4
arch/arm/mach-omap2/pm44xx.c
arch/arm/mach-omap2/pm44xx.c
+3
-5
arch/arm/mach-omap2/prm_common.c
arch/arm/mach-omap2/prm_common.c
+0
-1
arch/arm/mach-orion5x/include/mach/system.h
arch/arm/mach-orion5x/include/mach/system.h
+0
-19
arch/arm/mach-picoxcell/include/mach/system.h
arch/arm/mach-picoxcell/include/mach/system.h
+0
-26
arch/arm/mach-pnx4008/include/mach/system.h
arch/arm/mach-pnx4008/include/mach/system.h
+0
-29
arch/arm/mach-prima2/include/mach/system.h
arch/arm/mach-prima2/include/mach/system.h
+0
-17
arch/arm/mach-pxa/include/mach/system.h
arch/arm/mach-pxa/include/mach/system.h
+0
-15
arch/arm/mach-realview/core.h
arch/arm/mach-realview/core.h
+5
-15
arch/arm/mach-realview/include/mach/irqs-pb1176.h
arch/arm/mach-realview/include/mach/irqs-pb1176.h
+1
-1
arch/arm/mach-realview/include/mach/system.h
arch/arm/mach-realview/include/mach/system.h
+0
-33
arch/arm/mach-realview/realview_eb.c
arch/arm/mach-realview/realview_eb.c
+39
-39
arch/arm/mach-realview/realview_pb1176.c
arch/arm/mach-realview/realview_pb1176.c
+39
-39
arch/arm/mach-realview/realview_pb11mp.c
arch/arm/mach-realview/realview_pb11mp.c
+39
-39
arch/arm/mach-realview/realview_pba8.c
arch/arm/mach-realview/realview_pba8.c
+39
-39
arch/arm/mach-realview/realview_pbx.c
arch/arm/mach-realview/realview_pbx.c
+39
-39
arch/arm/mach-rpc/include/mach/system.h
arch/arm/mach-rpc/include/mach/system.h
+0
-13
arch/arm/mach-s3c2410/include/mach/system.h
arch/arm/mach-s3c2410/include/mach/system.h
+0
-54
arch/arm/mach-s3c2410/mach-h1940.c
arch/arm/mach-s3c2410/mach-h1940.c
+6
-6
arch/arm/mach-s3c2412/s3c2412.c
arch/arm/mach-s3c2412/s3c2412.c
+1
-3
arch/arm/mach-s3c2416/clock.c
arch/arm/mach-s3c2416/clock.c
+0
-6
arch/arm/mach-s3c2416/mach-smdk2416.c
arch/arm/mach-s3c2416/mach-smdk2416.c
+4
-4
arch/arm/mach-s3c2416/s3c2416.c
arch/arm/mach-s3c2416/s3c2416.c
+0
-3
arch/arm/mach-s3c2440/mach-gta02.c
arch/arm/mach-s3c2440/mach-gta02.c
+2
-2
arch/arm/mach-s3c2440/mach-rx1950.c
arch/arm/mach-s3c2440/mach-rx1950.c
+6
-6
arch/arm/mach-s3c64xx/common.h
arch/arm/mach-s3c64xx/common.h
+0
-2
arch/arm/mach-s3c64xx/include/mach/system.h
arch/arm/mach-s3c64xx/include/mach/system.h
+0
-19
arch/arm/mach-s3c64xx/irq-pm.c
arch/arm/mach-s3c64xx/irq-pm.c
+1
-1
arch/arm/mach-s5p64x0/clock.c
arch/arm/mach-s5p64x0/clock.c
+6
-5
arch/arm/mach-s5p64x0/common.c
arch/arm/mach-s5p64x0/common.c
+6
-9
arch/arm/mach-s5p64x0/dma.c
arch/arm/mach-s5p64x0/dma.c
+9
-21
arch/arm/mach-s5p64x0/include/mach/s5p64x0-clock.h
arch/arm/mach-s5p64x0/include/mach/s5p64x0-clock.h
+0
-7
arch/arm/mach-s5p64x0/include/mach/system.h
arch/arm/mach-s5p64x0/include/mach/system.h
+0
-21
arch/arm/mach-s5pc100/clock.c
arch/arm/mach-s5pc100/clock.c
+14
-14
arch/arm/mach-s5pc100/common.c
arch/arm/mach-s5pc100/common.c
+0
-12
arch/arm/mach-s5pc100/dma.c
arch/arm/mach-s5pc100/dma.c
+10
-36
arch/arm/mach-s5pc100/include/mach/system.h
arch/arm/mach-s5pc100/include/mach/system.h
+0
-19
arch/arm/mach-s5pv210/common.c
arch/arm/mach-s5pv210/common.c
+0
-12
arch/arm/mach-s5pv210/dma.c
arch/arm/mach-s5pv210/dma.c
+10
-36
arch/arm/mach-s5pv210/include/mach/system.h
arch/arm/mach-s5pv210/include/mach/system.h
+0
-21
arch/arm/mach-s5pv210/mach-goni.c
arch/arm/mach-s5pv210/mach-goni.c
+1
-1
arch/arm/mach-s5pv210/mach-smdkv210.c
arch/arm/mach-s5pv210/mach-smdkv210.c
+1
-1
arch/arm/mach-sa1100/include/mach/system.h
arch/arm/mach-sa1100/include/mach/system.h
+0
-9
arch/arm/mach-shark/core.c
arch/arm/mach-shark/core.c
+6
-0
arch/arm/mach-shark/include/mach/system.h
arch/arm/mach-shark/include/mach/system.h
+0
-13
arch/arm/mach-shmobile/include/mach/system.h
arch/arm/mach-shmobile/include/mach/system.h
+0
-5
arch/arm/mach-spear3xx/include/mach/system.h
arch/arm/mach-spear3xx/include/mach/system.h
+0
-19
arch/arm/mach-spear3xx/spear300.c
arch/arm/mach-spear3xx/spear300.c
+2
-12
arch/arm/mach-spear3xx/spear3xx.c
arch/arm/mach-spear3xx/spear3xx.c
+4
-23
arch/arm/mach-spear6xx/include/mach/system.h
arch/arm/mach-spear6xx/include/mach/system.h
+0
-19
arch/arm/mach-spear6xx/spear6xx.c
arch/arm/mach-spear6xx/spear6xx.c
+5
-5
arch/arm/mach-tegra/common.c
arch/arm/mach-tegra/common.c
+2
-1
arch/arm/mach-tegra/include/mach/system.h
arch/arm/mach-tegra/include/mach/system.h
+0
-28
arch/arm/mach-u300/core.c
arch/arm/mach-u300/core.c
+16
-69
arch/arm/mach-u300/include/mach/system.h
arch/arm/mach-u300/include/mach/system.h
+0
-14
arch/arm/mach-ux500/devices-common.c
arch/arm/mach-ux500/devices-common.c
+3
-10
arch/arm/mach-ux500/include/mach/system.h
arch/arm/mach-ux500/include/mach/system.h
+0
-20
arch/arm/mach-versatile/core.c
arch/arm/mach-versatile/core.c
+35
-35
arch/arm/mach-versatile/core.h
arch/arm/mach-versatile/core.h
+5
-15
arch/arm/mach-versatile/include/mach/system.h
arch/arm/mach-versatile/include/mach/system.h
+0
-33
arch/arm/mach-versatile/versatile_pb.c
arch/arm/mach-versatile/versatile_pb.c
+9
-9
arch/arm/mach-vexpress/core.h
arch/arm/mach-vexpress/core.h
+0
-17
arch/arm/mach-vexpress/ct-ca9x4.c
arch/arm/mach-vexpress/ct-ca9x4.c
+4
-4
arch/arm/mach-vexpress/include/mach/ct-ca9x4.h
arch/arm/mach-vexpress/include/mach/ct-ca9x4.h
+1
-1
arch/arm/mach-vexpress/include/mach/system.h
arch/arm/mach-vexpress/include/mach/system.h
+0
-33
arch/arm/mach-vexpress/v2m.c
arch/arm/mach-vexpress/v2m.c
+10
-10
arch/arm/mach-vt8500/include/mach/system.h
arch/arm/mach-vt8500/include/mach/system.h
+0
-5
arch/arm/mach-w90x900/dev.c
arch/arm/mach-w90x900/dev.c
+1
-0
arch/arm/mach-w90x900/include/mach/system.h
arch/arm/mach-w90x900/include/mach/system.h
+0
-19
arch/arm/mach-zynq/include/mach/system.h
arch/arm/mach-zynq/include/mach/system.h
+0
-23
arch/arm/plat-mxc/include/mach/system.h
arch/arm/plat-mxc/include/mach/system.h
+0
-25
arch/arm/plat-omap/include/plat/system.h
arch/arm/plat-omap/include/plat/system.h
+0
-15
arch/arm/plat-s3c24xx/cpu.c
arch/arm/plat-s3c24xx/cpu.c
+27
-0
arch/arm/plat-s3c24xx/s3c2443-clock.c
arch/arm/plat-s3c24xx/s3c2443-clock.c
+1
-1
arch/arm/plat-s5p/irq-eint.c
arch/arm/plat-s5p/irq-eint.c
+1
-1
arch/arm/plat-s5p/irq-gpioint.c
arch/arm/plat-s5p/irq-gpioint.c
+1
-1
arch/arm/plat-samsung/devs.c
arch/arm/plat-samsung/devs.c
+1
-12
arch/arm/plat-samsung/dma-ops.c
arch/arm/plat-samsung/dma-ops.c
+1
-1
arch/arm/plat-spear/include/plat/system.h
arch/arm/plat-spear/include/plat/system.h
+0
-26
drivers/amba/bus.c
drivers/amba/bus.c
+79
-26
drivers/mmc/host/mmci.c
drivers/mmc/host/mmci.c
+1
-1
drivers/of/platform.c
drivers/of/platform.c
+3
-3
include/linux/amba/bus.h
include/linux/amba/bus.h
+36
-0
未找到文件。
arch/arm/Kconfig.debug
浏览文件 @
c15a0433
...
...
@@ -81,25 +81,6 @@ choice
prompt "Kernel low-level debugging port"
depends on DEBUG_LL
config DEBUG_LL_UART_NONE
bool "No low-level debugging UART"
help
Say Y here if your platform doesn't provide a UART option
below. This relies on your platform choosing the right UART
definition internally in order for low-level debugging to
work.
config DEBUG_ICEDCC
bool "Kernel low-level debugging via EmbeddedICE DCC channel"
help
Say Y here if you want the debug print routines to direct
their output to the EmbeddedICE macrocell's DCC channel using
co-processor 14. This is known to work on the ARM9 style ICE
channel and on the XScale with the PEEDI.
Note that the system will appear to hang during boot if there
is nothing connected to read from the DCC.
config AT91_DEBUG_LL_DBGU0
bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
depends on HAVE_AT91_DBGU0
...
...
@@ -108,20 +89,6 @@ choice
bool "Kernel low-level debugging on 9263, 9g45 and cap9"
depends on HAVE_AT91_DBGU1
config DEBUG_FOOTBRIDGE_COM1
bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
depends on FOOTBRIDGE
help
Say Y here if you want the debug print routines to direct
their output to the 8250 at PCI COM1.
config DEBUG_DC21285_PORT
bool "Kernel low-level debugging messages via footbridge serial port"
depends on FOOTBRIDGE
help
Say Y here if you want the debug print routines to direct
their output to the serial port in the DC21285 (Footbridge).
config DEBUG_CLPS711X_UART1
bool "Kernel low-level debugging messages via UART1"
depends on ARCH_CLPS711X
...
...
@@ -136,6 +103,20 @@ choice
Say Y here if you want the debug print routines to direct
their output to the second serial port on these devices.
config DEBUG_DC21285_PORT
bool "Kernel low-level debugging messages via footbridge serial port"
depends on FOOTBRIDGE
help
Say Y here if you want the debug print routines to direct
their output to the serial port in the DC21285 (Footbridge).
config DEBUG_FOOTBRIDGE_COM1
bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
depends on FOOTBRIDGE
help
Say Y here if you want the debug print routines to direct
their output to the 8250 at PCI COM1.
config DEBUG_HIGHBANK_UART
bool "Kernel low-level debugging messages via Highbank UART"
depends on ARCH_HIGHBANK
...
...
@@ -206,38 +187,42 @@ choice
Say Y here if you want kernel low-level debugging support
on i.MX6Q.
config DEBUG_
S3C_UART0
depends on PLAT_SAMSUNG
bool "Use S3C UART 0 for low-level debug"
config DEBUG_
MSM_UART1
bool "Kernel low-level debugging messages via MSM UART1"
depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
help
Say Y here if you want the debug print routines to direct
their output to UART 0. The port must have been initialised
by the boot-loader before use.
The uncompressor code port configuration is now handled
by CONFIG_S3C_LOWLEVEL_UART_PORT.
their output to the first serial port on MSM devices.
config DEBUG_
S3C_UART1
depends on PLAT_SAMSUNG
bool "Use S3C UART 1 for low-level debug"
config DEBUG_
MSM_UART2
bool "Kernel low-level debugging messages via MSM UART2"
depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
help
Say Y here if you want the debug print routines to direct
their output to UART 1. The port must have been initialised
by the boot-loader before use.
their output to the second serial port on MSM devices.
The uncompressor code port configuration is now handled
by CONFIG_S3C_LOWLEVEL_UART_PORT.
config DEBUG_MSM_UART3
bool "Kernel low-level debugging messages via MSM UART3"
depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
help
Say Y here if you want the debug print routines to direct
their output to the third serial port on MSM devices.
config DEBUG_S3C_UART2
depends on PLAT_SAMSUNG
bool "Use S3C UART 2 for low-level debug"
config DEBUG_MSM8660_UART
bool "Kernel low-level debugging messages via MSM 8660 UART"
depends on ARCH_MSM8X60
select MSM_HAS_DEBUG_UART_HS
help
Say Y here if you want the debug print routines to direct
their output to UART 2. The port must have been initialised
by the boot-loader before use.
their output to the serial port on MSM 8660 devices.
The uncompressor code port configuration is now handled
by CONFIG_S3C_LOWLEVEL_UART_PORT.
config DEBUG_MSM8960_UART
bool "Kernel low-level debugging messages via MSM 8960 UART"
depends on ARCH_MSM8960
select MSM_HAS_DEBUG_UART_HS
help
Say Y here if you want the debug print routines to direct
their output to the serial port on MSM 8960 devices.
config DEBUG_REALVIEW_STD_PORT
bool "RealView Default UART"
...
...
@@ -255,42 +240,57 @@ choice
their output to the standard serial port on the RealView
PB1176 platform.
config DEBUG_
MSM_UART1
bool "Kernel low-level debugging messages via MSM UART1"
depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
config DEBUG_
S3C_UART0
depends on PLAT_SAMSUNG
bool "Use S3C UART 0 for low-level debug"
help
Say Y here if you want the debug print routines to direct
their output to the first serial port on MSM devices.
their output to UART 0. The port must have been initialised
by the boot-loader before use.
config DEBUG_MSM_UART2
bool "Kernel low-level debugging messages via MSM UART2"
depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
The uncompressor code port configuration is now handled
by CONFIG_S3C_LOWLEVEL_UART_PORT.
config DEBUG_S3C_UART1
depends on PLAT_SAMSUNG
bool "Use S3C UART 1 for low-level debug"
help
Say Y here if you want the debug print routines to direct
their output to the second serial port on MSM devices.
their output to UART 1. The port must have been initialised
by the boot-loader before use.
config DEBUG_MSM_UART3
bool "Kernel low-level debugging messages via MSM UART3"
depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
The uncompressor code port configuration is now handled
by CONFIG_S3C_LOWLEVEL_UART_PORT.
config DEBUG_S3C_UART2
depends on PLAT_SAMSUNG
bool "Use S3C UART 2 for low-level debug"
help
Say Y here if you want the debug print routines to direct
their output to the third serial port on MSM devices.
their output to UART 2. The port must have been initialised
by the boot-loader before use.
config DEBUG_MSM8660_UART
bool "Kernel low-level debugging messages via MSM 8660 UART"
depends on ARCH_MSM8X60
select MSM_HAS_DEBUG_UART_HS
The uncompressor code port configuration is now handled
by CONFIG_S3C_LOWLEVEL_UART_PORT.
config DEBUG_LL_UART_NONE
bool "No low-level debugging UART"
help
Say Y here if you want the debug print routines to direct
their output to the serial port on MSM 8660 devices.
Say Y here if your platform doesn't provide a UART option
below. This relies on your platform choosing the right UART
definition internally in order for low-level debugging to
work.
config DEBUG_MSM8960_UART
bool "Kernel low-level debugging messages via MSM 8960 UART"
depends on ARCH_MSM8960
select MSM_HAS_DEBUG_UART_HS
config DEBUG_ICEDCC
bool "Kernel low-level debugging via EmbeddedICE DCC channel"
help
Say Y here if you want the debug print routines to direct
their output to the serial port on MSM 8960 devices.
their output to the EmbeddedICE macrocell's DCC channel using
co-processor 14. This is known to work on the ARM9 style ICE
channel and on the XScale with the PEEDI.
Note that the system will appear to hang during boot if there
is nothing connected to read from the DCC.
endchoice
...
...
arch/arm/include/asm/system.h
浏览文件 @
c15a0433
...
...
@@ -110,6 +110,7 @@ extern void cpu_init(void);
void
soft_restart
(
unsigned
long
);
extern
void
(
*
arm_pm_restart
)(
char
str
,
const
char
*
cmd
);
extern
void
(
*
arm_pm_idle
)(
void
);
#define UDBG_UNDEFINED (1 << 0)
#define UDBG_SYSCALL (1 << 1)
...
...
arch/arm/kernel/process.c
浏览文件 @
c15a0433
...
...
@@ -61,8 +61,6 @@ extern void setup_mm_for_reboot(void);
static
volatile
int
hlt_counter
;
#include <mach/system.h>
void
disable_hlt
(
void
)
{
hlt_counter
++
;
...
...
@@ -181,13 +179,17 @@ void cpu_idle_wait(void)
EXPORT_SYMBOL_GPL
(
cpu_idle_wait
);
/*
* This is our default idle handler. We need to disable
* interrupts here to ensure we don't miss a wakeup call.
* This is our default idle handler.
*/
void
(
*
arm_pm_idle
)(
void
);
static
void
default_idle
(
void
)
{
if
(
!
need_resched
())
arch_idle
();
if
(
arm_pm_idle
)
arm_pm_idle
();
else
cpu_do_idle
();
local_irq_enable
();
}
...
...
@@ -215,6 +217,10 @@ void cpu_idle(void)
cpu_die
();
#endif
/*
* We need to disable interrupts here
* to ensure we don't miss a wakeup call.
*/
local_irq_disable
();
#ifdef CONFIG_PL310_ERRATA_769419
wmb
();
...
...
@@ -222,19 +228,18 @@ void cpu_idle(void)
if
(
hlt_counter
)
{
local_irq_enable
();
cpu_relax
();
}
else
{
}
else
if
(
!
need_resched
())
{
stop_critical_timings
();
if
(
cpuidle_idle_call
())
pm_idle
();
start_critical_timings
();
/*
* This will eventually be removed - pm_idle
* functions should always return with IRQs
* enabled.
* pm_idle functions must always
* return with IRQs enabled.
*/
WARN_ON
(
irqs_disabled
());
}
else
local_irq_enable
();
}
}
leds_event
(
led_idle_end
);
rcu_idle_exit
();
...
...
arch/arm/mach-at91/at91cap9.c
浏览文件 @
c15a0433
...
...
@@ -14,6 +14,7 @@
#include <linux/module.h>
#include <asm/proc-fns.h>
#include <asm/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
...
...
@@ -313,6 +314,12 @@ static struct at91_gpio_bank at91cap9_gpio[] __initdata = {
}
};
static
void
at91cap9_idle
(
void
)
{
at91_sys_write
(
AT91_PMC_SCDR
,
AT91_PMC_PCK
);
cpu_do_idle
();
}
/* --------------------------------------------------------------------
* AT91CAP9 processor initialization
* -------------------------------------------------------------------- */
...
...
@@ -332,6 +339,7 @@ static void __init at91cap9_ioremap_registers(void)
static
void
__init
at91cap9_initialize
(
void
)
{
arm_pm_idle
=
at91cap9_idle
;
arm_pm_restart
=
at91sam9g45_restart
;
at91_extern_irq
=
(
1
<<
AT91CAP9_ID_IRQ0
)
|
(
1
<<
AT91CAP9_ID_IRQ1
);
...
...
arch/arm/mach-at91/at91rm9200.c
浏览文件 @
c15a0433
...
...
@@ -289,6 +289,15 @@ static struct at91_gpio_bank at91rm9200_gpio[] __initdata = {
}
};
static
void
at91rm9200_idle
(
void
)
{
/*
* Disable the processor clock. The processor will be automatically
* re-enabled by an interrupt or by a reset.
*/
at91_sys_write
(
AT91_PMC_SCDR
,
AT91_PMC_PCK
);
}
static
void
at91rm9200_restart
(
char
mode
,
const
char
*
cmd
)
{
/*
...
...
@@ -314,6 +323,7 @@ static void __init at91rm9200_ioremap_registers(void)
static
void
__init
at91rm9200_initialize
(
void
)
{
arm_pm_idle
=
at91rm9200_idle
;
arm_pm_restart
=
at91rm9200_restart
;
at91_extern_irq
=
(
1
<<
AT91RM9200_ID_IRQ0
)
|
(
1
<<
AT91RM9200_ID_IRQ1
)
|
(
1
<<
AT91RM9200_ID_IRQ2
)
|
(
1
<<
AT91RM9200_ID_IRQ3
)
...
...
arch/arm/mach-at91/at91sam9260.c
浏览文件 @
c15a0433
...
...
@@ -12,6 +12,7 @@
#include <linux/module.h>
#include <asm/proc-fns.h>
#include <asm/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
...
...
@@ -328,8 +329,15 @@ static void __init at91sam9260_ioremap_registers(void)
at91sam9_ioremap_smc
(
0
,
AT91SAM9260_BASE_SMC
);
}
static
void
at91sam9260_idle
(
void
)
{
at91_sys_write
(
AT91_PMC_SCDR
,
AT91_PMC_PCK
);
cpu_do_idle
();
}
static
void
__init
at91sam9260_initialize
(
void
)
{
arm_pm_idle
=
at91sam9260_idle
;
arm_pm_restart
=
at91sam9_alt_restart
;
at91_extern_irq
=
(
1
<<
AT91SAM9260_ID_IRQ0
)
|
(
1
<<
AT91SAM9260_ID_IRQ1
)
|
(
1
<<
AT91SAM9260_ID_IRQ2
);
...
...
arch/arm/mach-at91/at91sam9261.c
浏览文件 @
c15a0433
...
...
@@ -12,6 +12,7 @@
#include <linux/module.h>
#include <asm/proc-fns.h>
#include <asm/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
...
...
@@ -286,8 +287,15 @@ static void __init at91sam9261_ioremap_registers(void)
at91sam9_ioremap_smc
(
0
,
AT91SAM9261_BASE_SMC
);
}
static
void
at91sam9261_idle
(
void
)
{
at91_sys_write
(
AT91_PMC_SCDR
,
AT91_PMC_PCK
);
cpu_do_idle
();
}
static
void
__init
at91sam9261_initialize
(
void
)
{
arm_pm_idle
=
at91sam9261_idle
;
arm_pm_restart
=
at91sam9_alt_restart
;
at91_extern_irq
=
(
1
<<
AT91SAM9261_ID_IRQ0
)
|
(
1
<<
AT91SAM9261_ID_IRQ1
)
|
(
1
<<
AT91SAM9261_ID_IRQ2
);
...
...
arch/arm/mach-at91/at91sam9263.c
浏览文件 @
c15a0433
...
...
@@ -12,6 +12,7 @@
#include <linux/module.h>
#include <asm/proc-fns.h>
#include <asm/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
...
...
@@ -307,8 +308,15 @@ static void __init at91sam9263_ioremap_registers(void)
at91sam9_ioremap_smc
(
1
,
AT91SAM9263_BASE_SMC1
);
}
static
void
at91sam9263_idle
(
void
)
{
at91_sys_write
(
AT91_PMC_SCDR
,
AT91_PMC_PCK
);
cpu_do_idle
();
}
static
void
__init
at91sam9263_initialize
(
void
)
{
arm_pm_idle
=
at91sam9263_idle
;
arm_pm_restart
=
at91sam9_alt_restart
;
at91_extern_irq
=
(
1
<<
AT91SAM9263_ID_IRQ0
)
|
(
1
<<
AT91SAM9263_ID_IRQ1
);
...
...
arch/arm/mach-at91/at91sam9g45.c
浏览文件 @
c15a0433
...
...
@@ -317,6 +317,12 @@ static struct at91_gpio_bank at91sam9g45_gpio[] __initdata = {
}
};
static
void
at91sam9g45_idle
(
void
)
{
at91_sys_write
(
AT91_PMC_SCDR
,
AT91_PMC_PCK
);
cpu_do_idle
();
}
/* --------------------------------------------------------------------
* AT91SAM9G45 processor initialization
* -------------------------------------------------------------------- */
...
...
@@ -337,6 +343,7 @@ static void __init at91sam9g45_ioremap_registers(void)
static
void
__init
at91sam9g45_initialize
(
void
)
{
arm_pm_idle
=
at91sam9g45_idle
;
arm_pm_restart
=
at91sam9g45_restart
;
at91_extern_irq
=
(
1
<<
AT91SAM9G45_ID_IRQ0
);
...
...
arch/arm/mach-at91/at91sam9rl.c
浏览文件 @
c15a0433
...
...
@@ -11,6 +11,7 @@
#include <linux/module.h>
#include <asm/proc-fns.h>
#include <asm/irq.h>
#include <asm/mach/arch.h>
#include <asm/mach/map.h>
...
...
@@ -291,8 +292,15 @@ static void __init at91sam9rl_ioremap_registers(void)
at91sam9_ioremap_smc
(
0
,
AT91SAM9RL_BASE_SMC
);
}
static
void
at91sam9rl_idle
(
void
)
{
at91_sys_write
(
AT91_PMC_SCDR
,
AT91_PMC_PCK
);
cpu_do_idle
();
}
static
void
__init
at91sam9rl_initialize
(
void
)
{
arm_pm_idle
=
at91sam9rl_idle
;
arm_pm_restart
=
at91sam9_alt_restart
;
at91_extern_irq
=
(
1
<<
AT91SAM9RL_ID_IRQ0
);
...
...
arch/arm/mach-at91/at91x40.c
浏览文件 @
c15a0433
...
...
@@ -13,6 +13,7 @@
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/irq.h>
#include <asm/proc-fns.h>
#include <asm/mach/arch.h>
#include <mach/at91x40.h>
#include <mach/at91_st.h>
...
...
@@ -37,8 +38,19 @@ unsigned long clk_get_rate(struct clk *clk)
return
AT91X40_MASTER_CLOCK
;
}
static
void
at91x40_idle
(
void
)
{
/*
* Disable the processor clock. The processor will be automatically
* re-enabled by an interrupt or by a reset.
*/
at91_sys_write
(
AT91_PS_CR
,
AT91_PS_CR_CPU
);
cpu_do_idle
();
}
void
__init
at91x40_initialize
(
unsigned
long
main_clock
)
{
arm_pm_idle
=
at91x40_idle
;
at91_extern_irq
=
(
1
<<
AT91X40_ID_IRQ0
)
|
(
1
<<
AT91X40_ID_IRQ1
)
|
(
1
<<
AT91X40_ID_IRQ2
);
}
...
...
arch/arm/mach-at91/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-at91/include/mach/system.h
*
* Copyright (C) 2003 SAN People
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
#include <mach/hardware.h>
#include <mach/at91_st.h>
#include <mach/at91_dbgu.h>
#include <mach/at91_pmc.h>
static
inline
void
arch_idle
(
void
)
{
/*
* Disable the processor clock. The processor will be automatically
* re-enabled by an interrupt or by a reset.
*/
#ifdef AT91_PS
at91_sys_write
(
AT91_PS_CR
,
AT91_PS_CR_CPU
);
#else
at91_sys_write
(
AT91_PMC_SCDR
,
AT91_PMC_PCK
);
#endif
#ifndef CONFIG_CPU_ARM920T
/*
* Set the processor (CP15) into 'Wait for Interrupt' mode.
* Post-RM9200 processors need this in conjunction with the above
* to save power when idle.
*/
cpu_do_idle
();
#endif
}
#endif
arch/arm/mach-bcmring/core.c
浏览文件 @
c15a0433
...
...
@@ -52,27 +52,8 @@
#include <mach/csp/chipcHw_inline.h>
#include <mach/csp/tmrHw_reg.h>
#define AMBA_DEVICE(name, initname, base, plat, size) \
static struct amba_device name##_device = { \
.dev = { \
.coherent_dma_mask = ~0, \
.init_name = initname, \
.platform_data = plat \
}, \
.res = { \
.start = MM_ADDR_IO_##base, \
.end = MM_ADDR_IO_##base + (size) - 1, \
.flags = IORESOURCE_MEM \
}, \
.dma_mask = ~0, \
.irq = { \
IRQ_##base \
} \
}
AMBA_DEVICE
(
uartA
,
"uarta"
,
UARTA
,
NULL
,
SZ_4K
);
AMBA_DEVICE
(
uartB
,
"uartb"
,
UARTB
,
NULL
,
SZ_4K
);
static
AMBA_APB_DEVICE
(
uartA
,
"uarta"
,
MM_ADDR_IO_UARTA
,
{
IRQ_UARTA
},
NULL
);
static
AMBA_APB_DEVICE
(
uartB
,
"uartb"
,
MM_ADDR_IO_UARTB
,
{
IRQ_UARTB
},
NULL
);
static
struct
clk
pll1_clk
=
{
.
name
=
"PLL1"
,
...
...
arch/arm/mach-bcmring/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
*
* Copyright (C) 1999 ARM Limited
* Copyright (C) 2000 Deep Blue Solutions Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/mach-clps711x/common.c
浏览文件 @
c15a0433
...
...
@@ -225,3 +225,19 @@ void clps711x_restart(char mode, const char *cmd)
{
soft_restart
(
0
);
}
static
void
clps711x_idle
(
void
)
{
clps_writel
(
1
,
HALT
);
__asm__
__volatile__
(
"mov r0, r0
\n
\
mov r0, r0"
);
}
static
int
__init
clps711x_idle_init
(
void
)
{
arm_pm_idle
=
clps711x_idle
;
return
0
;
}
arch_initcall
(
clps711x_idle_init
);
arch/arm/mach-clps711x/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-clps711x/include/mach/system.h
*
* Copyright (C) 2000 Deep Blue Solutions Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
#include <linux/io.h>
#include <mach/hardware.h>
#include <asm/hardware/clps7111.h>
static
inline
void
arch_idle
(
void
)
{
clps_writel
(
1
,
HALT
);
__asm__
__volatile__
(
"mov r0, r0
\n
\
mov r0, r0"
);
}
#endif
arch/arm/mach-cns3xxx/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* Copyright 2000 Deep Blue Solutions Ltd
* Copyright 2003 ARM Limited
* Copyright 2008 Cavium Networks
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License, Version 2, as
* published by the Free Software Foundation.
*/
#ifndef __MACH_SYSTEM_H
#define __MACH_SYSTEM_H
#include <asm/proc-fns.h>
static
inline
void
arch_idle
(
void
)
{
/*
* This should do all the clock switching
* and wait for interrupt tricks
*/
cpu_do_idle
();
}
#endif
arch/arm/mach-davinci/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* DaVinci system defines
*
* Author: Kevin Hilman, MontaVista Software, Inc. <source@mvista.com>
*
* 2007 (c) MontaVista Software, Inc. 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.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
#include <mach/common.h>
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
/* __ASM_ARCH_SYSTEM_H */
arch/arm/mach-dove/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-dove/include/mach/system.h
*
* 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.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/mach-ebsa110/core.c
浏览文件 @
c15a0433
...
...
@@ -271,8 +271,33 @@ static struct platform_device *ebsa110_devices[] = {
&
am79c961_device
,
};
/*
* EBSA110 idling methodology:
*
* We can not execute the "wait for interrupt" instruction since that
* will stop our MCLK signal (which provides the clock for the glue
* logic, and therefore the timer interrupt).
*
* Instead, we spin, polling the IRQ_STAT register for the occurrence
* of any interrupt with core clock down to the memory clock.
*/
static
void
ebsa110_idle
(
void
)
{
const
char
*
irq_stat
=
(
char
*
)
0xff000000
;
/* disable clock switching */
asm
volatile
(
"mcr p15, 0, ip, c15, c2, 2"
:
:
:
"cc"
);
/* wait for an interrupt to occur */
while
(
!*
irq_stat
);
/* enable clock switching */
asm
volatile
(
"mcr p15, 0, ip, c15, c1, 2"
:
:
:
"cc"
);
}
static
int
__init
ebsa110_init
(
void
)
{
arm_pm_idle
=
ebsa110_idle
;
return
platform_add_devices
(
ebsa110_devices
,
ARRAY_SIZE
(
ebsa110_devices
));
}
...
...
arch/arm/mach-ebsa110/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-ebsa110/include/mach/system.h
*
* Copyright (C) 1996-2000 Russell King.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
/*
* EBSA110 idling methodology:
*
* We can not execute the "wait for interrupt" instruction since that
* will stop our MCLK signal (which provides the clock for the glue
* logic, and therefore the timer interrupt).
*
* Instead, we spin, polling the IRQ_STAT register for the occurrence
* of any interrupt with core clock down to the memory clock.
*/
static
inline
void
arch_idle
(
void
)
{
const
char
*
irq_stat
=
(
char
*
)
0xff000000
;
/* disable clock switching */
asm
volatile
(
"mcr p15, 0, ip, c15, c2, 2"
:
:
:
"cc"
);
/* wait for an interrupt to occur */
while
(
!*
irq_stat
);
/* enable clock switching */
asm
volatile
(
"mcr p15, 0, ip, c15, c1, 2"
:
:
:
"cc"
);
}
#endif
arch/arm/mach-ep93xx/core.c
浏览文件 @
c15a0433
...
...
@@ -279,48 +279,14 @@ static struct amba_pl010_data ep93xx_uart_data = {
.
set_mctrl
=
ep93xx_uart_set_mctrl
,
};
static
struct
amba_device
uart1_device
=
{
.
dev
=
{
.
init_name
=
"apb:uart1"
,
.
platform_data
=
&
ep93xx_uart_data
,
},
.
res
=
{
.
start
=
EP93XX_UART1_PHYS_BASE
,
.
end
=
EP93XX_UART1_PHYS_BASE
+
0x0fff
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_EP93XX_UART1
,
NO_IRQ
},
.
periphid
=
0x00041010
,
};
static
struct
amba_device
uart2_device
=
{
.
dev
=
{
.
init_name
=
"apb:uart2"
,
.
platform_data
=
&
ep93xx_uart_data
,
},
.
res
=
{
.
start
=
EP93XX_UART2_PHYS_BASE
,
.
end
=
EP93XX_UART2_PHYS_BASE
+
0x0fff
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_EP93XX_UART2
,
NO_IRQ
},
.
periphid
=
0x00041010
,
};
static
AMBA_APB_DEVICE
(
uart1
,
"apb:uart1"
,
0x00041010
,
EP93XX_UART1_PHYS_BASE
,
{
IRQ_EP93XX_UART1
},
&
ep93xx_uart_data
);
static
struct
amba_device
uart3_device
=
{
.
dev
=
{
.
init_name
=
"apb:uart3"
,
.
platform_data
=
&
ep93xx_uart_data
,
},
.
res
=
{
.
start
=
EP93XX_UART3_PHYS_BASE
,
.
end
=
EP93XX_UART3_PHYS_BASE
+
0x0fff
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_EP93XX_UART3
,
NO_IRQ
},
.
periphid
=
0x00041010
,
};
static
AMBA_APB_DEVICE
(
uart2
,
"apb:uart2"
,
0x00041010
,
EP93XX_UART2_PHYS_BASE
,
{
IRQ_EP93XX_UART2
},
&
ep93xx_uart_data
);
static
AMBA_APB_DEVICE
(
uart3
,
"apb:uart3"
,
0x00041010
,
EP93XX_UART3_PHYS_BASE
,
{
IRQ_EP93XX_UART3
},
&
ep93xx_uart_data
);
static
struct
resource
ep93xx_rtc_resource
[]
=
{
{
...
...
arch/arm/mach-ep93xx/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-ep93xx/include/mach/system.h
*/
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
arch/arm/mach-exynos/clock-exynos4210.c
浏览文件 @
c15a0433
...
...
@@ -117,7 +117,7 @@ static void exynos4210_clock_resume(void)
#define exynos4210_clock_resume NULL
#endif
struct
syscore_ops
exynos4210_clock_syscore_ops
=
{
st
atic
st
ruct
syscore_ops
exynos4210_clock_syscore_ops
=
{
.
suspend
=
exynos4210_clock_suspend
,
.
resume
=
exynos4210_clock_resume
,
};
...
...
arch/arm/mach-exynos/clock-exynos4212.c
浏览文件 @
c15a0433
...
...
@@ -89,7 +89,7 @@ static void exynos4212_clock_resume(void)
#define exynos4212_clock_resume NULL
#endif
struct
syscore_ops
exynos4212_clock_syscore_ops
=
{
st
atic
st
ruct
syscore_ops
exynos4212_clock_syscore_ops
=
{
.
suspend
=
exynos4212_clock_suspend
,
.
resume
=
exynos4212_clock_resume
,
};
...
...
arch/arm/mach-exynos/clock.c
浏览文件 @
c15a0433
...
...
@@ -1526,7 +1526,7 @@ static void exynos4_clock_resume(void)
#define exynos4_clock_resume NULL
#endif
struct
syscore_ops
exynos4_clock_syscore_ops
=
{
st
atic
st
ruct
syscore_ops
exynos4_clock_syscore_ops
=
{
.
suspend
=
exynos4_clock_suspend
,
.
resume
=
exynos4_clock_resume
,
};
...
...
arch/arm/mach-exynos/common.c
浏览文件 @
c15a0433
...
...
@@ -201,14 +201,6 @@ static struct map_desc exynos4_iodesc1[] __initdata = {
},
};
static
void
exynos_idle
(
void
)
{
if
(
!
need_resched
())
cpu_do_idle
();
local_irq_enable
();
}
void
exynos4_restart
(
char
mode
,
const
char
*
cmd
)
{
__raw_writel
(
0x1
,
S5P_SWRESET
);
...
...
@@ -467,10 +459,6 @@ early_initcall(exynos4_l2x0_cache_init);
int
__init
exynos_init
(
void
)
{
printk
(
KERN_INFO
"EXYNOS: Initializing architecture
\n
"
);
/* set idle function */
pm_idle
=
exynos_idle
;
return
device_register
(
&
exynos4_dev
);
}
...
...
@@ -673,7 +661,7 @@ static void exynos4_irq_eint0_15(unsigned int irq, struct irq_desc *desc)
chained_irq_exit
(
chip
,
desc
);
}
int
__init
exynos4_init_irq_eint
(
void
)
static
int
__init
exynos4_init_irq_eint
(
void
)
{
int
irq
;
...
...
arch/arm/mach-exynos/dma.c
浏览文件 @
c15a0433
...
...
@@ -36,7 +36,7 @@
static
u64
dma_dmamask
=
DMA_BIT_MASK
(
32
);
u8
pdma0_peri
[]
=
{
static
u8
pdma0_peri
[]
=
{
DMACH_PCM0_RX
,
DMACH_PCM0_TX
,
DMACH_PCM2_RX
,
...
...
@@ -69,28 +69,15 @@ u8 pdma0_peri[] = {
DMACH_AC97_PCMOUT
,
};
struct
dma_pl330_platdata
exynos4_pdma0_pdata
=
{
st
atic
st
ruct
dma_pl330_platdata
exynos4_pdma0_pdata
=
{
.
nr_valid_peri
=
ARRAY_SIZE
(
pdma0_peri
),
.
peri_id
=
pdma0_peri
,
};
struct
amba_device
exynos4_device_pdma0
=
{
.
dev
=
{
.
init_name
=
"dma-pl330.0"
,
.
dma_mask
=
&
dma_dmamask
,
.
coherent_dma_mask
=
DMA_BIT_MASK
(
32
),
.
platform_data
=
&
exynos4_pdma0_pdata
,
},
.
res
=
{
.
start
=
EXYNOS4_PA_PDMA0
,
.
end
=
EXYNOS4_PA_PDMA0
+
SZ_4K
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_PDMA0
,
NO_IRQ
},
.
periphid
=
0x00041330
,
};
static
AMBA_AHB_DEVICE
(
exynos4_pdma0
,
"dma-pl330.0"
,
0x00041330
,
EXYNOS4_PA_PDMA0
,
{
IRQ_PDMA0
},
&
exynos4_pdma0_pdata
);
u8
pdma1_peri
[]
=
{
static
u8
pdma1_peri
[]
=
{
DMACH_PCM0_RX
,
DMACH_PCM0_TX
,
DMACH_PCM1_RX
,
...
...
@@ -118,26 +105,13 @@ u8 pdma1_peri[] = {
DMACH_SLIMBUS5_TX
,
};
struct
dma_pl330_platdata
exynos4_pdma1_pdata
=
{
st
atic
st
ruct
dma_pl330_platdata
exynos4_pdma1_pdata
=
{
.
nr_valid_peri
=
ARRAY_SIZE
(
pdma1_peri
),
.
peri_id
=
pdma1_peri
,
};
struct
amba_device
exynos4_device_pdma1
=
{
.
dev
=
{
.
init_name
=
"dma-pl330.1"
,
.
dma_mask
=
&
dma_dmamask
,
.
coherent_dma_mask
=
DMA_BIT_MASK
(
32
),
.
platform_data
=
&
exynos4_pdma1_pdata
,
},
.
res
=
{
.
start
=
EXYNOS4_PA_PDMA1
,
.
end
=
EXYNOS4_PA_PDMA1
+
SZ_4K
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_PDMA1
,
NO_IRQ
},
.
periphid
=
0x00041330
,
};
static
AMBA_AHB_DEVICE
(
exynos4_pdma1
,
"dma-pl330.1"
,
0x00041330
,
EXYNOS4_PA_PDMA1
,
{
IRQ_PDMA1
},
&
exynos4_pdma1_pdata
);
static
int
__init
exynos4_dma_init
(
void
)
{
...
...
@@ -146,11 +120,11 @@ static int __init exynos4_dma_init(void)
dma_cap_set
(
DMA_SLAVE
,
exynos4_pdma0_pdata
.
cap_mask
);
dma_cap_set
(
DMA_CYCLIC
,
exynos4_pdma0_pdata
.
cap_mask
);
amba_device_register
(
&
exynos4_
device_pdma0
,
&
iomem_resource
);
amba_device_register
(
&
exynos4_
pdma0_device
,
&
iomem_resource
);
dma_cap_set
(
DMA_SLAVE
,
exynos4_pdma1_pdata
.
cap_mask
);
dma_cap_set
(
DMA_CYCLIC
,
exynos4_pdma1_pdata
.
cap_mask
);
amba_device_register
(
&
exynos4_
device_pdma1
,
&
iomem_resource
);
amba_device_register
(
&
exynos4_
pdma1_device
,
&
iomem_resource
);
return
0
;
}
...
...
arch/arm/mach-exynos/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/* linux/arch/arm/mach-exynos4/include/mach/system.h
*
* Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* EXYNOS4 - system support header
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H __FILE__
static
void
arch_idle
(
void
)
{
/* nothing here yet */
}
#endif
/* __ASM_ARCH_SYSTEM_H */
arch/arm/mach-exynos/mach-origen.c
浏览文件 @
c15a0433
...
...
@@ -412,7 +412,7 @@ static struct max8997_regulator_data __initdata origen_max8997_regulators[] = {
{
MAX8997_BUCK7
,
&
max8997_buck7_data
},
};
struct
max8997_platform_data
__initdata
origen_max8997_pdata
=
{
st
atic
st
ruct
max8997_platform_data
__initdata
origen_max8997_pdata
=
{
.
num_regulators
=
ARRAY_SIZE
(
origen_max8997_regulators
),
.
regulators
=
origen_max8997_regulators
,
...
...
arch/arm/mach-exynos/mach-universal_c210.c
浏览文件 @
c15a0433
...
...
@@ -997,7 +997,7 @@ static void __init universal_map_io(void)
s3c24xx_init_uarts
(
universal_uartcfgs
,
ARRAY_SIZE
(
universal_uartcfgs
));
}
void
s5p_tv_setup
(
void
)
static
void
s5p_tv_setup
(
void
)
{
/* direct HPD to HDMI chip */
gpio_request_one
(
EXYNOS4_GPX3
(
7
),
GPIOF_IN
,
"hpd-plug"
);
...
...
arch/arm/mach-footbridge/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-footbridge/include/mach/system.h
*
* Copyright (C) 1996-1999 Russell King.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
arch/arm/mach-gemini/Makefile
浏览文件 @
c15a0433
...
...
@@ -4,7 +4,7 @@
# Object file lists.
obj-y
:=
irq.o mm.o time.o devices.o gpio.o
obj-y
:=
irq.o mm.o time.o devices.o gpio.o
idle.o
# Board-specific support
obj-$(CONFIG_MACH_NAS4220B)
+=
board-nas4220b.o
...
...
arch/arm/mach-gemini/idle.c
0 → 100644
浏览文件 @
c15a0433
/*
* arch/arm/mach-gemini/idle.c
*/
#include <linux/init.h>
#include <asm/system.h>
#include <asm/proc-fns.h>
static
void
gemini_idle
(
void
)
{
/*
* Because of broken hardware we have to enable interrupts or the CPU
* will never wakeup... Acctualy it is not very good to enable
* interrupts first since scheduler can miss a tick, but there is
* no other way around this. Platforms that needs it for power saving
* should call enable_hlt() in init code, since by default it is
* disabled.
*/
local_irq_enable
();
cpu_do_idle
();
}
static
int
__init
gemini_idle_init
(
void
)
{
arm_pm_idle
=
gemini_idle
;
return
0
;
}
arch_initcall
(
gemini_idle_init
);
arch/arm/mach-gemini/include/mach/system.h
浏览文件 @
c15a0433
...
...
@@ -14,20 +14,6 @@
#include <mach/hardware.h>
#include <mach/global_reg.h>
static
inline
void
arch_idle
(
void
)
{
/*
* Because of broken hardware we have to enable interrupts or the CPU
* will never wakeup... Acctualy it is not very good to enable
* interrupts here since scheduler can miss a tick, but there is
* no other way around this. Platforms that needs it for power saving
* should call enable_hlt() in init code, since by default it is
* disabled.
*/
local_irq_enable
();
cpu_do_idle
();
}
static
inline
void
arch_reset
(
char
mode
,
const
char
*
cmd
)
{
__raw_writel
(
RESET_GLOBAL
|
RESET_CPU1
,
...
...
arch/arm/mach-gemini/irq.c
浏览文件 @
c15a0433
...
...
@@ -73,8 +73,8 @@ void __init gemini_init_irq(void)
unsigned
int
i
,
mode
=
0
,
level
=
0
;
/*
* Disable
arch_idle()
by default since it is buggy
* For more info see arch/arm/mach-gemini/i
nclude/mach/system.h
* Disable
the idle handler
by default since it is buggy
* For more info see arch/arm/mach-gemini/i
dle.c
*/
disable_hlt
();
...
...
arch/arm/mach-h720x/common.c
浏览文件 @
c15a0433
...
...
@@ -247,3 +247,21 @@ void h720x_restart(char mode, const char *cmd)
{
CPU_REG
(
PMU_BASE
,
PMU_STAT
)
|=
PMU_WARMRESET
;
}
static
void
h720x__idle
(
void
)
{
CPU_REG
(
PMU_BASE
,
PMU_MODE
)
=
PMU_MODE_IDLE
;
nop
();
nop
();
CPU_REG
(
PMU_BASE
,
PMU_MODE
)
=
PMU_MODE_RUN
;
nop
();
nop
();
}
static
int
__init
h720x_idle_init
(
void
)
{
arm_pm_idle
=
h720x__idle
;
return
0
;
}
arch_initcall
(
h720x_idle_init
);
arch/arm/mach-h720x/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-h720x/include/mach/system.h
*
* Copyright (C) 2001-2002 Jungjun Kim, Hynix Semiconductor Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
* arch/arm/mach-h720x/include/mach/system.h
*
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
#include <mach/hardware.h>
static
void
arch_idle
(
void
)
{
CPU_REG
(
PMU_BASE
,
PMU_MODE
)
=
PMU_MODE_IDLE
;
nop
();
nop
();
CPU_REG
(
PMU_BASE
,
PMU_MODE
)
=
PMU_MODE_RUN
;
nop
();
nop
();
}
#endif
arch/arm/mach-highbank/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* Copyright 2010-2011 Calxeda, Inc.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU General Public License,
* version 2, as published by the Free Software Foundation.
*
* This program is distributed in the hope it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __MACH_SYSTEM_H
#define __MACH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/mach-imx/mm-imx3.c
浏览文件 @
c15a0433
...
...
@@ -34,31 +34,29 @@ static void imx3_idle(void)
{
unsigned
long
reg
=
0
;
if
(
!
need_resched
())
__asm__
__volatile__
(
/* disable I and D cache */
"mrc p15, 0, %0, c1, c0, 0
\n
"
"bic %0, %0, #0x00001000
\n
"
"bic %0, %0, #0x00000004
\n
"
"mcr p15, 0, %0, c1, c0, 0
\n
"
/* invalidate I cache */
"mov %0, #0
\n
"
"mcr p15, 0, %0, c7, c5, 0
\n
"
/* clear and invalidate D cache */
"mov %0, #0
\n
"
"mcr p15, 0, %0, c7, c14, 0
\n
"
/* WFI */
"mov %0, #0
\n
"
"mcr p15, 0, %0, c7, c0, 4
\n
"
"nop
\n
"
"nop
\n
"
"nop
\n
"
"nop
\n
"
"nop
\n
"
"nop
\n
"
"nop
\n
"
/* enable I and D cache */
"mrc p15, 0, %0, c1, c0, 0
\n
"
"orr %0, %0, #0x00001000
\n
"
"orr %0, %0, #0x00000004
\n
"
"mcr p15, 0, %0, c1, c0, 0
\n
"
:
"=r"
(
reg
));
local_irq_enable
();
__asm__
__volatile__
(
/* disable I and D cache */
"mrc p15, 0, %0, c1, c0, 0
\n
"
"bic %0, %0, #0x00001000
\n
"
"bic %0, %0, #0x00000004
\n
"
"mcr p15, 0, %0, c1, c0, 0
\n
"
/* invalidate I cache */
"mov %0, #0
\n
"
"mcr p15, 0, %0, c7, c5, 0
\n
"
/* clear and invalidate D cache */
"mov %0, #0
\n
"
"mcr p15, 0, %0, c7, c14, 0
\n
"
/* WFI */
"mov %0, #0
\n
"
"mcr p15, 0, %0, c7, c0, 4
\n
"
"nop
\n
"
"nop
\n
"
"nop
\n
"
"nop
\n
"
"nop
\n
"
"nop
\n
"
"nop
\n
"
/* enable I and D cache */
"mrc p15, 0, %0, c1, c0, 0
\n
"
"orr %0, %0, #0x00001000
\n
"
"orr %0, %0, #0x00000004
\n
"
"mcr p15, 0, %0, c1, c0, 0
\n
"
:
"=r"
(
reg
));
}
static
void
__iomem
*
imx3_ioremap
(
unsigned
long
phys_addr
,
size_t
size
,
...
...
@@ -134,8 +132,8 @@ void __init imx31_init_early(void)
{
mxc_set_cpu_type
(
MXC_CPU_MX31
);
mxc_arch_reset_init
(
MX31_IO_ADDRESS
(
MX31_WDOG_BASE_ADDR
));
pm_idle
=
imx3_idle
;
imx_ioremap
=
imx3_ioremap
;
arm_pm_idle
=
imx3_idle
;
}
void
__init
mx31_init_irq
(
void
)
...
...
@@ -197,7 +195,7 @@ void __init imx35_init_early(void)
mxc_set_cpu_type
(
MXC_CPU_MX35
);
mxc_iomux_v3_init
(
MX35_IO_ADDRESS
(
MX35_IOMUXC_BASE_ADDR
));
mxc_arch_reset_init
(
MX35_IO_ADDRESS
(
MX35_WDOG_BASE_ADDR
));
pm_idle
=
imx3_idle
;
arm_
pm_idle
=
imx3_idle
;
imx_ioremap
=
imx3_ioremap
;
}
...
...
arch/arm/mach-imx/mm-imx5.c
浏览文件 @
c15a0433
...
...
@@ -26,23 +26,17 @@ static struct clk *gpc_dvfs_clk;
static
void
imx5_idle
(
void
)
{
if
(
!
need_resched
())
{
/* gpc clock is needed for SRPG */
if
(
gpc_dvfs_clk
==
NULL
)
{
gpc_dvfs_clk
=
clk_get
(
NULL
,
"gpc_dvfs"
);
if
(
IS_ERR
(
gpc_dvfs_clk
))
goto
err0
;
}
clk_enable
(
gpc_dvfs_clk
);
mx5_cpu_lp_set
(
WAIT_UNCLOCKED_POWER_OFF
);
if
(
tzic_enable_wake
())
goto
err1
;
cpu_do_idle
();
err1:
clk_disable
(
gpc_dvfs_clk
);
/* gpc clock is needed for SRPG */
if
(
gpc_dvfs_clk
==
NULL
)
{
gpc_dvfs_clk
=
clk_get
(
NULL
,
"gpc_dvfs"
);
if
(
IS_ERR
(
gpc_dvfs_clk
))
return
;
}
err0:
local_irq_enable
();
clk_enable
(
gpc_dvfs_clk
);
mx5_cpu_lp_set
(
WAIT_UNCLOCKED_POWER_OFF
);
if
(
tzic_enable_wake
()
!=
0
)
cpu_do_idle
();
clk_disable
(
gpc_dvfs_clk
);
}
/*
...
...
@@ -108,7 +102,7 @@ void __init imx51_init_early(void)
mxc_set_cpu_type
(
MXC_CPU_MX51
);
mxc_iomux_v3_init
(
MX51_IO_ADDRESS
(
MX51_IOMUXC_BASE_ADDR
));
mxc_arch_reset_init
(
MX51_IO_ADDRESS
(
MX51_WDOG1_BASE_ADDR
));
pm_idle
=
imx5_idle
;
arm_
pm_idle
=
imx5_idle
;
}
void
__init
imx53_init_early
(
void
)
...
...
arch/arm/mach-imx/pm-imx27.c
浏览文件 @
c15a0433
...
...
@@ -10,7 +10,6 @@
#include <linux/kernel.h>
#include <linux/suspend.h>
#include <linux/io.h>
#include <mach/system.h>
#include <mach/hardware.h>
static
int
mx27_suspend_enter
(
suspend_state_t
state
)
...
...
@@ -23,7 +22,7 @@ static int mx27_suspend_enter(suspend_state_t state)
cscr
&=
0xFFFFFFFC
;
__raw_writel
(
cscr
,
MX27_IO_ADDRESS
(
MX27_CCM_BASE_ADDR
));
/* Executes WFI */
arch
_idle
();
cpu_do
_idle
();
break
;
default:
...
...
arch/arm/mach-integrator/core.c
浏览文件 @
c15a0433
...
...
@@ -35,67 +35,23 @@
static
struct
amba_pl010_data
integrator_uart_data
;
static
struct
amba_device
rtc_device
=
{
.
dev
=
{
.
init_name
=
"mb:15"
,
},
.
res
=
{
.
start
=
INTEGRATOR_RTC_BASE
,
.
end
=
INTEGRATOR_RTC_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_RTCINT
,
NO_IRQ
},
};
#define INTEGRATOR_RTC_IRQ { IRQ_RTCINT }
#define INTEGRATOR_UART0_IRQ { IRQ_UARTINT0 }
#define INTEGRATOR_UART1_IRQ { IRQ_UARTINT1 }
#define KMI0_IRQ { IRQ_KMIINT0 }
#define KMI1_IRQ { IRQ_KMIINT1 }
static
struct
amba_device
uart0_device
=
{
.
dev
=
{
.
init_name
=
"mb:16"
,
.
platform_data
=
&
integrator_uart_data
,
},
.
res
=
{
.
start
=
INTEGRATOR_UART0_BASE
,
.
end
=
INTEGRATOR_UART0_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_UARTINT0
,
NO_IRQ
},
};
static
AMBA_APB_DEVICE
(
rtc
,
"mb:15"
,
0
,
INTEGRATOR_RTC_BASE
,
INTEGRATOR_RTC_IRQ
,
NULL
);
static
struct
amba_device
uart1_device
=
{
.
dev
=
{
.
init_name
=
"mb:17"
,
.
platform_data
=
&
integrator_uart_data
,
},
.
res
=
{
.
start
=
INTEGRATOR_UART1_BASE
,
.
end
=
INTEGRATOR_UART1_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_UARTINT1
,
NO_IRQ
},
};
static
AMBA_APB_DEVICE
(
uart0
,
"mb:16"
,
0
,
INTEGRATOR_UART0_BASE
,
INTEGRATOR_UART0_IRQ
,
&
integrator_uart_data
);
static
struct
amba_device
kmi0_device
=
{
.
dev
=
{
.
init_name
=
"mb:18"
,
},
.
res
=
{
.
start
=
KMI0_BASE
,
.
end
=
KMI0_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_KMIINT0
,
NO_IRQ
},
};
static
AMBA_APB_DEVICE
(
uart1
,
"mb:17"
,
0
,
INTEGRATOR_UART1_BASE
,
INTEGRATOR_UART1_IRQ
,
&
integrator_uart_data
);
static
struct
amba_device
kmi1_device
=
{
.
dev
=
{
.
init_name
=
"mb:19"
,
},
.
res
=
{
.
start
=
KMI1_BASE
,
.
end
=
KMI1_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_KMIINT1
,
NO_IRQ
},
};
static
AMBA_APB_DEVICE
(
kmi0
,
"mb:18"
,
0
,
KMI0_BASE
,
KMI0_IRQ
,
NULL
);
static
AMBA_APB_DEVICE
(
kmi1
,
"mb:19"
,
0
,
KMI1_BASE
,
KMI1_IRQ
,
NULL
);
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
rtc_device
,
...
...
arch/arm/mach-integrator/impd1.c
浏览文件 @
c15a0433
...
...
@@ -401,24 +401,21 @@ static int impd1_probe(struct lm_device *dev)
pc_base
=
dev
->
resource
.
start
+
idev
->
offset
;
d
=
kzalloc
(
sizeof
(
struct
amba_device
),
GFP_KERNEL
);
d
=
amba_device_alloc
(
NULL
,
pc_base
,
SZ_4K
);
if
(
!
d
)
continue
;
dev_set_name
(
&
d
->
dev
,
"lm%x:%5.5lx"
,
dev
->
id
,
idev
->
offset
>>
12
);
d
->
dev
.
parent
=
&
dev
->
dev
;
d
->
res
.
start
=
dev
->
resource
.
start
+
idev
->
offset
;
d
->
res
.
end
=
d
->
res
.
start
+
SZ_4K
-
1
;
d
->
res
.
flags
=
IORESOURCE_MEM
;
d
->
irq
[
0
]
=
dev
->
irq
;
d
->
irq
[
1
]
=
dev
->
irq
;
d
->
periphid
=
idev
->
id
;
d
->
dev
.
platform_data
=
idev
->
platform_data
;
ret
=
amba_device_
register
(
d
,
&
dev
->
resource
);
ret
=
amba_device_
add
(
d
,
&
dev
->
resource
);
if
(
ret
)
{
dev_err
(
&
d
->
dev
,
"unable to register device: %d
\n
"
,
ret
);
kfree
(
d
);
amba_device_put
(
d
);
}
}
...
...
arch/arm/mach-integrator/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-integrator/include/mach/system.h
*
* Copyright (C) 1999 ARM Limited
* Copyright (C) 2000 Deep Blue Solutions Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
/*
* This should do all the clock switching
* and wait for interrupt tricks
*/
cpu_do_idle
();
}
#endif
arch/arm/mach-integrator/integrator_cp.c
浏览文件 @
c15a0433
...
...
@@ -347,32 +347,14 @@ static struct mmci_platform_data mmc_data = {
.
gpio_cd
=
-
1
,
};
static
struct
amba_device
mmc_device
=
{
.
dev
=
{
.
init_name
=
"mb:1c"
,
.
platform_data
=
&
mmc_data
,
},
.
res
=
{
.
start
=
INTEGRATOR_CP_MMC_BASE
,
.
end
=
INTEGRATOR_CP_MMC_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_CP_MMCIINT0
,
IRQ_CP_MMCIINT1
},
.
periphid
=
0
,
};
#define INTEGRATOR_CP_MMC_IRQS { IRQ_CP_MMCIINT0, IRQ_CP_MMCIINT1 }
#define INTEGRATOR_CP_AACI_IRQS { IRQ_CP_AACIINT }
static
struct
amba_device
aaci_device
=
{
.
dev
=
{
.
init_name
=
"mb:1d"
,
},
.
res
=
{
.
start
=
INTEGRATOR_CP_AACI_BASE
,
.
end
=
INTEGRATOR_CP_AACI_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_CP_AACIINT
,
NO_IRQ
},
.
periphid
=
0
,
};
static
AMBA_APB_DEVICE
(
mmc
,
"mb:1c"
,
0
,
INTEGRATOR_CP_MMC_BASE
,
INTEGRATOR_CP_MMC_IRQS
,
&
mmc_data
);
static
AMBA_APB_DEVICE
(
aaci
,
"mb:1d"
,
0
,
INTEGRATOR_CP_AACI_BASE
,
INTEGRATOR_CP_AACI_IRQS
,
NULL
);
/*
...
...
@@ -425,21 +407,8 @@ static struct clcd_board clcd_data = {
.
remove
=
versatile_clcd_remove_dma
,
};
static
struct
amba_device
clcd_device
=
{
.
dev
=
{
.
init_name
=
"mb:c0"
,
.
coherent_dma_mask
=
~
0
,
.
platform_data
=
&
clcd_data
,
},
.
res
=
{
.
start
=
INTCP_PA_CLCD_BASE
,
.
end
=
INTCP_PA_CLCD_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
dma_mask
=
~
0
,
.
irq
=
{
IRQ_CP_CLCDCINT
,
NO_IRQ
},
.
periphid
=
0
,
};
static
AMBA_AHB_DEVICE
(
clcd
,
"mb:c0"
,
0
,
INTCP_PA_CLCD_BASE
,
{
IRQ_CP_CLCDCINT
},
&
clcd_data
);
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
mmc_device
,
...
...
arch/arm/mach-iop13xx/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-iop13xx/include/mach/system.h
*
* Copyright (C) 2004 Intel Corp.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
arch/arm/mach-iop32x/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-iop32x/include/mach/system.h
*
* Copyright (C) 2001 MontaVista Software, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
arch/arm/mach-iop33x/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-iop33x/include/mach/system.h
*
* Copyright (C) 2001 MontaVista Software, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
arch/arm/mach-ixp2000/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-ixp2000/include/mach/system.h
*
* Copyright (C) 2002 Intel Corp.
* Copyricht (C) 2003-2005 MontaVista Software, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
arch/arm/mach-ixp23xx/core.c
浏览文件 @
c15a0433
...
...
@@ -441,6 +441,9 @@ static struct platform_device *ixp23xx_devices[] __initdata = {
void
__init
ixp23xx_sys_init
(
void
)
{
/* by default, the idle code is disabled */
disable_hlt
();
*
IXP23XX_EXP_UNIT_FUSE
|=
0xf
;
platform_add_devices
(
ixp23xx_devices
,
ARRAY_SIZE
(
ixp23xx_devices
));
}
...
...
arch/arm/mach-ixp23xx/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-ixp23xx/include/mach/system.h
*
* Copyright (C) 2003 Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
static
inline
void
arch_idle
(
void
)
{
#if 0
if (!hlt_counter)
cpu_do_idle();
#endif
}
arch/arm/mach-ixp4xx/common.c
浏览文件 @
c15a0433
...
...
@@ -236,6 +236,12 @@ void __init ixp4xx_init_irq(void)
{
int
i
=
0
;
/*
* ixp4xx does not implement the XScale PWRMODE register
* so it must not call cpu_do_idle().
*/
disable_hlt
();
/* Route all sources to IRQ instead of FIQ */
*
IXP4XX_ICLR
=
0x0
;
...
...
arch/arm/mach-ixp4xx/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-ixp4xx/include/mach/system.h
*
* Copyright (C) 2002 Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
*/
static
inline
void
arch_idle
(
void
)
{
/* ixp4xx does not implement the XScale PWRMODE register,
* so it must not call cpu_do_idle() here.
*/
#if 0
cpu_do_idle();
#endif
}
arch/arm/mach-kirkwood/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-kirkwood/include/mach/system.h
*
* 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.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/mach-ks8695/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-s3c2410/include/mach/system.h
*
* Copyright (C) 2006 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
*
* KS8695 - System function defines and includes
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
void
arch_idle
(
void
)
{
/*
* This should do all the clock switching
* and wait for interrupt tricks,
*/
cpu_do_idle
();
}
#endif
arch/arm/mach-lpc32xx/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-lpc32xx/include/mach/system.h
*
* Author: Kevin Wells <kevin.wells@nxp.com>
*
* Copyright (C) 2010 NXP Semiconductors
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/mach-lpc32xx/phy3250.c
浏览文件 @
c15a0433
...
...
@@ -149,20 +149,8 @@ static struct clcd_board lpc32xx_clcd_data = {
.
remove
=
lpc32xx_clcd_remove
,
};
static
struct
amba_device
lpc32xx_clcd_device
=
{
.
dev
=
{
.
coherent_dma_mask
=
~
0
,
.
init_name
=
"dev:clcd"
,
.
platform_data
=
&
lpc32xx_clcd_data
,
},
.
res
=
{
.
start
=
LPC32XX_LCD_BASE
,
.
end
=
(
LPC32XX_LCD_BASE
+
SZ_4K
-
1
),
.
flags
=
IORESOURCE_MEM
,
},
.
dma_mask
=
~
0
,
.
irq
=
{
IRQ_LPC32XX_LCD
,
NO_IRQ
},
};
static
AMBA_AHB_DEVICE
(
lpc32xx_clcd
,
"dev:clcd"
,
0
,
LPC32XX_LCD_BASE
,
{
IRQ_LPC32XX_LCD
},
&
lpc32xx_clcd_data
);
/*
* AMBA SSP (SPI)
...
...
@@ -191,20 +179,8 @@ static struct pl022_ssp_controller lpc32xx_ssp0_data = {
.
enable_dma
=
0
,
};
static
struct
amba_device
lpc32xx_ssp0_device
=
{
.
dev
=
{
.
coherent_dma_mask
=
~
0
,
.
init_name
=
"dev:ssp0"
,
.
platform_data
=
&
lpc32xx_ssp0_data
,
},
.
res
=
{
.
start
=
LPC32XX_SSP0_BASE
,
.
end
=
(
LPC32XX_SSP0_BASE
+
SZ_4K
-
1
),
.
flags
=
IORESOURCE_MEM
,
},
.
dma_mask
=
~
0
,
.
irq
=
{
IRQ_LPC32XX_SSP0
,
NO_IRQ
},
};
static
AMBA_APB_DEVICE
(
lpc32xx_ssp0
,
"dev:ssp0"
,
0
,
LPC32XX_SSP0_BASE
,
{
IRQ_LPC32XX_SSP0
},
&
lpc32xx_ssp0_data
);
/* AT25 driver registration */
static
int
__init
phy3250_spi_board_register
(
void
)
...
...
arch/arm/mach-mmp/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* linux/arch/arm/mach-mmp/include/mach/system.h
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __ASM_MACH_SYSTEM_H
#define __ASM_MACH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
/* __ASM_MACH_SYSTEM_H */
arch/arm/mach-msm/idle.
S
→
arch/arm/mach-msm/idle.
c
浏览文件 @
c15a0433
/*
arch
/
arm
/
mach
-
msm
/
i
nclude
/
mach
/
idle.S
/* arch/arm/mach-msm/i
dle.c
*
* Idle processing for MSM7K - work around bugs with SWFI.
*
* Copyright (c) 2007 QUALCOMM Incorporated.
*
Copyright
(
C
)
2007
Google
,
Inc
.
* Copyright (C) 2007 Google, Inc.
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
...
...
@@ -14,23 +14,36 @@
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#include <linux/linkage.h>
#include <asm/assembler.h>
*/
ENTRY
(
arch_idle
)
#include <linux/init.h>
#include <asm/system.h>
static
void
msm_idle
(
void
)
{
#ifdef CONFIG_MSM7X00A_IDLE
mrc
p15
,
0
,
r1
,
c1
,
c0
,
0
/*
read
current
CR
*/
bic
r0
,
r1
,
#(
1
<<
2
)
/*
clear
dcache
bit
*/
bic
r0
,
r0
,
#(
1
<<
12
)
/*
clear
icache
bit
*/
mcr
p15
,
0
,
r0
,
c1
,
c0
,
0
/*
disable
d
/
i
cache
*/
asm
volatile
(
"mrc p15, 0, r1, c1, c0, 0 /* read current CR */
\n\t
"
"bic r0, r1, #(1 << 2) /* clear dcache bit */
\n\t
"
"bic r0, r0, #(1 << 12) /* clear icache bit */
\n\t
"
"mcr p15, 0, r0, c1, c0, 0 /* disable d/i cache */
\n\t
"
"mov r0, #0 /* prepare wfi value */
\n\t
"
"mcr p15, 0, r0, c7, c10, 0 /* flush the cache */
\n\t
"
"mcr p15, 0, r0, c7, c10, 4 /* memory barrier */
\n\t
"
"mcr p15, 0, r0, c7, c0, 4 /* wait for interrupt */
\n\t
"
mov
r0
,
#
0
/*
prepare
wfi
value
*/
mcr
p15
,
0
,
r0
,
c7
,
c10
,
0
/*
flush
the
cache
*/
mcr
p15
,
0
,
r0
,
c7
,
c10
,
4
/*
memory
barrier
*/
mcr
p15
,
0
,
r0
,
c7
,
c0
,
4
/*
wait
for
interrupt
*/
"mcr p15, 0, r1, c1, c0, 0 /* restore d/i cache */
\n\t
"
mcr
p15
,
0
,
r1
,
c1
,
c0
,
0
/*
restore
d
/
i
cache
*/
:
:
:
"r0"
,
"r1"
);
#endif
mov
pc
,
lr
}
static
int
__init
msm_idle_init
(
void
)
{
arm_pm_idle
=
msm_idle
;
return
0
;
}
arch_initcall
(
msm_idle_init
);
arch/arm/mach-msm/include/mach/system.h
浏览文件 @
c15a0433
...
...
@@ -12,7 +12,6 @@
* GNU General Public License for more details.
*
*/
void
arch_idle
(
void
);
/* low level hardware reset hook -- for example, hitting the
* PSHOLD line on the PMIC to hard reset the system
...
...
arch/arm/mach-mv78xx0/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-mv78xx0/include/mach/system.h
*
* 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.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/mach-mxs/devices.c
浏览文件 @
c15a0433
...
...
@@ -77,16 +77,18 @@ struct platform_device *__init mxs_add_platform_device_dmamask(
int
__init
mxs_add_amba_device
(
const
struct
amba_device
*
dev
)
{
struct
amba_device
*
adev
=
kmalloc
(
sizeof
(
*
adev
),
GFP_KERNEL
);
struct
amba_device
*
adev
=
amba_device_alloc
(
dev
->
dev
.
init_name
,
dev
->
res
.
start
,
resource_size
(
&
dev
->
res
));
if
(
!
adev
)
{
pr_err
(
"%s: failed to allocate memory"
,
__func__
);
return
-
ENOMEM
;
}
*
adev
=
*
dev
;
adev
->
irq
[
0
]
=
dev
->
irq
[
0
];
adev
->
irq
[
1
]
=
dev
->
irq
[
1
];
return
amba_device_
register
(
adev
,
&
iomem_resource
);
return
amba_device_
add
(
adev
,
&
iomem_resource
);
}
struct
device
mxs_apbh_bus
=
{
...
...
arch/arm/mach-mxs/devices/amba-duart.c
浏览文件 @
c15a0433
...
...
@@ -23,7 +23,7 @@ const struct amba_device name##_device __initconst = { \
.end = (soc ## _DUART_BASE_ADDR) + SZ_8K - 1, \
.flags = IORESOURCE_MEM, \
}, \
.irq = {soc ## _INT_DUART
, NO_IRQ},
\
.irq = {soc ## _INT_DUART
},
\
}
#ifdef CONFIG_SOC_IMX23
...
...
arch/arm/mach-mxs/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* Copyright (C) 1999 ARM Limited
* Copyright (C) 2000 Deep Blue Solutions Ltd
* Copyright 2004-2008 Freescale Semiconductor, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __MACH_MXS_SYSTEM_H__
#define __MACH_MXS_SYSTEM_H__
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
/* __MACH_MXS_SYSTEM_H__ */
arch/arm/mach-mxs/pm.c
浏览文件 @
c15a0433
...
...
@@ -15,13 +15,12 @@
#include <linux/kernel.h>
#include <linux/suspend.h>
#include <linux/io.h>
#include <mach/system.h>
static
int
mxs_suspend_enter
(
suspend_state_t
state
)
{
switch
(
state
)
{
case
PM_SUSPEND_MEM
:
arch
_idle
();
cpu_do
_idle
();
break
;
default:
...
...
arch/arm/mach-netx/fb.c
浏览文件 @
c15a0433
...
...
@@ -92,18 +92,7 @@ void clk_put(struct clk *clk)
{
}
static
struct
amba_device
fb_device
=
{
.
dev
=
{
.
init_name
=
"fb"
,
.
coherent_dma_mask
=
~
0
,
},
.
res
=
{
.
start
=
0x00104000
,
.
end
=
0x00104fff
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
NETX_IRQ_LCD
,
NO_IRQ
},
};
static
AMBA_AHB_DEVICE
(
fb
,
"fb"
,
0
,
0x00104000
,
{
NETX_IRQ_LCD
},
NULL
);
int
netx_fb_init
(
struct
clcd_board
*
board
,
struct
clcd_panel
*
panel
)
{
...
...
arch/arm/mach-netx/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-netx/include/mach/system.h
*
* Copyright (C) 2005 Sascha Hauer <s.hauer@pengutronix.de>, Pengutronix
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/mach-nomadik/board-nhk8815.c
浏览文件 @
c15a0433
...
...
@@ -185,20 +185,11 @@ static void __init nhk8815_onenand_init(void)
#endif
}
#define __MEM_4K_RESOURCE(x) \
.res = {.start = (x), .end = (x) + SZ_4K - 1, .flags = IORESOURCE_MEM}
static
AMBA_APB_DEVICE
(
uart0
,
"uart0"
,
0
,
NOMADIK_UART0_BASE
,
{
IRQ_UART0
},
NULL
);
static
struct
amba_device
uart0_device
=
{
.
dev
=
{
.
init_name
=
"uart0"
},
__MEM_4K_RESOURCE
(
NOMADIK_UART0_BASE
),
.
irq
=
{
IRQ_UART0
,
NO_IRQ
},
};
static
struct
amba_device
uart1_device
=
{
.
dev
=
{
.
init_name
=
"uart1"
},
__MEM_4K_RESOURCE
(
NOMADIK_UART1_BASE
),
.
irq
=
{
IRQ_UART1
,
NO_IRQ
},
};
static
AMBA_APB_DEVICE
(
uart1
,
"uart1"
,
0
,
NOMADIK_UART1_BASE
,
{
IRQ_UART1
},
NULL
);
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
uart0_device
,
...
...
arch/arm/mach-nomadik/cpu-8815.c
浏览文件 @
c15a0433
...
...
@@ -97,12 +97,7 @@ static struct platform_device cpu8815_platform_gpio[] = {
GPIO_DEVICE
(
3
),
};
static
struct
amba_device
cpu8815_amba_rng
=
{
.
dev
=
{
.
init_name
=
"rng"
,
},
__MEM_4K_RESOURCE
(
NOMADIK_RNG_BASE
),
};
static
AMBA_APB_DEVICE
(
cpu8815_amba_rng
,
"rng"
,
0
,
NOMADIK_RNG_BASE
,
{
},
NULL
);
static
struct
platform_device
*
platform_devs
[]
__initdata
=
{
cpu8815_platform_gpio
+
0
,
...
...
@@ -112,7 +107,7 @@ static struct platform_device *platform_devs[] __initdata = {
};
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
cpu8815_amba_rng
&
cpu8815_amba_rng
_device
};
static
int
__init
cpu8815_init
(
void
)
...
...
arch/arm/mach-nomadik/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* mach-nomadik/include/mach/system.h
*
* Copyright (C) 2008 STMicroelectronics
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
/*
* This should do all the clock switching
* and wait for interrupt tricks
*/
cpu_do_idle
();
}
#endif
arch/arm/mach-omap1/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-omap1/include/mach/system.h
*/
#include <plat/system.h>
arch/arm/mach-omap1/pm.c
浏览文件 @
c15a0433
...
...
@@ -42,9 +42,9 @@
#include <linux/sysfs.h>
#include <linux/module.h>
#include <linux/io.h>
#include <linux/atomic.h>
#include <asm/irq.h>
#include <linux/atomic.h>
#include <asm/mach/time.h>
#include <asm/mach/irq.h>
...
...
@@ -108,13 +108,7 @@ void omap1_pm_idle(void)
__u32
use_idlect1
=
arm_idlect1_mask
;
int
do_sleep
=
0
;
local_irq_disable
();
local_fiq_disable
();
if
(
need_resched
())
{
local_fiq_enable
();
local_irq_enable
();
return
;
}
#if defined(CONFIG_OMAP_MPU_TIMER) && !defined(CONFIG_OMAP_DM_TIMER)
#warning Enable 32kHz OS timer in order to allow sleep states in idle
...
...
@@ -157,14 +151,12 @@ void omap1_pm_idle(void)
omap_writel
(
saved_idlect1
,
ARM_IDLECT1
);
local_fiq_enable
();
local_irq_enable
();
return
;
}
omap_sram_suspend
(
omap_readl
(
ARM_IDLECT1
),
omap_readl
(
ARM_IDLECT2
));
local_fiq_enable
();
local_irq_enable
();
}
/*
...
...
@@ -583,8 +575,6 @@ static void omap_pm_init_proc(void)
#endif
/* DEBUG && CONFIG_PROC_FS */
static
void
(
*
saved_idle
)(
void
)
=
NULL
;
/*
* omap_pm_prepare - Do preliminary suspend work.
*
...
...
@@ -592,8 +582,7 @@ static void (*saved_idle)(void) = NULL;
static
int
omap_pm_prepare
(
void
)
{
/* We cannot sleep in idle until we have resumed */
saved_idle
=
pm_idle
;
pm_idle
=
NULL
;
disable_hlt
();
return
0
;
}
...
...
@@ -630,7 +619,7 @@ static int omap_pm_enter(suspend_state_t state)
static
void
omap_pm_finish
(
void
)
{
pm_idle
=
saved_idle
;
enable_hlt
()
;
}
...
...
@@ -687,7 +676,7 @@ static int __init omap_pm_init(void)
return
-
ENODEV
;
}
pm_idle
=
omap1_pm_idle
;
arm_
pm_idle
=
omap1_pm_idle
;
if
(
cpu_is_omap7xx
())
setup_irq
(
INT_7XX_WAKE_UP_REQ
,
&
omap_wakeup_irq
);
...
...
arch/arm/mach-omap2/emu.c
浏览文件 @
c15a0433
...
...
@@ -30,29 +30,8 @@ MODULE_AUTHOR("Alexander Shishkin");
#define ETB_BASE (L4_EMU_34XX_PHYS + 0x1b000)
#define DAPCTL (L4_EMU_34XX_PHYS + 0x1d000)
static
struct
amba_device
omap3_etb_device
=
{
.
dev
=
{
.
init_name
=
"etb"
,
},
.
res
=
{
.
start
=
ETB_BASE
,
.
end
=
ETB_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
periphid
=
0x000bb907
,
};
static
struct
amba_device
omap3_etm_device
=
{
.
dev
=
{
.
init_name
=
"etm"
,
},
.
res
=
{
.
start
=
ETM_BASE
,
.
end
=
ETM_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
periphid
=
0x102bb921
,
};
static
AMBA_APB_DEVICE
(
omap3_etb
,
"etb"
,
0x000bb907
,
ETB_BASE
,
{
},
NULL
);
static
AMBA_APB_DEVICE
(
omap3_etm
,
"etm"
,
0x102bb921
,
ETM_BASE
,
{
},
NULL
);
static
int
__init
emu_init
(
void
)
{
...
...
@@ -66,4 +45,3 @@ static int __init emu_init(void)
}
subsys_initcall
(
emu_init
);
arch/arm/mach-omap2/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-omap2/include/mach/system.h
*/
#include <plat/system.h>
arch/arm/mach-omap2/pm24xx.c
浏览文件 @
c15a0433
...
...
@@ -226,7 +226,6 @@ static int omap2_can_sleep(void)
static
void
omap2_pm_idle
(
void
)
{
local_irq_disable
();
local_fiq_disable
();
if
(
!
omap2_can_sleep
())
{
...
...
@@ -243,7 +242,6 @@ static void omap2_pm_idle(void)
out:
local_fiq_enable
();
local_irq_enable
();
}
#ifdef CONFIG_SUSPEND
...
...
@@ -462,7 +460,7 @@ static int __init omap2_pm_init(void)
}
suspend_set_ops
(
&
omap_pm_ops
);
pm_idle
=
omap2_pm_idle
;
arm_
pm_idle
=
omap2_pm_idle
;
return
0
;
}
...
...
arch/arm/mach-omap2/pm34xx.c
浏览文件 @
c15a0433
...
...
@@ -418,10 +418,9 @@ void omap_sram_idle(void)
static
void
omap3_pm_idle
(
void
)
{
local_irq_disable
();
local_fiq_disable
();
if
(
omap_irq_pending
()
||
need_resched
()
)
if
(
omap_irq_pending
())
goto
out
;
trace_power_start
(
POWER_CSTATE
,
1
,
smp_processor_id
());
...
...
@@ -434,7 +433,6 @@ static void omap3_pm_idle(void)
out:
local_fiq_enable
();
local_irq_enable
();
}
#ifdef CONFIG_SUSPEND
...
...
@@ -848,7 +846,7 @@ static int __init omap3_pm_init(void)
suspend_set_ops
(
&
omap_pm_ops
);
#endif
/* CONFIG_SUSPEND */
pm_idle
=
omap3_pm_idle
;
arm_
pm_idle
=
omap3_pm_idle
;
omap3_idle_init
();
/*
...
...
arch/arm/mach-omap2/pm44xx.c
浏览文件 @
c15a0433
...
...
@@ -173,18 +173,16 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
* omap_default_idle - OMAP4 default ilde routine.'
*
* Implements OMAP4 memory, IO ordering requirements which can't be addressed
* with default
arch
_idle() hook. Used by all CPUs with !CONFIG_CPUIDLE and
* with default
cpu_do
_idle() hook. Used by all CPUs with !CONFIG_CPUIDLE and
* by secondary CPU with CONFIG_CPUIDLE.
*/
static
void
omap_default_idle
(
void
)
{
local_irq_disable
();
local_fiq_disable
();
omap_do_wfi
();
local_fiq_enable
();
local_irq_enable
();
}
/**
...
...
@@ -255,8 +253,8 @@ static int __init omap4_pm_init(void)
suspend_set_ops
(
&
omap_pm_ops
);
#endif
/* CONFIG_SUSPEND */
/* Overwrite the default
arch
_idle() */
pm_idle
=
omap_default_idle
;
/* Overwrite the default
cpu_do
_idle() */
arm_
pm_idle
=
omap_default_idle
;
omap4_idle_init
();
...
...
arch/arm/mach-omap2/prm_common.c
浏览文件 @
c15a0433
...
...
@@ -24,7 +24,6 @@
#include <linux/interrupt.h>
#include <linux/slab.h>
#include <mach/system.h>
#include <plat/common.h>
#include <plat/prcm.h>
#include <plat/irqs.h>
...
...
arch/arm/mach-orion5x/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-orion5x/include/mach/system.h
*
* Tzachi Perelstein <tzachi@marvell.com>
*
* 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.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/mach-picoxcell/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* Copyright (c) 2011 Picochip Ltd., Jamie Iles
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
/*
* This should do all the clock switching and wait for interrupt
* tricks.
*/
cpu_do_idle
();
}
#endif
/* __ASM_ARCH_SYSTEM_H */
arch/arm/mach-pnx4008/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-pnx4008/include/mach/system.h
*
* Copyright (C) 2003 Philips Semiconductors
* Copyright (C) 2005 MontaVista Software, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/mach-prima2/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-prima2/include/mach/system.h
*
* Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company.
*
* Licensed under GPLv2 or later.
*/
#ifndef __MACH_SYSTEM_H__
#define __MACH_SYSTEM_H__
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/mach-pxa/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-pxa/include/mach/system.h
*
* Author: Nicolas Pitre
* Created: Jun 15, 2001
* Copyright: MontaVista Software Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
arch/arm/mach-realview/core.h
浏览文件 @
c15a0433
...
...
@@ -28,21 +28,11 @@
#include <asm/setup.h>
#include <asm/leds.h>
#define AMBA_DEVICE(name,busid,base,plat) \
static struct amba_device name##_device = { \
.dev = { \
.coherent_dma_mask = ~0, \
.init_name = busid, \
.platform_data = plat, \
}, \
.res = { \
.start = REALVIEW_##base##_BASE, \
.end = (REALVIEW_##base##_BASE) + SZ_4K - 1, \
.flags = IORESOURCE_MEM, \
}, \
.dma_mask = ~0, \
.irq = base##_IRQ, \
}
#define APB_DEVICE(name, busid, base, plat) \
static AMBA_APB_DEVICE(name, busid, 0, REALVIEW_##base##_BASE, base##_IRQ, plat)
#define AHB_DEVICE(name, busid, base, plat) \
static AMBA_AHB_DEVICE(name, busid, 0, REALVIEW_##base##_BASE, base##_IRQ, plat)
struct
machine_desc
;
...
...
arch/arm/mach-realview/include/mach/irqs-pb1176.h
浏览文件 @
c15a0433
...
...
@@ -40,6 +40,7 @@
#define IRQ_DC1176_L2CC (IRQ_DC1176_GIC_START + 13)
#define IRQ_DC1176_RTC (IRQ_DC1176_GIC_START + 14)
#define IRQ_DC1176_CLCD (IRQ_DC1176_GIC_START + 15)
/* CLCD controller */
#define IRQ_DC1176_GPIO0 (IRQ_DC1176_GIC_START + 16)
#define IRQ_DC1176_SSP (IRQ_DC1176_GIC_START + 17)
/* SSP port */
#define IRQ_DC1176_UART0 (IRQ_DC1176_GIC_START + 18)
/* UART 0 on development chip */
#define IRQ_DC1176_UART1 (IRQ_DC1176_GIC_START + 19)
/* UART 1 on development chip */
...
...
@@ -73,7 +74,6 @@
#define IRQ_PB1176_DMAC (IRQ_PB1176_GIC_START + 24)
/* DMA controller */
#define IRQ_PB1176_RTC (IRQ_PB1176_GIC_START + 25)
/* Real Time Clock */
#define IRQ_PB1176_GPIO0 -1
#define IRQ_PB1176_SCTL -1
#define NR_GIC_PB1176 2
...
...
arch/arm/mach-realview/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-realview/include/mach/system.h
*
* Copyright (C) 2003 ARM Limited
* Copyright (C) 2000 Deep Blue Solutions Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
/*
* This should do all the clock switching
* and wait for interrupt tricks
*/
cpu_do_idle
();
}
#endif
arch/arm/mach-realview/realview_eb.c
浏览文件 @
c15a0433
...
...
@@ -135,63 +135,63 @@ static struct pl022_ssp_controller ssp0_plat_data = {
/*
* These devices are connected via the core APB bridge
*/
#define GPIO2_IRQ { IRQ_EB_GPIO2
, NO_IRQ
}
#define GPIO3_IRQ { IRQ_EB_GPIO3
, NO_IRQ
}
#define GPIO2_IRQ { IRQ_EB_GPIO2 }
#define GPIO3_IRQ { IRQ_EB_GPIO3 }
#define AACI_IRQ { IRQ_EB_AACI
, NO_IRQ
}
#define AACI_IRQ { IRQ_EB_AACI }
#define MMCI0_IRQ { IRQ_EB_MMCI0A, IRQ_EB_MMCI0B }
#define KMI0_IRQ { IRQ_EB_KMI0
, NO_IRQ
}
#define KMI1_IRQ { IRQ_EB_KMI1
, NO_IRQ
}
#define KMI0_IRQ { IRQ_EB_KMI0 }
#define KMI1_IRQ { IRQ_EB_KMI1 }
/*
* These devices are connected directly to the multi-layer AHB switch
*/
#define EB_SMC_IRQ {
NO_IRQ, NO_IRQ
}
#define MPMC_IRQ {
NO_IRQ, NO_IRQ
}
#define EB_CLCD_IRQ { IRQ_EB_CLCD
, NO_IRQ
}
#define DMAC_IRQ { IRQ_EB_DMA
, NO_IRQ
}
#define EB_SMC_IRQ { }
#define MPMC_IRQ { }
#define EB_CLCD_IRQ { IRQ_EB_CLCD }
#define DMAC_IRQ { IRQ_EB_DMA }
/*
* These devices are connected via the core APB bridge
*/
#define SCTL_IRQ {
NO_IRQ, NO_IRQ
}
#define EB_WATCHDOG_IRQ { IRQ_EB_WDOG
, NO_IRQ
}
#define EB_GPIO0_IRQ { IRQ_EB_GPIO0
, NO_IRQ
}
#define GPIO1_IRQ { IRQ_EB_GPIO1
, NO_IRQ
}
#define EB_RTC_IRQ { IRQ_EB_RTC
, NO_IRQ
}
#define SCTL_IRQ { }
#define EB_WATCHDOG_IRQ { IRQ_EB_WDOG }
#define EB_GPIO0_IRQ { IRQ_EB_GPIO0 }
#define GPIO1_IRQ { IRQ_EB_GPIO1 }
#define EB_RTC_IRQ { IRQ_EB_RTC }
/*
* These devices are connected via the DMA APB bridge
*/
#define SCI_IRQ { IRQ_EB_SCI
, NO_IRQ
}
#define EB_UART0_IRQ { IRQ_EB_UART0
, NO_IRQ
}
#define EB_UART1_IRQ { IRQ_EB_UART1
, NO_IRQ
}
#define EB_UART2_IRQ { IRQ_EB_UART2
, NO_IRQ
}
#define EB_UART3_IRQ { IRQ_EB_UART3
, NO_IRQ
}
#define EB_SSP_IRQ { IRQ_EB_SSP
, NO_IRQ
}
#define SCI_IRQ { IRQ_EB_SCI }
#define EB_UART0_IRQ { IRQ_EB_UART0 }
#define EB_UART1_IRQ { IRQ_EB_UART1 }
#define EB_UART2_IRQ { IRQ_EB_UART2 }
#define EB_UART3_IRQ { IRQ_EB_UART3 }
#define EB_SSP_IRQ { IRQ_EB_SSP }
/* FPGA Primecells */
A
MBA
_DEVICE
(
aaci
,
"fpga:aaci"
,
AACI
,
NULL
);
A
MBA
_DEVICE
(
mmc0
,
"fpga:mmc0"
,
MMCI0
,
&
realview_mmc0_plat_data
);
A
MBA
_DEVICE
(
kmi0
,
"fpga:kmi0"
,
KMI0
,
NULL
);
A
MBA
_DEVICE
(
kmi1
,
"fpga:kmi1"
,
KMI1
,
NULL
);
A
MBA
_DEVICE
(
uart3
,
"fpga:uart3"
,
EB_UART3
,
NULL
);
A
PB
_DEVICE
(
aaci
,
"fpga:aaci"
,
AACI
,
NULL
);
A
PB
_DEVICE
(
mmc0
,
"fpga:mmc0"
,
MMCI0
,
&
realview_mmc0_plat_data
);
A
PB
_DEVICE
(
kmi0
,
"fpga:kmi0"
,
KMI0
,
NULL
);
A
PB
_DEVICE
(
kmi1
,
"fpga:kmi1"
,
KMI1
,
NULL
);
A
PB
_DEVICE
(
uart3
,
"fpga:uart3"
,
EB_UART3
,
NULL
);
/* DevChip Primecells */
A
MBA
_DEVICE
(
smc
,
"dev:smc"
,
EB_SMC
,
NULL
);
A
MBA
_DEVICE
(
clcd
,
"dev:clcd"
,
EB_CLCD
,
&
clcd_plat_data
);
A
MBA
_DEVICE
(
dmac
,
"dev:dmac"
,
DMAC
,
NULL
);
A
MBA
_DEVICE
(
sctl
,
"dev:sctl"
,
SCTL
,
NULL
);
A
MBA
_DEVICE
(
wdog
,
"dev:wdog"
,
EB_WATCHDOG
,
NULL
);
A
MBA
_DEVICE
(
gpio0
,
"dev:gpio0"
,
EB_GPIO0
,
&
gpio0_plat_data
);
A
MBA
_DEVICE
(
gpio1
,
"dev:gpio1"
,
GPIO1
,
&
gpio1_plat_data
);
A
MBA
_DEVICE
(
gpio2
,
"dev:gpio2"
,
GPIO2
,
&
gpio2_plat_data
);
A
MBA
_DEVICE
(
rtc
,
"dev:rtc"
,
EB_RTC
,
NULL
);
A
MBA
_DEVICE
(
sci0
,
"dev:sci0"
,
SCI
,
NULL
);
A
MBA
_DEVICE
(
uart0
,
"dev:uart0"
,
EB_UART0
,
NULL
);
A
MBA
_DEVICE
(
uart1
,
"dev:uart1"
,
EB_UART1
,
NULL
);
A
MBA
_DEVICE
(
uart2
,
"dev:uart2"
,
EB_UART2
,
NULL
);
A
MBA
_DEVICE
(
ssp0
,
"dev:ssp0"
,
EB_SSP
,
&
ssp0_plat_data
);
A
HB
_DEVICE
(
smc
,
"dev:smc"
,
EB_SMC
,
NULL
);
A
HB
_DEVICE
(
clcd
,
"dev:clcd"
,
EB_CLCD
,
&
clcd_plat_data
);
A
HB
_DEVICE
(
dmac
,
"dev:dmac"
,
DMAC
,
NULL
);
A
HB
_DEVICE
(
sctl
,
"dev:sctl"
,
SCTL
,
NULL
);
A
PB
_DEVICE
(
wdog
,
"dev:wdog"
,
EB_WATCHDOG
,
NULL
);
A
PB
_DEVICE
(
gpio0
,
"dev:gpio0"
,
EB_GPIO0
,
&
gpio0_plat_data
);
A
PB
_DEVICE
(
gpio1
,
"dev:gpio1"
,
GPIO1
,
&
gpio1_plat_data
);
A
PB
_DEVICE
(
gpio2
,
"dev:gpio2"
,
GPIO2
,
&
gpio2_plat_data
);
A
PB
_DEVICE
(
rtc
,
"dev:rtc"
,
EB_RTC
,
NULL
);
A
PB
_DEVICE
(
sci0
,
"dev:sci0"
,
SCI
,
NULL
);
A
PB
_DEVICE
(
uart0
,
"dev:uart0"
,
EB_UART0
,
NULL
);
A
PB
_DEVICE
(
uart1
,
"dev:uart1"
,
EB_UART1
,
NULL
);
A
PB
_DEVICE
(
uart2
,
"dev:uart2"
,
EB_UART2
,
NULL
);
A
PB
_DEVICE
(
ssp0
,
"dev:ssp0"
,
EB_SSP
,
&
ssp0_plat_data
);
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
dmac_device
,
...
...
arch/arm/mach-realview/realview_pb1176.c
浏览文件 @
c15a0433
...
...
@@ -132,50 +132,50 @@ static struct pl022_ssp_controller ssp0_plat_data = {
/*
* RealView PB1176 AMBA devices
*/
#define GPIO2_IRQ { IRQ_PB1176_GPIO2
, NO_IRQ
}
#define GPIO3_IRQ { IRQ_PB1176_GPIO3
, NO_IRQ
}
#define AACI_IRQ { IRQ_PB1176_AACI
, NO_IRQ
}
#define GPIO2_IRQ { IRQ_PB1176_GPIO2 }
#define GPIO3_IRQ { IRQ_PB1176_GPIO3 }
#define AACI_IRQ { IRQ_PB1176_AACI }
#define MMCI0_IRQ { IRQ_PB1176_MMCI0A, IRQ_PB1176_MMCI0B }
#define KMI0_IRQ { IRQ_PB1176_KMI0
, NO_IRQ
}
#define KMI1_IRQ { IRQ_PB1176_KMI1
, NO_IRQ
}
#define PB1176_SMC_IRQ {
NO_IRQ, NO_IRQ
}
#define MPMC_IRQ {
NO_IRQ, NO_IRQ
}
#define PB1176_CLCD_IRQ { IRQ_DC1176_CLCD
, NO_IRQ
}
#define SCTL_IRQ {
NO_IRQ, NO_IRQ
}
#define PB1176_WATCHDOG_IRQ { IRQ_DC1176_WATCHDOG
, NO_IRQ
}
#define PB1176_GPIO0_IRQ { IRQ_
PB1176_GPIO0, NO_IRQ
}
#define GPIO1_IRQ { IRQ_PB1176_GPIO1
, NO_IRQ
}
#define PB1176_RTC_IRQ { IRQ_DC1176_RTC
, NO_IRQ
}
#define SCI_IRQ { IRQ_PB1176_SCI
, NO_IRQ
}
#define PB1176_UART0_IRQ { IRQ_DC1176_UART0
, NO_IRQ
}
#define PB1176_UART1_IRQ { IRQ_DC1176_UART1
, NO_IRQ
}
#define PB1176_UART2_IRQ { IRQ_DC1176_UART2
, NO_IRQ
}
#define PB1176_UART3_IRQ { IRQ_DC1176_UART3
, NO_IRQ
}
#define PB1176_UART4_IRQ { IRQ_PB1176_UART4
, NO_IRQ
}
#define PB1176_SSP_IRQ { IRQ_DC1176_SSP
, NO_IRQ
}
#define KMI0_IRQ { IRQ_PB1176_KMI0 }
#define KMI1_IRQ { IRQ_PB1176_KMI1 }
#define PB1176_SMC_IRQ { }
#define MPMC_IRQ { }
#define PB1176_CLCD_IRQ { IRQ_DC1176_CLCD }
#define SCTL_IRQ { }
#define PB1176_WATCHDOG_IRQ { IRQ_DC1176_WATCHDOG }
#define PB1176_GPIO0_IRQ { IRQ_
DC1176_GPIO0
}
#define GPIO1_IRQ { IRQ_PB1176_GPIO1 }
#define PB1176_RTC_IRQ { IRQ_DC1176_RTC }
#define SCI_IRQ { IRQ_PB1176_SCI }
#define PB1176_UART0_IRQ { IRQ_DC1176_UART0 }
#define PB1176_UART1_IRQ { IRQ_DC1176_UART1 }
#define PB1176_UART2_IRQ { IRQ_DC1176_UART2 }
#define PB1176_UART3_IRQ { IRQ_DC1176_UART3 }
#define PB1176_UART4_IRQ { IRQ_PB1176_UART4 }
#define PB1176_SSP_IRQ { IRQ_DC1176_SSP }
/* FPGA Primecells */
A
MBA
_DEVICE
(
aaci
,
"fpga:aaci"
,
AACI
,
NULL
);
A
MBA
_DEVICE
(
mmc0
,
"fpga:mmc0"
,
MMCI0
,
&
realview_mmc0_plat_data
);
A
MBA
_DEVICE
(
kmi0
,
"fpga:kmi0"
,
KMI0
,
NULL
);
A
MBA
_DEVICE
(
kmi1
,
"fpga:kmi1"
,
KMI1
,
NULL
);
A
MBA
_DEVICE
(
uart4
,
"fpga:uart4"
,
PB1176_UART4
,
NULL
);
A
PB
_DEVICE
(
aaci
,
"fpga:aaci"
,
AACI
,
NULL
);
A
PB
_DEVICE
(
mmc0
,
"fpga:mmc0"
,
MMCI0
,
&
realview_mmc0_plat_data
);
A
PB
_DEVICE
(
kmi0
,
"fpga:kmi0"
,
KMI0
,
NULL
);
A
PB
_DEVICE
(
kmi1
,
"fpga:kmi1"
,
KMI1
,
NULL
);
A
PB
_DEVICE
(
uart4
,
"fpga:uart4"
,
PB1176_UART4
,
NULL
);
/* DevChip Primecells */
A
MBA_DEVICE
(
smc
,
"dev:smc"
,
PB1176_SMC
,
NULL
);
A
MBA
_DEVICE
(
sctl
,
"dev:sctl"
,
SCTL
,
NULL
);
A
MBA
_DEVICE
(
wdog
,
"dev:wdog"
,
PB1176_WATCHDOG
,
NULL
);
A
MBA
_DEVICE
(
gpio0
,
"dev:gpio0"
,
PB1176_GPIO0
,
&
gpio0_plat_data
);
A
MBA
_DEVICE
(
gpio1
,
"dev:gpio1"
,
GPIO1
,
&
gpio1_plat_data
);
A
MBA
_DEVICE
(
gpio2
,
"dev:gpio2"
,
GPIO2
,
&
gpio2_plat_data
);
A
MBA_DEVICE
(
rtc
,
"dev:rtc"
,
PB1176_RTC
,
NULL
);
A
MBA
_DEVICE
(
sci0
,
"dev:sci0"
,
SCI
,
NULL
);
A
MBA
_DEVICE
(
uart0
,
"dev:uart0"
,
PB1176_UART0
,
NULL
);
A
MBA
_DEVICE
(
uart1
,
"dev:uart1"
,
PB1176_UART1
,
NULL
);
A
MBA
_DEVICE
(
uart2
,
"dev:uart2"
,
PB1176_UART2
,
NULL
);
A
MBA
_DEVICE
(
uart3
,
"dev:uart3"
,
PB1176_UART3
,
NULL
);
A
MBA
_DEVICE
(
ssp0
,
"dev:ssp0"
,
PB1176_SSP
,
&
ssp0_plat_data
);
A
MBA
_DEVICE
(
clcd
,
"dev:clcd"
,
PB1176_CLCD
,
&
clcd_plat_data
);
A
HB_DEVICE
(
smc
,
"dev:smc"
,
PB1176_SMC
,
NULL
);
A
HB
_DEVICE
(
sctl
,
"dev:sctl"
,
SCTL
,
NULL
);
A
PB
_DEVICE
(
wdog
,
"dev:wdog"
,
PB1176_WATCHDOG
,
NULL
);
A
PB
_DEVICE
(
gpio0
,
"dev:gpio0"
,
PB1176_GPIO0
,
&
gpio0_plat_data
);
A
PB
_DEVICE
(
gpio1
,
"dev:gpio1"
,
GPIO1
,
&
gpio1_plat_data
);
A
PB
_DEVICE
(
gpio2
,
"dev:gpio2"
,
GPIO2
,
&
gpio2_plat_data
);
A
PB_DEVICE
(
rtc
,
"dev:rtc"
,
PB1176_RTC
,
NULL
);
A
PB
_DEVICE
(
sci0
,
"dev:sci0"
,
SCI
,
NULL
);
A
PB
_DEVICE
(
uart0
,
"dev:uart0"
,
PB1176_UART0
,
NULL
);
A
PB
_DEVICE
(
uart1
,
"dev:uart1"
,
PB1176_UART1
,
NULL
);
A
PB
_DEVICE
(
uart2
,
"dev:uart2"
,
PB1176_UART2
,
NULL
);
A
PB
_DEVICE
(
uart3
,
"dev:uart3"
,
PB1176_UART3
,
NULL
);
A
PB
_DEVICE
(
ssp0
,
"dev:ssp0"
,
PB1176_SSP
,
&
ssp0_plat_data
);
A
HB
_DEVICE
(
clcd
,
"dev:clcd"
,
PB1176_CLCD
,
&
clcd_plat_data
);
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
uart0_device
,
...
...
arch/arm/mach-realview/realview_pb11mp.c
浏览文件 @
c15a0433
...
...
@@ -127,52 +127,52 @@ static struct pl022_ssp_controller ssp0_plat_data = {
* RealView PB11MPCore AMBA devices
*/
#define GPIO2_IRQ { IRQ_PB11MP_GPIO2
, NO_IRQ
}
#define GPIO3_IRQ { IRQ_PB11MP_GPIO3
, NO_IRQ
}
#define AACI_IRQ { IRQ_TC11MP_AACI
, NO_IRQ
}
#define GPIO2_IRQ { IRQ_PB11MP_GPIO2 }
#define GPIO3_IRQ { IRQ_PB11MP_GPIO3 }
#define AACI_IRQ { IRQ_TC11MP_AACI }
#define MMCI0_IRQ { IRQ_TC11MP_MMCI0A, IRQ_TC11MP_MMCI0B }
#define KMI0_IRQ { IRQ_TC11MP_KMI0
, NO_IRQ
}
#define KMI1_IRQ { IRQ_TC11MP_KMI1
, NO_IRQ
}
#define PB11MP_SMC_IRQ {
NO_IRQ, NO_IRQ
}
#define MPMC_IRQ {
NO_IRQ, NO_IRQ
}
#define PB11MP_CLCD_IRQ { IRQ_PB11MP_CLCD
, NO_IRQ
}
#define DMAC_IRQ { IRQ_PB11MP_DMAC
, NO_IRQ
}
#define SCTL_IRQ {
NO_IRQ, NO_IRQ
}
#define PB11MP_WATCHDOG_IRQ { IRQ_PB11MP_WATCHDOG
, NO_IRQ
}
#define PB11MP_GPIO0_IRQ { IRQ_PB11MP_GPIO0
, NO_IRQ
}
#define GPIO1_IRQ { IRQ_PB11MP_GPIO1
, NO_IRQ
}
#define PB11MP_RTC_IRQ { IRQ_TC11MP_RTC
, NO_IRQ
}
#define SCI_IRQ { IRQ_PB11MP_SCI
, NO_IRQ
}
#define PB11MP_UART0_IRQ { IRQ_TC11MP_UART0
, NO_IRQ
}
#define PB11MP_UART1_IRQ { IRQ_TC11MP_UART1
, NO_IRQ
}
#define PB11MP_UART2_IRQ { IRQ_PB11MP_UART2
, NO_IRQ
}
#define PB11MP_UART3_IRQ { IRQ_PB11MP_UART3
, NO_IRQ
}
#define PB11MP_SSP_IRQ { IRQ_PB11MP_SSP
, NO_IRQ
}
#define KMI0_IRQ { IRQ_TC11MP_KMI0 }
#define KMI1_IRQ { IRQ_TC11MP_KMI1 }
#define PB11MP_SMC_IRQ { }
#define MPMC_IRQ { }
#define PB11MP_CLCD_IRQ { IRQ_PB11MP_CLCD }
#define DMAC_IRQ { IRQ_PB11MP_DMAC }
#define SCTL_IRQ { }
#define PB11MP_WATCHDOG_IRQ { IRQ_PB11MP_WATCHDOG }
#define PB11MP_GPIO0_IRQ { IRQ_PB11MP_GPIO0 }
#define GPIO1_IRQ { IRQ_PB11MP_GPIO1 }
#define PB11MP_RTC_IRQ { IRQ_TC11MP_RTC }
#define SCI_IRQ { IRQ_PB11MP_SCI }
#define PB11MP_UART0_IRQ { IRQ_TC11MP_UART0 }
#define PB11MP_UART1_IRQ { IRQ_TC11MP_UART1 }
#define PB11MP_UART2_IRQ { IRQ_PB11MP_UART2 }
#define PB11MP_UART3_IRQ { IRQ_PB11MP_UART3 }
#define PB11MP_SSP_IRQ { IRQ_PB11MP_SSP }
/* FPGA Primecells */
A
MBA
_DEVICE
(
aaci
,
"fpga:aaci"
,
AACI
,
NULL
);
A
MBA
_DEVICE
(
mmc0
,
"fpga:mmc0"
,
MMCI0
,
&
realview_mmc0_plat_data
);
A
MBA
_DEVICE
(
kmi0
,
"fpga:kmi0"
,
KMI0
,
NULL
);
A
MBA
_DEVICE
(
kmi1
,
"fpga:kmi1"
,
KMI1
,
NULL
);
A
MBA
_DEVICE
(
uart3
,
"fpga:uart3"
,
PB11MP_UART3
,
NULL
);
A
PB
_DEVICE
(
aaci
,
"fpga:aaci"
,
AACI
,
NULL
);
A
PB
_DEVICE
(
mmc0
,
"fpga:mmc0"
,
MMCI0
,
&
realview_mmc0_plat_data
);
A
PB
_DEVICE
(
kmi0
,
"fpga:kmi0"
,
KMI0
,
NULL
);
A
PB
_DEVICE
(
kmi1
,
"fpga:kmi1"
,
KMI1
,
NULL
);
A
PB
_DEVICE
(
uart3
,
"fpga:uart3"
,
PB11MP_UART3
,
NULL
);
/* DevChip Primecells */
A
MBA_DEVICE
(
smc
,
"dev:smc"
,
PB11MP_SMC
,
NULL
);
A
MBA
_DEVICE
(
sctl
,
"dev:sctl"
,
SCTL
,
NULL
);
A
MBA
_DEVICE
(
wdog
,
"dev:wdog"
,
PB11MP_WATCHDOG
,
NULL
);
A
MBA
_DEVICE
(
gpio0
,
"dev:gpio0"
,
PB11MP_GPIO0
,
&
gpio0_plat_data
);
A
MBA
_DEVICE
(
gpio1
,
"dev:gpio1"
,
GPIO1
,
&
gpio1_plat_data
);
A
MBA
_DEVICE
(
gpio2
,
"dev:gpio2"
,
GPIO2
,
&
gpio2_plat_data
);
A
MBA_DEVICE
(
rtc
,
"dev:rtc"
,
PB11MP_RTC
,
NULL
);
A
MBA
_DEVICE
(
sci0
,
"dev:sci0"
,
SCI
,
NULL
);
A
MBA
_DEVICE
(
uart0
,
"dev:uart0"
,
PB11MP_UART0
,
NULL
);
A
MBA
_DEVICE
(
uart1
,
"dev:uart1"
,
PB11MP_UART1
,
NULL
);
A
MBA
_DEVICE
(
uart2
,
"dev:uart2"
,
PB11MP_UART2
,
NULL
);
A
MBA
_DEVICE
(
ssp0
,
"dev:ssp0"
,
PB11MP_SSP
,
&
ssp0_plat_data
);
A
HB_DEVICE
(
smc
,
"dev:smc"
,
PB11MP_SMC
,
NULL
);
A
HB
_DEVICE
(
sctl
,
"dev:sctl"
,
SCTL
,
NULL
);
A
PB
_DEVICE
(
wdog
,
"dev:wdog"
,
PB11MP_WATCHDOG
,
NULL
);
A
PB
_DEVICE
(
gpio0
,
"dev:gpio0"
,
PB11MP_GPIO0
,
&
gpio0_plat_data
);
A
PB
_DEVICE
(
gpio1
,
"dev:gpio1"
,
GPIO1
,
&
gpio1_plat_data
);
A
PB
_DEVICE
(
gpio2
,
"dev:gpio2"
,
GPIO2
,
&
gpio2_plat_data
);
A
PB_DEVICE
(
rtc
,
"dev:rtc"
,
PB11MP_RTC
,
NULL
);
A
PB
_DEVICE
(
sci0
,
"dev:sci0"
,
SCI
,
NULL
);
A
PB
_DEVICE
(
uart0
,
"dev:uart0"
,
PB11MP_UART0
,
NULL
);
A
PB
_DEVICE
(
uart1
,
"dev:uart1"
,
PB11MP_UART1
,
NULL
);
A
PB
_DEVICE
(
uart2
,
"dev:uart2"
,
PB11MP_UART2
,
NULL
);
A
PB
_DEVICE
(
ssp0
,
"dev:ssp0"
,
PB11MP_SSP
,
&
ssp0_plat_data
);
/* Primecells on the NEC ISSP chip */
A
MBA
_DEVICE
(
clcd
,
"issp:clcd"
,
PB11MP_CLCD
,
&
clcd_plat_data
);
A
MBA
_DEVICE
(
dmac
,
"issp:dmac"
,
DMAC
,
NULL
);
A
HB
_DEVICE
(
clcd
,
"issp:clcd"
,
PB11MP_CLCD
,
&
clcd_plat_data
);
A
HB
_DEVICE
(
dmac
,
"issp:dmac"
,
DMAC
,
NULL
);
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
dmac_device
,
...
...
arch/arm/mach-realview/realview_pba8.c
浏览文件 @
c15a0433
...
...
@@ -122,52 +122,52 @@ static struct pl022_ssp_controller ssp0_plat_data = {
* RealView PBA8Core AMBA devices
*/
#define GPIO2_IRQ { IRQ_PBA8_GPIO2
, NO_IRQ
}
#define GPIO3_IRQ { IRQ_PBA8_GPIO3
, NO_IRQ
}
#define AACI_IRQ { IRQ_PBA8_AACI
, NO_IRQ
}
#define GPIO2_IRQ { IRQ_PBA8_GPIO2 }
#define GPIO3_IRQ { IRQ_PBA8_GPIO3 }
#define AACI_IRQ { IRQ_PBA8_AACI }
#define MMCI0_IRQ { IRQ_PBA8_MMCI0A, IRQ_PBA8_MMCI0B }
#define KMI0_IRQ { IRQ_PBA8_KMI0
, NO_IRQ
}
#define KMI1_IRQ { IRQ_PBA8_KMI1
, NO_IRQ
}
#define PBA8_SMC_IRQ {
NO_IRQ, NO_IRQ
}
#define MPMC_IRQ {
NO_IRQ, NO_IRQ
}
#define PBA8_CLCD_IRQ { IRQ_PBA8_CLCD
, NO_IRQ
}
#define DMAC_IRQ { IRQ_PBA8_DMAC
, NO_IRQ
}
#define SCTL_IRQ {
NO_IRQ, NO_IRQ
}
#define PBA8_WATCHDOG_IRQ { IRQ_PBA8_WATCHDOG
, NO_IRQ
}
#define PBA8_GPIO0_IRQ { IRQ_PBA8_GPIO0
, NO_IRQ
}
#define GPIO1_IRQ { IRQ_PBA8_GPIO1
, NO_IRQ
}
#define PBA8_RTC_IRQ { IRQ_PBA8_RTC
, NO_IRQ
}
#define SCI_IRQ { IRQ_PBA8_SCI
, NO_IRQ
}
#define PBA8_UART0_IRQ { IRQ_PBA8_UART0
, NO_IRQ
}
#define PBA8_UART1_IRQ { IRQ_PBA8_UART1
, NO_IRQ
}
#define PBA8_UART2_IRQ { IRQ_PBA8_UART2
, NO_IRQ
}
#define PBA8_UART3_IRQ { IRQ_PBA8_UART3
, NO_IRQ
}
#define PBA8_SSP_IRQ { IRQ_PBA8_SSP
, NO_IRQ
}
#define KMI0_IRQ { IRQ_PBA8_KMI0 }
#define KMI1_IRQ { IRQ_PBA8_KMI1 }
#define PBA8_SMC_IRQ { }
#define MPMC_IRQ { }
#define PBA8_CLCD_IRQ { IRQ_PBA8_CLCD }
#define DMAC_IRQ { IRQ_PBA8_DMAC }
#define SCTL_IRQ { }
#define PBA8_WATCHDOG_IRQ { IRQ_PBA8_WATCHDOG }
#define PBA8_GPIO0_IRQ { IRQ_PBA8_GPIO0 }
#define GPIO1_IRQ { IRQ_PBA8_GPIO1 }
#define PBA8_RTC_IRQ { IRQ_PBA8_RTC }
#define SCI_IRQ { IRQ_PBA8_SCI }
#define PBA8_UART0_IRQ { IRQ_PBA8_UART0 }
#define PBA8_UART1_IRQ { IRQ_PBA8_UART1 }
#define PBA8_UART2_IRQ { IRQ_PBA8_UART2 }
#define PBA8_UART3_IRQ { IRQ_PBA8_UART3 }
#define PBA8_SSP_IRQ { IRQ_PBA8_SSP }
/* FPGA Primecells */
A
MBA
_DEVICE
(
aaci
,
"fpga:aaci"
,
AACI
,
NULL
);
A
MBA
_DEVICE
(
mmc0
,
"fpga:mmc0"
,
MMCI0
,
&
realview_mmc0_plat_data
);
A
MBA
_DEVICE
(
kmi0
,
"fpga:kmi0"
,
KMI0
,
NULL
);
A
MBA
_DEVICE
(
kmi1
,
"fpga:kmi1"
,
KMI1
,
NULL
);
A
MBA
_DEVICE
(
uart3
,
"fpga:uart3"
,
PBA8_UART3
,
NULL
);
A
PB
_DEVICE
(
aaci
,
"fpga:aaci"
,
AACI
,
NULL
);
A
PB
_DEVICE
(
mmc0
,
"fpga:mmc0"
,
MMCI0
,
&
realview_mmc0_plat_data
);
A
PB
_DEVICE
(
kmi0
,
"fpga:kmi0"
,
KMI0
,
NULL
);
A
PB
_DEVICE
(
kmi1
,
"fpga:kmi1"
,
KMI1
,
NULL
);
A
PB
_DEVICE
(
uart3
,
"fpga:uart3"
,
PBA8_UART3
,
NULL
);
/* DevChip Primecells */
A
MBA_DEVICE
(
smc
,
"dev:smc"
,
PBA8_SMC
,
NULL
);
A
MBA
_DEVICE
(
sctl
,
"dev:sctl"
,
SCTL
,
NULL
);
A
MBA
_DEVICE
(
wdog
,
"dev:wdog"
,
PBA8_WATCHDOG
,
NULL
);
A
MBA
_DEVICE
(
gpio0
,
"dev:gpio0"
,
PBA8_GPIO0
,
&
gpio0_plat_data
);
A
MBA
_DEVICE
(
gpio1
,
"dev:gpio1"
,
GPIO1
,
&
gpio1_plat_data
);
A
MBA
_DEVICE
(
gpio2
,
"dev:gpio2"
,
GPIO2
,
&
gpio2_plat_data
);
A
MBA_DEVICE
(
rtc
,
"dev:rtc"
,
PBA8_RTC
,
NULL
);
A
MBA
_DEVICE
(
sci0
,
"dev:sci0"
,
SCI
,
NULL
);
A
MBA
_DEVICE
(
uart0
,
"dev:uart0"
,
PBA8_UART0
,
NULL
);
A
MBA
_DEVICE
(
uart1
,
"dev:uart1"
,
PBA8_UART1
,
NULL
);
A
MBA
_DEVICE
(
uart2
,
"dev:uart2"
,
PBA8_UART2
,
NULL
);
A
MBA
_DEVICE
(
ssp0
,
"dev:ssp0"
,
PBA8_SSP
,
&
ssp0_plat_data
);
A
HB_DEVICE
(
smc
,
"dev:smc"
,
PBA8_SMC
,
NULL
);
A
HB
_DEVICE
(
sctl
,
"dev:sctl"
,
SCTL
,
NULL
);
A
PB
_DEVICE
(
wdog
,
"dev:wdog"
,
PBA8_WATCHDOG
,
NULL
);
A
PB
_DEVICE
(
gpio0
,
"dev:gpio0"
,
PBA8_GPIO0
,
&
gpio0_plat_data
);
A
PB
_DEVICE
(
gpio1
,
"dev:gpio1"
,
GPIO1
,
&
gpio1_plat_data
);
A
PB
_DEVICE
(
gpio2
,
"dev:gpio2"
,
GPIO2
,
&
gpio2_plat_data
);
A
PB_DEVICE
(
rtc
,
"dev:rtc"
,
PBA8_RTC
,
NULL
);
A
PB
_DEVICE
(
sci0
,
"dev:sci0"
,
SCI
,
NULL
);
A
PB
_DEVICE
(
uart0
,
"dev:uart0"
,
PBA8_UART0
,
NULL
);
A
PB
_DEVICE
(
uart1
,
"dev:uart1"
,
PBA8_UART1
,
NULL
);
A
PB
_DEVICE
(
uart2
,
"dev:uart2"
,
PBA8_UART2
,
NULL
);
A
PB
_DEVICE
(
ssp0
,
"dev:ssp0"
,
PBA8_SSP
,
&
ssp0_plat_data
);
/* Primecells on the NEC ISSP chip */
A
MBA
_DEVICE
(
clcd
,
"issp:clcd"
,
PBA8_CLCD
,
&
clcd_plat_data
);
A
MBA
_DEVICE
(
dmac
,
"issp:dmac"
,
DMAC
,
NULL
);
A
HB
_DEVICE
(
clcd
,
"issp:clcd"
,
PBA8_CLCD
,
&
clcd_plat_data
);
A
HB
_DEVICE
(
dmac
,
"issp:dmac"
,
DMAC
,
NULL
);
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
dmac_device
,
...
...
arch/arm/mach-realview/realview_pbx.c
浏览文件 @
c15a0433
...
...
@@ -144,52 +144,52 @@ static struct pl022_ssp_controller ssp0_plat_data = {
* RealView PBXCore AMBA devices
*/
#define GPIO2_IRQ { IRQ_PBX_GPIO2
, NO_IRQ
}
#define GPIO3_IRQ { IRQ_PBX_GPIO3
, NO_IRQ
}
#define AACI_IRQ { IRQ_PBX_AACI
, NO_IRQ
}
#define GPIO2_IRQ { IRQ_PBX_GPIO2 }
#define GPIO3_IRQ { IRQ_PBX_GPIO3 }
#define AACI_IRQ { IRQ_PBX_AACI }
#define MMCI0_IRQ { IRQ_PBX_MMCI0A, IRQ_PBX_MMCI0B }
#define KMI0_IRQ { IRQ_PBX_KMI0
, NO_IRQ
}
#define KMI1_IRQ { IRQ_PBX_KMI1
, NO_IRQ
}
#define PBX_SMC_IRQ {
NO_IRQ, NO_IRQ
}
#define MPMC_IRQ {
NO_IRQ, NO_IRQ
}
#define PBX_CLCD_IRQ { IRQ_PBX_CLCD
, NO_IRQ
}
#define DMAC_IRQ { IRQ_PBX_DMAC
, NO_IRQ
}
#define SCTL_IRQ {
NO_IRQ, NO_IRQ
}
#define PBX_WATCHDOG_IRQ { IRQ_PBX_WATCHDOG
, NO_IRQ
}
#define PBX_GPIO0_IRQ { IRQ_PBX_GPIO0
, NO_IRQ
}
#define GPIO1_IRQ { IRQ_PBX_GPIO1
, NO_IRQ
}
#define PBX_RTC_IRQ { IRQ_PBX_RTC
, NO_IRQ
}
#define SCI_IRQ { IRQ_PBX_SCI
, NO_IRQ
}
#define PBX_UART0_IRQ { IRQ_PBX_UART0
, NO_IRQ
}
#define PBX_UART1_IRQ { IRQ_PBX_UART1
, NO_IRQ
}
#define PBX_UART2_IRQ { IRQ_PBX_UART2
, NO_IRQ
}
#define PBX_UART3_IRQ { IRQ_PBX_UART3
, NO_IRQ
}
#define PBX_SSP_IRQ { IRQ_PBX_SSP
, NO_IRQ
}
#define KMI0_IRQ { IRQ_PBX_KMI0 }
#define KMI1_IRQ { IRQ_PBX_KMI1 }
#define PBX_SMC_IRQ { }
#define MPMC_IRQ { }
#define PBX_CLCD_IRQ { IRQ_PBX_CLCD }
#define DMAC_IRQ { IRQ_PBX_DMAC }
#define SCTL_IRQ { }
#define PBX_WATCHDOG_IRQ { IRQ_PBX_WATCHDOG }
#define PBX_GPIO0_IRQ { IRQ_PBX_GPIO0 }
#define GPIO1_IRQ { IRQ_PBX_GPIO1 }
#define PBX_RTC_IRQ { IRQ_PBX_RTC }
#define SCI_IRQ { IRQ_PBX_SCI }
#define PBX_UART0_IRQ { IRQ_PBX_UART0 }
#define PBX_UART1_IRQ { IRQ_PBX_UART1 }
#define PBX_UART2_IRQ { IRQ_PBX_UART2 }
#define PBX_UART3_IRQ { IRQ_PBX_UART3 }
#define PBX_SSP_IRQ { IRQ_PBX_SSP }
/* FPGA Primecells */
A
MBA
_DEVICE
(
aaci
,
"fpga:aaci"
,
AACI
,
NULL
);
A
MBA
_DEVICE
(
mmc0
,
"fpga:mmc0"
,
MMCI0
,
&
realview_mmc0_plat_data
);
A
MBA
_DEVICE
(
kmi0
,
"fpga:kmi0"
,
KMI0
,
NULL
);
A
MBA
_DEVICE
(
kmi1
,
"fpga:kmi1"
,
KMI1
,
NULL
);
A
MBA
_DEVICE
(
uart3
,
"fpga:uart3"
,
PBX_UART3
,
NULL
);
A
PB
_DEVICE
(
aaci
,
"fpga:aaci"
,
AACI
,
NULL
);
A
PB
_DEVICE
(
mmc0
,
"fpga:mmc0"
,
MMCI0
,
&
realview_mmc0_plat_data
);
A
PB
_DEVICE
(
kmi0
,
"fpga:kmi0"
,
KMI0
,
NULL
);
A
PB
_DEVICE
(
kmi1
,
"fpga:kmi1"
,
KMI1
,
NULL
);
A
PB
_DEVICE
(
uart3
,
"fpga:uart3"
,
PBX_UART3
,
NULL
);
/* DevChip Primecells */
A
MBA
_DEVICE
(
smc
,
"dev:smc"
,
PBX_SMC
,
NULL
);
A
MBA
_DEVICE
(
sctl
,
"dev:sctl"
,
SCTL
,
NULL
);
A
MBA
_DEVICE
(
wdog
,
"dev:wdog"
,
PBX_WATCHDOG
,
NULL
);
A
MBA
_DEVICE
(
gpio0
,
"dev:gpio0"
,
PBX_GPIO0
,
&
gpio0_plat_data
);
A
MBA
_DEVICE
(
gpio1
,
"dev:gpio1"
,
GPIO1
,
&
gpio1_plat_data
);
A
MBA
_DEVICE
(
gpio2
,
"dev:gpio2"
,
GPIO2
,
&
gpio2_plat_data
);
A
MBA_DEVICE
(
rtc
,
"dev:rtc"
,
PBX_RTC
,
NULL
);
A
MBA
_DEVICE
(
sci0
,
"dev:sci0"
,
SCI
,
NULL
);
A
MBA
_DEVICE
(
uart0
,
"dev:uart0"
,
PBX_UART0
,
NULL
);
A
MBA
_DEVICE
(
uart1
,
"dev:uart1"
,
PBX_UART1
,
NULL
);
A
MBA
_DEVICE
(
uart2
,
"dev:uart2"
,
PBX_UART2
,
NULL
);
A
MBA
_DEVICE
(
ssp0
,
"dev:ssp0"
,
PBX_SSP
,
&
ssp0_plat_data
);
A
HB
_DEVICE
(
smc
,
"dev:smc"
,
PBX_SMC
,
NULL
);
A
HB
_DEVICE
(
sctl
,
"dev:sctl"
,
SCTL
,
NULL
);
A
PB
_DEVICE
(
wdog
,
"dev:wdog"
,
PBX_WATCHDOG
,
NULL
);
A
PB
_DEVICE
(
gpio0
,
"dev:gpio0"
,
PBX_GPIO0
,
&
gpio0_plat_data
);
A
PB
_DEVICE
(
gpio1
,
"dev:gpio1"
,
GPIO1
,
&
gpio1_plat_data
);
A
PB
_DEVICE
(
gpio2
,
"dev:gpio2"
,
GPIO2
,
&
gpio2_plat_data
);
A
PB_DEVICE
(
rtc
,
"dev:rtc"
,
PBX_RTC
,
NULL
);
A
PB
_DEVICE
(
sci0
,
"dev:sci0"
,
SCI
,
NULL
);
A
PB
_DEVICE
(
uart0
,
"dev:uart0"
,
PBX_UART0
,
NULL
);
A
PB
_DEVICE
(
uart1
,
"dev:uart1"
,
PBX_UART1
,
NULL
);
A
PB
_DEVICE
(
uart2
,
"dev:uart2"
,
PBX_UART2
,
NULL
);
A
PB
_DEVICE
(
ssp0
,
"dev:ssp0"
,
PBX_SSP
,
&
ssp0_plat_data
);
/* Primecells on the NEC ISSP chip */
A
MBA
_DEVICE
(
clcd
,
"issp:clcd"
,
PBX_CLCD
,
&
clcd_plat_data
);
A
MBA
_DEVICE
(
dmac
,
"issp:dmac"
,
DMAC
,
NULL
);
A
HB
_DEVICE
(
clcd
,
"issp:clcd"
,
PBX_CLCD
,
&
clcd_plat_data
);
A
HB
_DEVICE
(
dmac
,
"issp:dmac"
,
DMAC
,
NULL
);
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
dmac_device
,
...
...
arch/arm/mach-rpc/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-rpc/include/mach/system.h
*
* Copyright (C) 1996-1999 Russell King.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
arch/arm/mach-s3c2410/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/* arch/arm/mach-s3c2410/include/mach/system.h
*
* Copyright (c) 2003 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
*
* S3C2410 - System function defines and includes
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/io.h>
#include <mach/hardware.h>
#include <mach/map.h>
#include <mach/idle.h>
#include <mach/regs-clock.h>
void
(
*
s3c24xx_idle
)(
void
);
void
s3c24xx_default_idle
(
void
)
{
unsigned
long
tmp
;
int
i
;
/* idle the system by using the idle mode which will wait for an
* interrupt to happen before restarting the system.
*/
/* Warning: going into idle state upsets jtag scanning */
__raw_writel
(
__raw_readl
(
S3C2410_CLKCON
)
|
S3C2410_CLKCON_IDLE
,
S3C2410_CLKCON
);
/* the samsung port seems to do a loop and then unset idle.. */
for
(
i
=
0
;
i
<
50
;
i
++
)
{
tmp
+=
__raw_readl
(
S3C2410_CLKCON
);
/* ensure loop not optimised out */
}
/* this bit is not cleared on re-start... */
__raw_writel
(
__raw_readl
(
S3C2410_CLKCON
)
&
~
S3C2410_CLKCON_IDLE
,
S3C2410_CLKCON
);
}
static
void
arch_idle
(
void
)
{
if
(
s3c24xx_idle
!=
NULL
)
(
s3c24xx_idle
)();
else
s3c24xx_default_idle
();
}
arch/arm/mach-s3c2410/mach-h1940.c
浏览文件 @
c15a0433
...
...
@@ -162,7 +162,7 @@ static int h1940_gpiolib_latch_get(struct gpio_chip *chip,
return
(
latch_state
>>
(
offset
+
16
))
&
1
;
}
struct
gpio_chip
h1940_latch_gpiochip
=
{
st
atic
st
ruct
gpio_chip
h1940_latch_gpiochip
=
{
.
base
=
H1940_LATCH_GPIO
(
0
),
.
owner
=
THIS_MODULE
,
.
label
=
"H1940_LATCH"
,
...
...
@@ -304,7 +304,7 @@ static const struct s3c_adc_bat_thresh bat_lut_acin[] = {
{
.
volt
=
3841
,
.
cur
=
0
,
.
level
=
0
},
};
int
h1940_bat_init
(
void
)
static
int
h1940_bat_init
(
void
)
{
int
ret
;
...
...
@@ -317,17 +317,17 @@ int h1940_bat_init(void)
}
void
h1940_bat_exit
(
void
)
static
void
h1940_bat_exit
(
void
)
{
gpio_free
(
H1940_LATCH_SM803_ENABLE
);
}
void
h1940_enable_charger
(
void
)
static
void
h1940_enable_charger
(
void
)
{
gpio_set_value
(
H1940_LATCH_SM803_ENABLE
,
1
);
}
void
h1940_disable_charger
(
void
)
static
void
h1940_disable_charger
(
void
)
{
gpio_set_value
(
H1940_LATCH_SM803_ENABLE
,
0
);
}
...
...
@@ -364,7 +364,7 @@ static struct platform_device h1940_battery = {
},
};
DEFINE_SPINLOCK
(
h1940_blink_spin
);
static
DEFINE_SPINLOCK
(
h1940_blink_spin
);
int
h1940_led_blink_set
(
unsigned
gpio
,
int
state
,
unsigned
long
*
delay_on
,
unsigned
long
*
delay_off
)
...
...
arch/arm/mach-s3c2412/s3c2412.c
浏览文件 @
c15a0433
...
...
@@ -32,8 +32,6 @@
#include <asm/proc-fns.h>
#include <asm/irq.h>
#include <mach/idle.h>
#include <plat/cpu-freq.h>
#include <mach/regs-clock.h>
...
...
@@ -164,7 +162,7 @@ void __init s3c2412_map_io(void)
/* set our idle function */
s3c24xx
_idle
=
s3c2412_idle
;
arm_pm
_idle
=
s3c2412_idle
;
/* register our io-tables */
...
...
arch/arm/mach-s3c2416/clock.c
浏览文件 @
c15a0433
...
...
@@ -132,12 +132,6 @@ static struct clk hsmmc0_clk = {
.
ctrlbit
=
S3C2416_HCLKCON_HSMMC0
,
};
void
__init_or_cpufreq
s3c2416_setup_clocks
(
void
)
{
s3c2443_common_setup_clocks
(
s3c2416_get_pll
);
}
static
struct
clksrc_clk
*
clksrcs
[]
__initdata
=
{
&
hsspi_eplldiv
,
&
hsspi_mux
,
...
...
arch/arm/mach-s3c2416/mach-smdk2416.c
浏览文件 @
c15a0433
...
...
@@ -125,7 +125,7 @@ static struct s3c2410_uartcfg smdk2416_uartcfgs[] __initdata = {
}
};
void
smdk2416_hsudc_gpio_init
(
void
)
static
void
smdk2416_hsudc_gpio_init
(
void
)
{
s3c_gpio_setpull
(
S3C2410_GPH
(
14
),
S3C_GPIO_PULL_UP
);
s3c_gpio_setpull
(
S3C2410_GPF
(
2
),
S3C_GPIO_PULL_NONE
);
...
...
@@ -133,20 +133,20 @@ void smdk2416_hsudc_gpio_init(void)
s3c2410_modify_misccr
(
S3C2416_MISCCR_SEL_SUSPND
,
0
);
}
void
smdk2416_hsudc_gpio_uninit
(
void
)
static
void
smdk2416_hsudc_gpio_uninit
(
void
)
{
s3c2410_modify_misccr
(
S3C2416_MISCCR_SEL_SUSPND
,
1
);
s3c_gpio_setpull
(
S3C2410_GPH
(
14
),
S3C_GPIO_PULL_NONE
);
s3c_gpio_cfgpin
(
S3C2410_GPH
(
14
),
S3C_GPIO_SFN
(
0
));
}
struct
s3c24xx_hsudc_platdata
smdk2416_hsudc_platdata
=
{
st
atic
st
ruct
s3c24xx_hsudc_platdata
smdk2416_hsudc_platdata
=
{
.
epnum
=
9
,
.
gpio_init
=
smdk2416_hsudc_gpio_init
,
.
gpio_uninit
=
smdk2416_hsudc_gpio_uninit
,
};
struct
s3c_fb_pd_win
smdk2416_fb_win
[]
=
{
st
atic
st
ruct
s3c_fb_pd_win
smdk2416_fb_win
[]
=
{
[
0
]
=
{
/* think this is the same as the smdk6410 */
.
win_mode
=
{
...
...
arch/arm/mach-s3c2416/s3c2416.c
浏览文件 @
c15a0433
...
...
@@ -44,7 +44,6 @@
#include <asm/proc-fns.h>
#include <asm/irq.h>
#include <mach/idle.h>
#include <mach/regs-s3c2443-clock.h>
#include <plat/gpio-core.h>
...
...
@@ -88,8 +87,6 @@ int __init s3c2416_init(void)
{
printk
(
KERN_INFO
"S3C2416: Initializing architecture
\n
"
);
/* s3c24xx_idle = s3c2416_idle; */
/* change WDT IRQ number */
s3c_device_wdt
.
resource
[
1
].
start
=
IRQ_S3C2443_WDT
;
s3c_device_wdt
.
resource
[
1
].
end
=
IRQ_S3C2443_WDT
;
...
...
arch/arm/mach-s3c2440/mach-gta02.c
浏览文件 @
c15a0433
...
...
@@ -258,7 +258,7 @@ static struct pcf50633_bl_platform_data gta02_backlight_data = {
.
ramp_time
=
5
,
};
struct
pcf50633_platform_data
gta02_pcf_pdata
=
{
st
atic
st
ruct
pcf50633_platform_data
gta02_pcf_pdata
=
{
.
resumers
=
{
[
0
]
=
PCF50633_INT1_USBINS
|
PCF50633_INT1_USBREM
|
...
...
@@ -404,7 +404,7 @@ static struct platform_device gta02_nor_flash = {
};
struct
platform_device
s3c24xx_pwm_device
=
{
st
atic
st
ruct
platform_device
s3c24xx_pwm_device
=
{
.
name
=
"s3c24xx_pwm"
,
.
num_resources
=
0
,
};
...
...
arch/arm/mach-s3c2440/mach-rx1950.c
浏览文件 @
c15a0433
...
...
@@ -217,7 +217,7 @@ static const struct s3c_adc_bat_thresh bat_lut_acin[] = {
{
.
volt
=
3820
,
.
cur
=
0
,
.
level
=
0
},
};
int
rx1950_bat_init
(
void
)
static
int
rx1950_bat_init
(
void
)
{
int
ret
;
...
...
@@ -236,25 +236,25 @@ int rx1950_bat_init(void)
return
ret
;
}
void
rx1950_bat_exit
(
void
)
static
void
rx1950_bat_exit
(
void
)
{
gpio_free
(
S3C2410_GPJ
(
2
));
gpio_free
(
S3C2410_GPJ
(
3
));
}
void
rx1950_enable_charger
(
void
)
static
void
rx1950_enable_charger
(
void
)
{
gpio_direction_output
(
S3C2410_GPJ
(
2
),
1
);
gpio_direction_output
(
S3C2410_GPJ
(
3
),
1
);
}
void
rx1950_disable_charger
(
void
)
static
void
rx1950_disable_charger
(
void
)
{
gpio_direction_output
(
S3C2410_GPJ
(
2
),
0
);
gpio_direction_output
(
S3C2410_GPJ
(
3
),
0
);
}
DEFINE_SPINLOCK
(
rx1950_blink_spin
);
static
DEFINE_SPINLOCK
(
rx1950_blink_spin
);
static
int
rx1950_led_blink_set
(
unsigned
gpio
,
int
state
,
unsigned
long
*
delay_on
,
unsigned
long
*
delay_off
)
...
...
@@ -382,7 +382,7 @@ static struct s3c2410fb_mach_info rx1950_lcd_cfg = {
static
struct
pwm_device
*
lcd_pwm
;
void
rx1950_lcd_power
(
int
enable
)
static
void
rx1950_lcd_power
(
int
enable
)
{
int
i
;
static
int
enabled
;
...
...
arch/arm/mach-s3c64xx/common.h
浏览文件 @
c15a0433
...
...
@@ -25,8 +25,6 @@ void s3c64xx_setup_clocks(void);
void
s3c64xx_restart
(
char
mode
,
const
char
*
cmd
);
extern
struct
syscore_ops
s3c64xx_irq_syscore_ops
;
#ifdef CONFIG_CPU_S3C6400
extern
int
s3c6400_init
(
void
);
...
...
arch/arm/mach-s3c64xx/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/* linux/arch/arm/mach-s3c6400/include/mach/system.h
*
* Copyright 2008 Openmoko, Inc.
* Copyright 2008 Simtec Electronics
* Ben Dooks <ben@simtec.co.uk>
* http://armlinux.simtec.co.uk/
*
* S3C6400 - system implementation
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H __FILE__
static
void
arch_idle
(
void
)
{
/* nothing here yet */
}
#endif
/* __ASM_ARCH_IRQ_H */
arch/arm/mach-s3c64xx/irq-pm.c
浏览文件 @
c15a0433
...
...
@@ -96,7 +96,7 @@ static void s3c64xx_irq_pm_resume(void)
S3C_PMDBG
(
"%s: IRQ configuration restored
\n
"
,
__func__
);
}
struct
syscore_ops
s3c64xx_irq_syscore_ops
=
{
st
atic
st
ruct
syscore_ops
s3c64xx_irq_syscore_ops
=
{
.
suspend
=
s3c64xx_irq_pm_suspend
,
.
resume
=
s3c64xx_irq_pm_resume
,
};
...
...
arch/arm/mach-s5p64x0/clock.c
浏览文件 @
c15a0433
...
...
@@ -73,7 +73,7 @@ static const u32 clock_table[][3] = {
{
L2
*
1000
,
(
3
<<
ARM_DIV_RATIO_SHIFT
),
(
0
<<
S5P64X0_CLKDIV0_HCLK_SHIFT
)},
};
unsigned
long
s5p64x0_armclk_get_rate
(
struct
clk
*
clk
)
static
unsigned
long
s5p64x0_armclk_get_rate
(
struct
clk
*
clk
)
{
unsigned
long
rate
=
clk_get_rate
(
clk
->
parent
);
u32
clkdiv
;
...
...
@@ -84,7 +84,8 @@ unsigned long s5p64x0_armclk_get_rate(struct clk *clk)
return
rate
/
(
clkdiv
+
1
);
}
unsigned
long
s5p64x0_armclk_round_rate
(
struct
clk
*
clk
,
unsigned
long
rate
)
static
unsigned
long
s5p64x0_armclk_round_rate
(
struct
clk
*
clk
,
unsigned
long
rate
)
{
u32
iter
;
...
...
@@ -96,7 +97,7 @@ unsigned long s5p64x0_armclk_round_rate(struct clk *clk, unsigned long rate)
return
clock_table
[
ARRAY_SIZE
(
clock_table
)
-
1
][
0
];
}
int
s5p64x0_armclk_set_rate
(
struct
clk
*
clk
,
unsigned
long
rate
)
static
int
s5p64x0_armclk_set_rate
(
struct
clk
*
clk
,
unsigned
long
rate
)
{
u32
round_tmp
;
u32
iter
;
...
...
@@ -148,7 +149,7 @@ int s5p64x0_armclk_set_rate(struct clk *clk, unsigned long rate)
return
0
;
}
struct
clk_ops
s5p64x0_clkarm_ops
=
{
st
atic
st
ruct
clk_ops
s5p64x0_clkarm_ops
=
{
.
get_rate
=
s5p64x0_armclk_get_rate
,
.
set_rate
=
s5p64x0_armclk_set_rate
,
.
round_rate
=
s5p64x0_armclk_round_rate
,
...
...
@@ -173,7 +174,7 @@ struct clksrc_clk clk_dout_mpll = {
.
reg_div
=
{
.
reg
=
S5P64X0_CLK_DIV0
,
.
shift
=
4
,
.
size
=
1
},
};
struct
clk
*
clkset_hclk_low_list
[]
=
{
st
atic
st
ruct
clk
*
clkset_hclk_low_list
[]
=
{
&
clk_mout_apll
.
clk
,
&
clk_mout_mpll
.
clk
,
};
...
...
arch/arm/mach-s5p64x0/common.c
浏览文件 @
c15a0433
...
...
@@ -146,15 +146,12 @@ static void s5p64x0_idle(void)
{
unsigned
long
val
;
if
(
!
need_resched
())
{
val
=
__raw_readl
(
S5P64X0_PWR_CFG
);
val
&=
~
(
0x3
<<
5
);
val
|=
(
0x1
<<
5
);
__raw_writel
(
val
,
S5P64X0_PWR_CFG
);
val
=
__raw_readl
(
S5P64X0_PWR_CFG
);
val
&=
~
(
0x3
<<
5
);
val
|=
(
0x1
<<
5
);
__raw_writel
(
val
,
S5P64X0_PWR_CFG
);
cpu_do_idle
();
}
local_irq_enable
();
cpu_do_idle
();
}
/*
...
...
@@ -286,7 +283,7 @@ int __init s5p64x0_init(void)
printk
(
KERN_INFO
"S5P64X0(S5P6440/S5P6450): Initializing architecture
\n
"
);
/* set idle function */
pm_idle
=
s5p64x0_idle
;
arm_
pm_idle
=
s5p64x0_idle
;
return
device_register
(
&
s5p64x0_dev
);
}
...
...
arch/arm/mach-s5p64x0/dma.c
浏览文件 @
c15a0433
...
...
@@ -38,7 +38,7 @@
static
u64
dma_dmamask
=
DMA_BIT_MASK
(
32
);
u8
s5p6440_pdma_peri
[]
=
{
static
u8
s5p6440_pdma_peri
[]
=
{
DMACH_UART0_RX
,
DMACH_UART0_TX
,
DMACH_UART1_RX
,
...
...
@@ -63,12 +63,12 @@ u8 s5p6440_pdma_peri[] = {
DMACH_SPI1_RX
,
};
struct
dma_pl330_platdata
s5p6440_pdma_pdata
=
{
st
atic
st
ruct
dma_pl330_platdata
s5p6440_pdma_pdata
=
{
.
nr_valid_peri
=
ARRAY_SIZE
(
s5p6440_pdma_peri
),
.
peri_id
=
s5p6440_pdma_peri
,
};
u8
s5p6450_pdma_peri
[]
=
{
static
u8
s5p6450_pdma_peri
[]
=
{
DMACH_UART0_RX
,
DMACH_UART0_TX
,
DMACH_UART1_RX
,
...
...
@@ -103,39 +103,27 @@ u8 s5p6450_pdma_peri[] = {
DMACH_UART5_TX
,
};
struct
dma_pl330_platdata
s5p6450_pdma_pdata
=
{
st
atic
st
ruct
dma_pl330_platdata
s5p6450_pdma_pdata
=
{
.
nr_valid_peri
=
ARRAY_SIZE
(
s5p6450_pdma_peri
),
.
peri_id
=
s5p6450_pdma_peri
,
};
struct
amba_device
s5p64x0_device_pdma
=
{
.
dev
=
{
.
init_name
=
"dma-pl330"
,
.
dma_mask
=
&
dma_dmamask
,
.
coherent_dma_mask
=
DMA_BIT_MASK
(
32
),
},
.
res
=
{
.
start
=
S5P64X0_PA_PDMA
,
.
end
=
S5P64X0_PA_PDMA
+
SZ_4K
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_DMA0
,
NO_IRQ
},
.
periphid
=
0x00041330
,
};
static
AMBA_AHB_DEVICE
(
s5p64x0_pdma
,
"dma-pl330"
,
0x00041330
,
S5P64X0_PA_PDMA
,
{
IRQ_DMA0
},
NULL
);
static
int
__init
s5p64x0_dma_init
(
void
)
{
if
(
soc_is_s5p6450
())
{
dma_cap_set
(
DMA_SLAVE
,
s5p6450_pdma_pdata
.
cap_mask
);
dma_cap_set
(
DMA_CYCLIC
,
s5p6450_pdma_pdata
.
cap_mask
);
s5p64x0_
device_pdma
.
dev
.
platform_data
=
&
s5p6450_pdma_pdata
;
s5p64x0_
pdma_device
.
dev
.
platform_data
=
&
s5p6450_pdma_pdata
;
}
else
{
dma_cap_set
(
DMA_SLAVE
,
s5p6440_pdma_pdata
.
cap_mask
);
dma_cap_set
(
DMA_CYCLIC
,
s5p6440_pdma_pdata
.
cap_mask
);
s5p64x0_
device_pdma
.
dev
.
platform_data
=
&
s5p6440_pdma_pdata
;
s5p64x0_
pdma_device
.
dev
.
platform_data
=
&
s5p6440_pdma_pdata
;
}
amba_device_register
(
&
s5p64x0_
device_pdma
,
&
iomem_resource
);
amba_device_register
(
&
s5p64x0_
pdma_device
,
&
iomem_resource
);
return
0
;
}
...
...
arch/arm/mach-s5p64x0/include/mach/s5p64x0-clock.h
浏览文件 @
c15a0433
...
...
@@ -22,16 +22,9 @@ extern struct clksrc_clk clk_mout_epll;
extern
int
s5p64x0_epll_enable
(
struct
clk
*
clk
,
int
enable
);
extern
unsigned
long
s5p64x0_epll_get_rate
(
struct
clk
*
clk
);
extern
unsigned
long
s5p64x0_armclk_get_rate
(
struct
clk
*
clk
);
extern
unsigned
long
s5p64x0_armclk_round_rate
(
struct
clk
*
clk
,
unsigned
long
rate
);
extern
int
s5p64x0_armclk_set_rate
(
struct
clk
*
clk
,
unsigned
long
rate
);
extern
struct
clk_ops
s5p64x0_clkarm_ops
;
extern
struct
clksrc_clk
clk_armclk
;
extern
struct
clksrc_clk
clk_dout_mpll
;
extern
struct
clk
*
clkset_hclk_low_list
[];
extern
struct
clksrc_sources
clkset_hclk_low
;
extern
int
s5p64x0_pclk_ctrl
(
struct
clk
*
clk
,
int
enable
);
...
...
arch/arm/mach-s5p64x0/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/* linux/arch/arm/mach-s5p64x0/include/mach/system.h
*
* Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* S5P64X0 - system support header
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H __FILE__
static
void
arch_idle
(
void
)
{
/* nothing here yet */
}
#endif
/* __ASM_ARCH_SYSTEM_H */
arch/arm/mach-s5pc100/clock.c
浏览文件 @
c15a0433
...
...
@@ -170,7 +170,7 @@ static struct clk *clk_src_mout_am_list[] = {
[
1
]
=
&
clk_div_apll2
.
clk
,
};
struct
clksrc_sources
clk_src_mout_am
=
{
st
atic
st
ruct
clksrc_sources
clk_src_mout_am
=
{
.
sources
=
clk_src_mout_am_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_mout_am_list
),
};
...
...
@@ -212,7 +212,7 @@ static struct clk *clk_src_mout_onenand_list[] = {
[
1
]
=
&
clk_div_d1_bus
.
clk
,
};
struct
clksrc_sources
clk_src_mout_onenand
=
{
st
atic
st
ruct
clksrc_sources
clk_src_mout_onenand
=
{
.
sources
=
clk_src_mout_onenand_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_mout_onenand_list
),
};
...
...
@@ -756,7 +756,7 @@ static struct clk *clk_src_group1_list[] = {
[
3
]
=
&
clk_mout_hpll
.
clk
,
};
struct
clksrc_sources
clk_src_group1
=
{
st
atic
st
ruct
clksrc_sources
clk_src_group1
=
{
.
sources
=
clk_src_group1_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_group1_list
),
};
...
...
@@ -766,7 +766,7 @@ static struct clk *clk_src_group2_list[] = {
[
1
]
=
&
clk_div_mpll
.
clk
,
};
struct
clksrc_sources
clk_src_group2
=
{
st
atic
st
ruct
clksrc_sources
clk_src_group2
=
{
.
sources
=
clk_src_group2_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_group2_list
),
};
...
...
@@ -780,7 +780,7 @@ static struct clk *clk_src_group3_list[] = {
[
5
]
=
&
clk_mout_hpll
.
clk
,
};
struct
clksrc_sources
clk_src_group3
=
{
st
atic
st
ruct
clksrc_sources
clk_src_group3
=
{
.
sources
=
clk_src_group3_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_group3_list
),
};
...
...
@@ -806,7 +806,7 @@ static struct clk *clk_src_group4_list[] = {
[
5
]
=
&
clk_mout_hpll
.
clk
,
};
struct
clksrc_sources
clk_src_group4
=
{
st
atic
st
ruct
clksrc_sources
clk_src_group4
=
{
.
sources
=
clk_src_group4_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_group4_list
),
};
...
...
@@ -831,7 +831,7 @@ static struct clk *clk_src_group5_list[] = {
[
4
]
=
&
clk_mout_hpll
.
clk
,
};
struct
clksrc_sources
clk_src_group5
=
{
st
atic
st
ruct
clksrc_sources
clk_src_group5
=
{
.
sources
=
clk_src_group5_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_group5_list
),
};
...
...
@@ -854,7 +854,7 @@ static struct clk *clk_src_group6_list[] = {
[
2
]
=
&
clk_div_hdmi
.
clk
,
};
struct
clksrc_sources
clk_src_group6
=
{
st
atic
st
ruct
clksrc_sources
clk_src_group6
=
{
.
sources
=
clk_src_group6_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_group6_list
),
};
...
...
@@ -866,7 +866,7 @@ static struct clk *clk_src_group7_list[] = {
[
3
]
=
&
clk_vclk54m
,
};
struct
clksrc_sources
clk_src_group7
=
{
st
atic
st
ruct
clksrc_sources
clk_src_group7
=
{
.
sources
=
clk_src_group7_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_group7_list
),
};
...
...
@@ -877,7 +877,7 @@ static struct clk *clk_src_mmc0_list[] = {
[
2
]
=
&
clk_fin_epll
,
};
struct
clksrc_sources
clk_src_mmc0
=
{
st
atic
st
ruct
clksrc_sources
clk_src_mmc0
=
{
.
sources
=
clk_src_mmc0_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_mmc0_list
),
};
...
...
@@ -889,7 +889,7 @@ static struct clk *clk_src_mmc12_list[] = {
[
3
]
=
&
clk_mout_hpll
.
clk
,
};
struct
clksrc_sources
clk_src_mmc12
=
{
st
atic
st
ruct
clksrc_sources
clk_src_mmc12
=
{
.
sources
=
clk_src_mmc12_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_mmc12_list
),
};
...
...
@@ -901,7 +901,7 @@ static struct clk *clk_src_irda_usb_list[] = {
[
3
]
=
&
clk_mout_hpll
.
clk
,
};
struct
clksrc_sources
clk_src_irda_usb
=
{
st
atic
st
ruct
clksrc_sources
clk_src_irda_usb
=
{
.
sources
=
clk_src_irda_usb_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_irda_usb_list
),
};
...
...
@@ -912,7 +912,7 @@ static struct clk *clk_src_pwi_list[] = {
[
2
]
=
&
clk_div_mpll
.
clk
,
};
struct
clksrc_sources
clk_src_pwi
=
{
st
atic
st
ruct
clksrc_sources
clk_src_pwi
=
{
.
sources
=
clk_src_pwi_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_src_pwi_list
),
};
...
...
@@ -923,7 +923,7 @@ static struct clk *clk_sclk_spdif_list[] = {
[
2
]
=
&
clk_sclk_audio2
.
clk
,
};
struct
clksrc_sources
clk_src_sclk_spdif
=
{
st
atic
st
ruct
clksrc_sources
clk_src_sclk_spdif
=
{
.
sources
=
clk_sclk_spdif_list
,
.
nr_sources
=
ARRAY_SIZE
(
clk_sclk_spdif_list
),
};
...
...
arch/arm/mach-s5pc100/common.c
浏览文件 @
c15a0433
...
...
@@ -129,14 +129,6 @@ static struct map_desc s5pc100_iodesc[] __initdata = {
}
};
static
void
s5pc100_idle
(
void
)
{
if
(
!
need_resched
())
cpu_do_idle
();
local_irq_enable
();
}
/*
* s5pc100_map_io
*
...
...
@@ -210,10 +202,6 @@ core_initcall(s5pc100_core_init);
int
__init
s5pc100_init
(
void
)
{
printk
(
KERN_INFO
"S5PC100: Initializing architecture
\n
"
);
/* set idle function */
pm_idle
=
s5pc100_idle
;
return
device_register
(
&
s5pc100_dev
);
}
...
...
arch/arm/mach-s5pc100/dma.c
浏览文件 @
c15a0433
...
...
@@ -35,7 +35,7 @@
static
u64
dma_dmamask
=
DMA_BIT_MASK
(
32
);
u8
pdma0_peri
[]
=
{
static
u8
pdma0_peri
[]
=
{
DMACH_UART0_RX
,
DMACH_UART0_TX
,
DMACH_UART1_RX
,
...
...
@@ -68,28 +68,15 @@ u8 pdma0_peri[] = {
DMACH_HSI_TX
,
};
struct
dma_pl330_platdata
s5pc100_pdma0_pdata
=
{
st
atic
st
ruct
dma_pl330_platdata
s5pc100_pdma0_pdata
=
{
.
nr_valid_peri
=
ARRAY_SIZE
(
pdma0_peri
),
.
peri_id
=
pdma0_peri
,
};
struct
amba_device
s5pc100_device_pdma0
=
{
.
dev
=
{
.
init_name
=
"dma-pl330.0"
,
.
dma_mask
=
&
dma_dmamask
,
.
coherent_dma_mask
=
DMA_BIT_MASK
(
32
),
.
platform_data
=
&
s5pc100_pdma0_pdata
,
},
.
res
=
{
.
start
=
S5PC100_PA_PDMA0
,
.
end
=
S5PC100_PA_PDMA0
+
SZ_4K
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_PDMA0
,
NO_IRQ
},
.
periphid
=
0x00041330
,
};
static
AMBA_AHB_DEVICE
(
s5pc100_pdma0
,
"dma-pl330.0"
,
0x00041330
,
S5PC100_PA_PDMA0
,
{
IRQ_PDMA0
},
&
s5pc100_pdma0_pdata
);
u8
pdma1_peri
[]
=
{
static
u8
pdma1_peri
[]
=
{
DMACH_UART0_RX
,
DMACH_UART0_TX
,
DMACH_UART1_RX
,
...
...
@@ -122,36 +109,23 @@ u8 pdma1_peri[] = {
DMACH_MSM_REQ3
,
};
struct
dma_pl330_platdata
s5pc100_pdma1_pdata
=
{
st
atic
st
ruct
dma_pl330_platdata
s5pc100_pdma1_pdata
=
{
.
nr_valid_peri
=
ARRAY_SIZE
(
pdma1_peri
),
.
peri_id
=
pdma1_peri
,
};
struct
amba_device
s5pc100_device_pdma1
=
{
.
dev
=
{
.
init_name
=
"dma-pl330.1"
,
.
dma_mask
=
&
dma_dmamask
,
.
coherent_dma_mask
=
DMA_BIT_MASK
(
32
),
.
platform_data
=
&
s5pc100_pdma1_pdata
,
},
.
res
=
{
.
start
=
S5PC100_PA_PDMA1
,
.
end
=
S5PC100_PA_PDMA1
+
SZ_4K
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_PDMA1
,
NO_IRQ
},
.
periphid
=
0x00041330
,
};
static
AMBA_AHB_DEVICE
(
s5pc100_pdma1
,
"dma-pl330.1"
,
0x00041330
,
S5PC100_PA_PDMA1
,
{
IRQ_PDMA1
},
&
s5pc100_pdma1_pdata
);
static
int
__init
s5pc100_dma_init
(
void
)
{
dma_cap_set
(
DMA_SLAVE
,
s5pc100_pdma0_pdata
.
cap_mask
);
dma_cap_set
(
DMA_CYCLIC
,
s5pc100_pdma0_pdata
.
cap_mask
);
amba_device_register
(
&
s5pc100_
device_pdma0
,
&
iomem_resource
);
amba_device_register
(
&
s5pc100_
pdma0_device
,
&
iomem_resource
);
dma_cap_set
(
DMA_SLAVE
,
s5pc100_pdma1_pdata
.
cap_mask
);
dma_cap_set
(
DMA_CYCLIC
,
s5pc100_pdma1_pdata
.
cap_mask
);
amba_device_register
(
&
s5pc100_
device_pdma1
,
&
iomem_resource
);
amba_device_register
(
&
s5pc100_
pdma1_device
,
&
iomem_resource
);
return
0
;
}
...
...
arch/arm/mach-s5pc100/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/* linux/arch/arm/mach-s5pc100/include/mach/system.h
*
* Copyright 2009 Samsung Electronics Co.
* Byungho Min <bhmin@samsung.com>
*
* S5PC100 - system implementation
*
* Based on mach-s3c6400/include/mach/system.h
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H __FILE__
static
void
arch_idle
(
void
)
{
/* nothing here yet */
}
#endif
/* __ASM_ARCH_IRQ_H */
arch/arm/mach-s5pv210/common.c
浏览文件 @
c15a0433
...
...
@@ -142,14 +142,6 @@ static struct map_desc s5pv210_iodesc[] __initdata = {
}
};
static
void
s5pv210_idle
(
void
)
{
if
(
!
need_resched
())
cpu_do_idle
();
local_irq_enable
();
}
void
s5pv210_restart
(
char
mode
,
const
char
*
cmd
)
{
__raw_writel
(
0x1
,
S5P_SWRESET
);
...
...
@@ -247,10 +239,6 @@ core_initcall(s5pv210_core_init);
int
__init
s5pv210_init
(
void
)
{
printk
(
KERN_INFO
"S5PV210: Initializing architecture
\n
"
);
/* set idle function */
pm_idle
=
s5pv210_idle
;
return
device_register
(
&
s5pv210_dev
);
}
...
...
arch/arm/mach-s5pv210/dma.c
浏览文件 @
c15a0433
...
...
@@ -35,7 +35,7 @@
static
u64
dma_dmamask
=
DMA_BIT_MASK
(
32
);
u8
pdma0_peri
[]
=
{
static
u8
pdma0_peri
[]
=
{
DMACH_UART0_RX
,
DMACH_UART0_TX
,
DMACH_UART1_RX
,
...
...
@@ -66,28 +66,15 @@ u8 pdma0_peri[] = {
DMACH_SPDIF
,
};
struct
dma_pl330_platdata
s5pv210_pdma0_pdata
=
{
st
atic
st
ruct
dma_pl330_platdata
s5pv210_pdma0_pdata
=
{
.
nr_valid_peri
=
ARRAY_SIZE
(
pdma0_peri
),
.
peri_id
=
pdma0_peri
,
};
struct
amba_device
s5pv210_device_pdma0
=
{
.
dev
=
{
.
init_name
=
"dma-pl330.0"
,
.
dma_mask
=
&
dma_dmamask
,
.
coherent_dma_mask
=
DMA_BIT_MASK
(
32
),
.
platform_data
=
&
s5pv210_pdma0_pdata
,
},
.
res
=
{
.
start
=
S5PV210_PA_PDMA0
,
.
end
=
S5PV210_PA_PDMA0
+
SZ_4K
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_PDMA0
,
NO_IRQ
},
.
periphid
=
0x00041330
,
};
static
AMBA_AHB_DEVICE
(
s5pv210_pdma0
,
"dma-pl330.0"
,
0x00041330
,
S5PV210_PA_PDMA0
,
{
IRQ_PDMA0
},
&
s5pv210_pdma0_pdata
);
u8
pdma1_peri
[]
=
{
static
u8
pdma1_peri
[]
=
{
DMACH_UART0_RX
,
DMACH_UART0_TX
,
DMACH_UART1_RX
,
...
...
@@ -122,36 +109,23 @@ u8 pdma1_peri[] = {
DMACH_PCM2_TX
,
};
struct
dma_pl330_platdata
s5pv210_pdma1_pdata
=
{
st
atic
st
ruct
dma_pl330_platdata
s5pv210_pdma1_pdata
=
{
.
nr_valid_peri
=
ARRAY_SIZE
(
pdma1_peri
),
.
peri_id
=
pdma1_peri
,
};
struct
amba_device
s5pv210_device_pdma1
=
{
.
dev
=
{
.
init_name
=
"dma-pl330.1"
,
.
dma_mask
=
&
dma_dmamask
,
.
coherent_dma_mask
=
DMA_BIT_MASK
(
32
),
.
platform_data
=
&
s5pv210_pdma1_pdata
,
},
.
res
=
{
.
start
=
S5PV210_PA_PDMA1
,
.
end
=
S5PV210_PA_PDMA1
+
SZ_4K
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_PDMA1
,
NO_IRQ
},
.
periphid
=
0x00041330
,
};
static
AMBA_AHB_DEVICE
(
s5pv210_pdma1
,
"dma-pl330.1"
,
0x00041330
,
S5PV210_PA_PDMA1
,
{
IRQ_PDMA1
},
&
s5pv210_pdma1_pdata
);
static
int
__init
s5pv210_dma_init
(
void
)
{
dma_cap_set
(
DMA_SLAVE
,
s5pv210_pdma0_pdata
.
cap_mask
);
dma_cap_set
(
DMA_CYCLIC
,
s5pv210_pdma0_pdata
.
cap_mask
);
amba_device_register
(
&
s5pv210_
device_pdma0
,
&
iomem_resource
);
amba_device_register
(
&
s5pv210_
pdma0_device
,
&
iomem_resource
);
dma_cap_set
(
DMA_SLAVE
,
s5pv210_pdma1_pdata
.
cap_mask
);
dma_cap_set
(
DMA_CYCLIC
,
s5pv210_pdma1_pdata
.
cap_mask
);
amba_device_register
(
&
s5pv210_
device_pdma1
,
&
iomem_resource
);
amba_device_register
(
&
s5pv210_
pdma1_device
,
&
iomem_resource
);
return
0
;
}
...
...
arch/arm/mach-s5pv210/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/* linux/arch/arm/mach-s5pv210/include/mach/system.h
*
* Copyright (c) 2010 Samsung Electronics Co., Ltd.
* http://www.samsung.com/
*
* S5PV210 - system support header
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H __FILE__
static
void
arch_idle
(
void
)
{
/* nothing here yet */
}
#endif
/* __ASM_ARCH_SYSTEM_H */
arch/arm/mach-s5pv210/mach-goni.c
浏览文件 @
c15a0433
...
...
@@ -844,7 +844,7 @@ static struct s5p_fimc_isp_info goni_camera_sensors[] = {
},
};
struct
s5p_platform_fimc
goni_fimc_md_platdata
__initdata
=
{
st
atic
st
ruct
s5p_platform_fimc
goni_fimc_md_platdata
__initdata
=
{
.
isp_info
=
goni_camera_sensors
,
.
num_clients
=
ARRAY_SIZE
(
goni_camera_sensors
),
};
...
...
arch/arm/mach-s5pv210/mach-smdkv210.c
浏览文件 @
c15a0433
...
...
@@ -140,7 +140,7 @@ static struct dm9000_plat_data smdkv210_dm9000_platdata = {
.
dev_addr
=
{
0x00
,
0x09
,
0xc0
,
0xff
,
0xec
,
0x48
},
};
struct
platform_device
smdkv210_dm9000
=
{
st
atic
st
ruct
platform_device
smdkv210_dm9000
=
{
.
name
=
"dm9000"
,
.
id
=
-
1
,
.
num_resources
=
ARRAY_SIZE
(
smdkv210_dm9000_resources
),
...
...
arch/arm/mach-sa1100/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-sa1100/include/mach/system.h
*
* Copyright (c) 1999 Nicolas Pitre <nico@fluxnic.net>
*/
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
arch/arm/mach-shark/core.c
浏览文件 @
c15a0433
...
...
@@ -149,10 +149,16 @@ static struct sys_timer shark_timer = {
.
init
=
shark_timer_init
,
};
static
void
shark_init_early
(
void
)
{
disable_hlt
();
}
MACHINE_START
(
SHARK
,
"Shark"
)
/* Maintainer: Alexander Schulz */
.
atag_offset
=
0x3000
,
.
map_io
=
shark_map_io
,
.
init_early
=
shark_init_early
,
.
init_irq
=
shark_init_irq
,
.
timer
=
&
shark_timer
,
.
dma_zone_size
=
SZ_4M
,
...
...
arch/arm/mach-shark/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-shark/include/mach/system.h
*
* by Alexander Schulz
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
}
#endif
arch/arm/mach-shmobile/include/mach/system.h
浏览文件 @
c15a0433
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
static
inline
void
arch_reset
(
char
mode
,
const
char
*
cmd
)
{
soft_restart
(
0
);
...
...
arch/arm/mach-spear3xx/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-spear3xx/include/mach/system.h
*
* SPEAr3xx Machine family specific architecture functions
*
* Copyright (C) 2009 ST Microelectronics
* Viresh Kumar<viresh.kumar@st.com>
*
* 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.
*/
#ifndef __MACH_SYSTEM_H
#define __MACH_SYSTEM_H
#include <plat/system.h>
#endif
/* __MACH_SYSTEM_H */
arch/arm/mach-spear3xx/spear300.c
浏览文件 @
c15a0433
...
...
@@ -430,18 +430,8 @@ static struct pl061_platform_data gpio1_plat_data = {
.
irq_base
=
SPEAR300_GPIO1_INT_BASE
,
};
struct
amba_device
spear300_gpio1_device
=
{
.
dev
=
{
.
init_name
=
"gpio1"
,
.
platform_data
=
&
gpio1_plat_data
,
},
.
res
=
{
.
start
=
SPEAR300_GPIO_BASE
,
.
end
=
SPEAR300_GPIO_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
SPEAR300_VIRQ_GPIO1
,
NO_IRQ
},
};
AMBA_APB_DEVICE
(
spear300_gpio1
,
"gpio1"
,
0
,
SPEAR300_GPIO_BASE
,
{
SPEAR300_VIRQ_GPIO1
},
&
gpio1_plat_data
);
/* spear300 routines */
void
__init
spear300_init
(
struct
pmx_mode
*
pmx_mode
,
struct
pmx_dev
**
pmx_devs
,
...
...
arch/arm/mach-spear3xx/spear3xx.c
浏览文件 @
c15a0433
...
...
@@ -28,31 +28,12 @@ static struct pl061_platform_data gpio_plat_data = {
.
irq_base
=
SPEAR3XX_GPIO_INT_BASE
,
};
struct
amba_device
spear3xx_gpio_device
=
{
.
dev
=
{
.
init_name
=
"gpio"
,
.
platform_data
=
&
gpio_plat_data
,
},
.
res
=
{
.
start
=
SPEAR3XX_ICM3_GPIO_BASE
,
.
end
=
SPEAR3XX_ICM3_GPIO_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
SPEAR3XX_IRQ_BASIC_GPIO
,
NO_IRQ
},
};
AMBA_APB_DEVICE
(
spear3xx_gpio
,
"gpio"
,
0
,
SPEAR3XX_ICM3_GPIO_BASE
,
{
SPEAR3XX_IRQ_BASIC_GPIO
},
&
gpio_plat_data
);
/* uart device registration */
struct
amba_device
spear3xx_uart_device
=
{
.
dev
=
{
.
init_name
=
"uart"
,
},
.
res
=
{
.
start
=
SPEAR3XX_ICM1_UART_BASE
,
.
end
=
SPEAR3XX_ICM1_UART_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
SPEAR3XX_IRQ_UART
,
NO_IRQ
},
};
AMBA_APB_DEVICE
(
spear3xx_uart
,
"uart"
,
0
,
SPEAR3XX_ICM1_UART_BASE
,
{
SPEAR3XX_IRQ_UART
},
NULL
);
/* Do spear3xx familiy common initialization part here */
void
__init
spear3xx_init
(
void
)
...
...
arch/arm/mach-spear6xx/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-spear6xx/include/mach/system.h
*
* SPEAr6xx Machine family specific architecture functions
*
* Copyright (C) 2009 ST Microelectronics
* Rajeev Kumar<rajeev-dlh.kumar@st.com>
*
* 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.
*/
#ifndef __MACH_SYSTEM_H
#define __MACH_SYSTEM_H
#include <plat/system.h>
#endif
/* __MACH_SYSTEM_H */
arch/arm/mach-spear6xx/spear6xx.c
浏览文件 @
c15a0433
...
...
@@ -34,7 +34,7 @@ struct amba_device uart_device[] = {
.
end
=
SPEAR6XX_ICM1_UART0_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_UART_0
,
NO_IRQ
},
.
irq
=
{
IRQ_UART_0
},
},
{
.
dev
=
{
.
init_name
=
"uart1"
,
...
...
@@ -44,7 +44,7 @@ struct amba_device uart_device[] = {
.
end
=
SPEAR6XX_ICM1_UART1_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_UART_1
,
NO_IRQ
},
.
irq
=
{
IRQ_UART_1
},
}
};
...
...
@@ -73,7 +73,7 @@ struct amba_device gpio_device[] = {
.
end
=
SPEAR6XX_CPU_GPIO_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_LOCAL_GPIO
,
NO_IRQ
},
.
irq
=
{
IRQ_LOCAL_GPIO
},
},
{
.
dev
=
{
.
init_name
=
"gpio1"
,
...
...
@@ -84,7 +84,7 @@ struct amba_device gpio_device[] = {
.
end
=
SPEAR6XX_ICM3_GPIO_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_BASIC_GPIO
,
NO_IRQ
},
.
irq
=
{
IRQ_BASIC_GPIO
},
},
{
.
dev
=
{
.
init_name
=
"gpio2"
,
...
...
@@ -95,7 +95,7 @@ struct amba_device gpio_device[] = {
.
end
=
SPEAR6XX_ICM2_GPIO_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_APPL_GPIO
,
NO_IRQ
},
.
irq
=
{
IRQ_APPL_GPIO
},
}
};
...
...
arch/arm/mach-tegra/common.c
浏览文件 @
c15a0433
...
...
@@ -27,7 +27,6 @@
#include <asm/hardware/gic.h>
#include <mach/iomap.h>
#include <mach/system.h>
#include "board.h"
#include "clock.h"
...
...
@@ -96,6 +95,8 @@ static void __init tegra_init_cache(u32 tag_latency, u32 data_latency)
#ifdef CONFIG_ARCH_TEGRA_2x_SOC
void
__init
tegra20_init_early
(
void
)
{
disable_hlt
();
/* idle WFI usage needs to be confirmed */
tegra_init_fuse
();
tegra2_init_clocks
();
tegra_clk_init_from_table
(
tegra20_clk_init_table
);
...
...
arch/arm/mach-tegra/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-tegra/include/mach/system.h
*
* Copyright (C) 2010 Google, Inc.
*
* Author:
* Colin Cross <ccross@google.com>
* Erik Gilling <konkers@google.com>
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*/
#ifndef __MACH_TEGRA_SYSTEM_H
#define __MACH_TEGRA_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
}
#endif
arch/arm/mach-u300/core.c
浏览文件 @
c15a0433
...
...
@@ -94,19 +94,9 @@ static struct amba_pl011_data uart0_plat_data = {
#endif
};
static
struct
amba_device
uart0_device
=
{
.
dev
=
{
.
coherent_dma_mask
=
~
0
,
.
init_name
=
"uart0"
,
/* Slow device at 0x3000 offset */
.
platform_data
=
&
uart0_plat_data
,
},
.
res
=
{
.
start
=
U300_UART0_BASE
,
.
end
=
U300_UART0_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_U300_UART0
,
NO_IRQ
},
};
/* Slow device at 0x3000 offset */
static
AMBA_APB_DEVICE
(
uart0
,
"uart0"
,
0
,
U300_UART0_BASE
,
{
IRQ_U300_UART0
},
&
uart0_plat_data
);
/* The U335 have an additional UART1 on the APP CPU */
#ifdef CONFIG_MACH_U300_BS335
...
...
@@ -118,71 +108,28 @@ static struct amba_pl011_data uart1_plat_data = {
#endif
};
static
struct
amba_device
uart1_device
=
{
.
dev
=
{
.
coherent_dma_mask
=
~
0
,
.
init_name
=
"uart1"
,
/* Fast device at 0x7000 offset */
.
platform_data
=
&
uart1_plat_data
,
},
.
res
=
{
.
start
=
U300_UART1_BASE
,
.
end
=
U300_UART1_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_U300_UART1
,
NO_IRQ
},
};
/* Fast device at 0x7000 offset */
static
AMBA_APB_DEVICE
(
uart1
,
"uart1"
,
0
,
U300_UART1_BASE
,
{
IRQ_U300_UART1
},
&
uart1_plat_data
);
#endif
static
struct
amba_device
pl172_device
=
{
.
dev
=
{
.
init_name
=
"pl172"
,
/* AHB device at 0x4000 offset */
.
platform_data
=
NULL
,
},
.
res
=
{
.
start
=
U300_EMIF_CFG_BASE
,
.
end
=
U300_EMIF_CFG_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
};
/* AHB device at 0x4000 offset */
static
AMBA_APB_DEVICE
(
pl172
,
"pl172"
,
0
,
U300_EMIF_CFG_BASE
,
{
},
NULL
);
/*
* Everything within this next ifdef deals with external devices connected to
* the APP SPI bus.
*/
static
struct
amba_device
pl022_device
=
{
.
dev
=
{
.
coherent_dma_mask
=
~
0
,
.
init_name
=
"pl022"
,
/* Fast device at 0x6000 offset */
},
.
res
=
{
.
start
=
U300_SPI_BASE
,
.
end
=
U300_SPI_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_U300_SPI
,
NO_IRQ
},
/*
* This device has a DMA channel but the Linux driver does not use
* it currently.
*/
};
/* Fast device at 0x6000 offset */
static
AMBA_APB_DEVICE
(
pl022
,
"pl022"
,
0
,
U300_SPI_BASE
,
{
IRQ_U300_SPI
},
NULL
);
static
struct
amba_device
mmcsd_device
=
{
.
dev
=
{
.
init_name
=
"mmci"
,
/* Fast device at 0x1000 offset */
.
platform_data
=
NULL
,
/* Added later */
},
.
res
=
{
.
start
=
U300_MMCSD_BASE
,
.
end
=
U300_MMCSD_BASE
+
SZ_4K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
.
irq
=
{
IRQ_U300_MMCSD_MCIINTR0
,
IRQ_U300_MMCSD_MCIINTR1
},
/*
* This device has a DMA channel but the Linux driver does not use
* it currently.
*/
};
/* Fast device at 0x1000 offset */
#define U300_MMCSD_IRQS { IRQ_U300_MMCSD_MCIINTR0, IRQ_U300_MMCSD_MCIINTR1 }
static
AMBA_APB_DEVICE
(
mmcsd
,
"mmci"
,
0
,
U300_MMCSD_BASE
,
U300_MMCSD_IRQS
,
NULL
);
/*
* The order of device declaration may be important, since some devices
...
...
arch/arm/mach-u300/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
*
* arch/arm/mach-u300/include/mach/system.h
*
*
* Copyright (C) 2007-2009 ST-Ericsson AB
* License terms: GNU General Public License (GPL) version 2
* System shutdown and reset functions.
* Author: Linus Walleij <linus.walleij@stericsson.com>
*/
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
arch/arm/mach-ux500/devices-common.c
浏览文件 @
c15a0433
...
...
@@ -26,29 +26,22 @@ dbx500_add_amba_device(const char *name, resource_size_t base,
struct
amba_device
*
dev
;
int
ret
;
dev
=
kzalloc
(
sizeof
*
dev
,
GFP_KERNEL
);
dev
=
amba_device_alloc
(
name
,
base
,
SZ_4K
);
if
(
!
dev
)
return
ERR_PTR
(
-
ENOMEM
);
dev
->
dev
.
init_name
=
name
;
dev
->
res
.
start
=
base
;
dev
->
res
.
end
=
base
+
SZ_4K
-
1
;
dev
->
res
.
flags
=
IORESOURCE_MEM
;
dev
->
dma_mask
=
DMA_BIT_MASK
(
32
);
dev
->
dev
.
coherent_dma_mask
=
DMA_BIT_MASK
(
32
);
dev
->
irq
[
0
]
=
irq
;
dev
->
irq
[
1
]
=
NO_IRQ
;
dev
->
periphid
=
periphid
;
dev
->
dev
.
platform_data
=
pdata
;
ret
=
amba_device_
register
(
dev
,
&
iomem_resource
);
ret
=
amba_device_
add
(
dev
,
&
iomem_resource
);
if
(
ret
)
{
kfree
(
dev
);
amba_device_put
(
dev
);
return
ERR_PTR
(
ret
);
}
...
...
arch/arm/mach-ux500/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* Copyright (C) 2009 ST-Ericsson.
*
* 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.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
/*
* This should do all the clock switching
* and wait for interrupt tricks
*/
cpu_do_idle
();
}
#endif
arch/arm/mach-versatile/core.c
浏览文件 @
c15a0433
...
...
@@ -582,58 +582,58 @@ static struct pl022_ssp_controller ssp0_plat_data = {
.
num_chipselect
=
1
,
};
#define AACI_IRQ { IRQ_AACI
, NO_IRQ
}
#define AACI_IRQ { IRQ_AACI }
#define MMCI0_IRQ { IRQ_MMCI0A,IRQ_SIC_MMCI0B }
#define KMI0_IRQ { IRQ_SIC_KMI0
, NO_IRQ
}
#define KMI1_IRQ { IRQ_SIC_KMI1
, NO_IRQ
}
#define KMI0_IRQ { IRQ_SIC_KMI0 }
#define KMI1_IRQ { IRQ_SIC_KMI1 }
/*
* These devices are connected directly to the multi-layer AHB switch
*/
#define SMC_IRQ {
NO_IRQ, NO_IRQ
}
#define MPMC_IRQ {
NO_IRQ, NO_IRQ
}
#define CLCD_IRQ { IRQ_CLCDINT
, NO_IRQ
}
#define DMAC_IRQ { IRQ_DMAINT
, NO_IRQ
}
#define SMC_IRQ { }
#define MPMC_IRQ { }
#define CLCD_IRQ { IRQ_CLCDINT }
#define DMAC_IRQ { IRQ_DMAINT }
/*
* These devices are connected via the core APB bridge
*/
#define SCTL_IRQ {
NO_IRQ, NO_IRQ
}
#define WATCHDOG_IRQ { IRQ_WDOGINT
, NO_IRQ
}
#define GPIO0_IRQ { IRQ_GPIOINT0
, NO_IRQ
}
#define GPIO1_IRQ { IRQ_GPIOINT1
, NO_IRQ
}
#define RTC_IRQ { IRQ_RTCINT
, NO_IRQ
}
#define SCTL_IRQ { }
#define WATCHDOG_IRQ { IRQ_WDOGINT }
#define GPIO0_IRQ { IRQ_GPIOINT0 }
#define GPIO1_IRQ { IRQ_GPIOINT1 }
#define RTC_IRQ { IRQ_RTCINT }
/*
* These devices are connected via the DMA APB bridge
*/
#define SCI_IRQ { IRQ_SCIINT
, NO_IRQ
}
#define UART0_IRQ { IRQ_UARTINT0
, NO_IRQ
}
#define UART1_IRQ { IRQ_UARTINT1
, NO_IRQ
}
#define UART2_IRQ { IRQ_UARTINT2
, NO_IRQ
}
#define SSP_IRQ { IRQ_SSPINT
, NO_IRQ
}
#define SCI_IRQ { IRQ_SCIINT }
#define UART0_IRQ { IRQ_UARTINT0 }
#define UART1_IRQ { IRQ_UARTINT1 }
#define UART2_IRQ { IRQ_UARTINT2 }
#define SSP_IRQ { IRQ_SSPINT }
/* FPGA Primecells */
A
MBA
_DEVICE
(
aaci
,
"fpga:04"
,
AACI
,
NULL
);
A
MBA
_DEVICE
(
mmc0
,
"fpga:05"
,
MMCI0
,
&
mmc0_plat_data
);
A
MBA
_DEVICE
(
kmi0
,
"fpga:06"
,
KMI0
,
NULL
);
A
MBA
_DEVICE
(
kmi1
,
"fpga:07"
,
KMI1
,
NULL
);
A
PB
_DEVICE
(
aaci
,
"fpga:04"
,
AACI
,
NULL
);
A
PB
_DEVICE
(
mmc0
,
"fpga:05"
,
MMCI0
,
&
mmc0_plat_data
);
A
PB
_DEVICE
(
kmi0
,
"fpga:06"
,
KMI0
,
NULL
);
A
PB
_DEVICE
(
kmi1
,
"fpga:07"
,
KMI1
,
NULL
);
/* DevChip Primecells */
A
MBA
_DEVICE
(
smc
,
"dev:00"
,
SMC
,
NULL
);
A
MBA
_DEVICE
(
mpmc
,
"dev:10"
,
MPMC
,
NULL
);
A
MBA
_DEVICE
(
clcd
,
"dev:20"
,
CLCD
,
&
clcd_plat_data
);
A
MBA
_DEVICE
(
dmac
,
"dev:30"
,
DMAC
,
NULL
);
A
MBA
_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
A
MBA
_DEVICE
(
wdog
,
"dev:e1"
,
WATCHDOG
,
NULL
);
A
MBA
_DEVICE
(
gpio0
,
"dev:e4"
,
GPIO0
,
&
gpio0_plat_data
);
A
MBA
_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
A
MBA
_DEVICE
(
rtc
,
"dev:e8"
,
RTC
,
NULL
);
A
MBA
_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
A
MBA
_DEVICE
(
uart0
,
"dev:f1"
,
UART0
,
NULL
);
A
MBA
_DEVICE
(
uart1
,
"dev:f2"
,
UART1
,
NULL
);
A
MBA
_DEVICE
(
uart2
,
"dev:f3"
,
UART2
,
NULL
);
A
MBA
_DEVICE
(
ssp0
,
"dev:f4"
,
SSP
,
&
ssp0_plat_data
);
A
HB
_DEVICE
(
smc
,
"dev:00"
,
SMC
,
NULL
);
A
HB
_DEVICE
(
mpmc
,
"dev:10"
,
MPMC
,
NULL
);
A
HB
_DEVICE
(
clcd
,
"dev:20"
,
CLCD
,
&
clcd_plat_data
);
A
HB
_DEVICE
(
dmac
,
"dev:30"
,
DMAC
,
NULL
);
A
PB
_DEVICE
(
sctl
,
"dev:e0"
,
SCTL
,
NULL
);
A
PB
_DEVICE
(
wdog
,
"dev:e1"
,
WATCHDOG
,
NULL
);
A
PB
_DEVICE
(
gpio0
,
"dev:e4"
,
GPIO0
,
&
gpio0_plat_data
);
A
PB
_DEVICE
(
gpio1
,
"dev:e5"
,
GPIO1
,
&
gpio1_plat_data
);
A
PB
_DEVICE
(
rtc
,
"dev:e8"
,
RTC
,
NULL
);
A
PB
_DEVICE
(
sci0
,
"dev:f0"
,
SCI
,
NULL
);
A
PB
_DEVICE
(
uart0
,
"dev:f1"
,
UART0
,
NULL
);
A
PB
_DEVICE
(
uart1
,
"dev:f2"
,
UART1
,
NULL
);
A
PB
_DEVICE
(
uart2
,
"dev:f3"
,
UART2
,
NULL
);
A
PB
_DEVICE
(
ssp0
,
"dev:f4"
,
SSP
,
&
ssp0_plat_data
);
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
dmac_device
,
...
...
arch/arm/mach-versatile/core.h
浏览文件 @
c15a0433
...
...
@@ -36,20 +36,10 @@ extern unsigned int mmc_status(struct device *dev);
extern
struct
of_dev_auxdata
versatile_auxdata_lookup
[];
#endif
#define AMBA_DEVICE(name,busid,base,plat) \
static struct amba_device name##_device = { \
.dev = { \
.coherent_dma_mask = ~0, \
.init_name = busid, \
.platform_data = plat, \
}, \
.res = { \
.start = VERSATILE_##base##_BASE, \
.end = (VERSATILE_##base##_BASE) + SZ_4K - 1,\
.flags = IORESOURCE_MEM, \
}, \
.dma_mask = ~0, \
.irq = base##_IRQ, \
}
#define APB_DEVICE(name, busid, base, plat) \
static AMBA_APB_DEVICE(name, busid, 0, VERSATILE_##base##_BASE, base##_IRQ, plat)
#define AHB_DEVICE(name, busid, base, plat) \
static AMBA_AHB_DEVICE(name, busid, 0, VERSATILE_##base##_BASE, base##_IRQ, plat)
#endif
arch/arm/mach-versatile/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-versatile/include/mach/system.h
*
* Copyright (C) 2003 ARM Limited
* Copyright (C) 2000 Deep Blue Solutions Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
/*
* This should do all the clock switching
* and wait for interrupt tricks
*/
cpu_do_idle
();
}
#endif
arch/arm/mach-versatile/versatile_pb.c
浏览文件 @
c15a0433
...
...
@@ -58,28 +58,28 @@ static struct pl061_platform_data gpio3_plat_data = {
.
irq_base
=
IRQ_GPIO3_START
,
};
#define UART3_IRQ { IRQ_SIC_UART3
, NO_IRQ
}
#define SCI1_IRQ { IRQ_SIC_SCI3
, NO_IRQ
}
#define UART3_IRQ { IRQ_SIC_UART3 }
#define SCI1_IRQ { IRQ_SIC_SCI3 }
#define MMCI1_IRQ { IRQ_MMCI1A, IRQ_SIC_MMCI1B }
/*
* These devices are connected via the core APB bridge
*/
#define GPIO2_IRQ { IRQ_GPIOINT2
, NO_IRQ
}
#define GPIO3_IRQ { IRQ_GPIOINT3
, NO_IRQ
}
#define GPIO2_IRQ { IRQ_GPIOINT2 }
#define GPIO3_IRQ { IRQ_GPIOINT3 }
/*
* These devices are connected via the DMA APB bridge
*/
/* FPGA Primecells */
A
MBA
_DEVICE
(
uart3
,
"fpga:09"
,
UART3
,
NULL
);
A
MBA
_DEVICE
(
sci1
,
"fpga:0a"
,
SCI1
,
NULL
);
A
MBA
_DEVICE
(
mmc1
,
"fpga:0b"
,
MMCI1
,
&
mmc1_plat_data
);
A
PB
_DEVICE
(
uart3
,
"fpga:09"
,
UART3
,
NULL
);
A
PB
_DEVICE
(
sci1
,
"fpga:0a"
,
SCI1
,
NULL
);
A
PB
_DEVICE
(
mmc1
,
"fpga:0b"
,
MMCI1
,
&
mmc1_plat_data
);
/* DevChip Primecells */
A
MBA
_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
A
MBA
_DEVICE
(
gpio3
,
"dev:e7"
,
GPIO3
,
&
gpio3_plat_data
);
A
PB
_DEVICE
(
gpio2
,
"dev:e6"
,
GPIO2
,
&
gpio2_plat_data
);
A
PB
_DEVICE
(
gpio3
,
"dev:e7"
,
GPIO3
,
&
gpio3_plat_data
);
static
struct
amba_device
*
amba_devs
[]
__initdata
=
{
&
uart3_device
,
...
...
arch/arm/mach-vexpress/core.h
浏览文件 @
c15a0433
#define __MMIO_P2V(x) (((x) & 0xfffff) | (((x) & 0x0f000000) >> 4) | 0xf8000000)
#define MMIO_P2V(x) ((void __iomem *)__MMIO_P2V(x))
#define AMBA_DEVICE(name,busid,base,plat) \
struct amba_device name##_device = { \
.dev = { \
.coherent_dma_mask = ~0UL, \
.init_name = busid, \
.platform_data = plat, \
}, \
.res = { \
.start = base, \
.end = base + SZ_4K - 1, \
.flags = IORESOURCE_MEM, \
}, \
.dma_mask = ~0UL, \
.irq = IRQ_##base, \
/* .dma = DMA_##base,*/
\
}
arch/arm/mach-vexpress/ct-ca9x4.c
浏览文件 @
c15a0433
...
...
@@ -109,10 +109,10 @@ static struct clcd_board ct_ca9x4_clcd_data = {
.
remove
=
versatile_clcd_remove_dma
,
};
static
AMBA_
DEVICE
(
clcd
,
"ct:clcd"
,
CT_CA9X4_CLCDC
,
&
ct_ca9x4_clcd_data
);
static
AMBA_
DEVICE
(
dmc
,
"ct:dmc"
,
CT_CA9X4_DMC
,
NULL
);
static
AMBA_
DEVICE
(
smc
,
"ct:smc"
,
CT_CA9X4_SMC
,
NULL
);
static
AMBA_
DEVICE
(
gpio
,
"ct:gpio"
,
CT_CA9X4_GPIO
,
NULL
);
static
AMBA_
AHB_DEVICE
(
clcd
,
"ct:clcd"
,
0
,
CT_CA9X4_CLCDC
,
IRQ_
CT_CA9X4_CLCDC
,
&
ct_ca9x4_clcd_data
);
static
AMBA_
APB_DEVICE
(
dmc
,
"ct:dmc"
,
0
,
CT_CA9X4_DMC
,
IRQ_
CT_CA9X4_DMC
,
NULL
);
static
AMBA_
APB_DEVICE
(
smc
,
"ct:smc"
,
0
,
CT_CA9X4_SMC
,
IRQ_
CT_CA9X4_SMC
,
NULL
);
static
AMBA_
APB_DEVICE
(
gpio
,
"ct:gpio"
,
0
,
CT_CA9X4_GPIO
,
IRQ_
CT_CA9X4_GPIO
,
NULL
);
static
struct
amba_device
*
ct_ca9x4_amba_devs
[]
__initdata
=
{
&
clcd_device
,
...
...
arch/arm/mach-vexpress/include/mach/ct-ca9x4.h
浏览文件 @
c15a0433
...
...
@@ -35,7 +35,7 @@
* Interrupts. Those in {} are for AMBA devices
*/
#define IRQ_CT_CA9X4_CLCDC { 76 }
#define IRQ_CT_CA9X4_DMC {
-1
}
#define IRQ_CT_CA9X4_DMC {
0
}
#define IRQ_CT_CA9X4_SMC { 77, 78 }
#define IRQ_CT_CA9X4_TIMER0 80
#define IRQ_CT_CA9X4_TIMER1 81
...
...
arch/arm/mach-vexpress/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-vexpress/include/mach/system.h
*
* Copyright (C) 2003 ARM Limited
* Copyright (C) 2000 Deep Blue Solutions Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
/*
* This should do all the clock switching
* and wait for interrupt tricks
*/
cpu_do_idle
();
}
#endif
arch/arm/mach-vexpress/v2m.c
浏览文件 @
c15a0433
...
...
@@ -266,16 +266,16 @@ static struct mmci_platform_data v2m_mmci_data = {
.
status
=
v2m_mmci_status
,
};
static
AMBA_
DEVICE
(
aaci
,
"mb:aaci"
,
V2M_AACI
,
NULL
);
static
AMBA_
DEVICE
(
mmci
,
"mb:mmci"
,
V2M_MMCI
,
&
v2m_mmci_data
);
static
AMBA_
DEVICE
(
kmi0
,
"mb:kmi0"
,
V2M_KMI0
,
NULL
);
static
AMBA_
DEVICE
(
kmi1
,
"mb:kmi1"
,
V2M_KMI1
,
NULL
);
static
AMBA_
DEVICE
(
uart0
,
"mb:uart0"
,
V2M_UART0
,
NULL
);
static
AMBA_
DEVICE
(
uart1
,
"mb:uart1"
,
V2M_UART1
,
NULL
);
static
AMBA_
DEVICE
(
uart2
,
"mb:uart2"
,
V2M_UART2
,
NULL
);
static
AMBA_
DEVICE
(
uart3
,
"mb:uart3"
,
V2M_UART3
,
NULL
);
static
AMBA_
DEVICE
(
wdt
,
"mb:wdt"
,
V2M_WDT
,
NULL
);
static
AMBA_
DEVICE
(
rtc
,
"mb:rtc"
,
V2M_RTC
,
NULL
);
static
AMBA_
APB_DEVICE
(
aaci
,
"mb:aaci"
,
0
,
V2M_AACI
,
IRQ_
V2M_AACI
,
NULL
);
static
AMBA_
APB_DEVICE
(
mmci
,
"mb:mmci"
,
0
,
V2M_MMCI
,
IRQ_
V2M_MMCI
,
&
v2m_mmci_data
);
static
AMBA_
APB_DEVICE
(
kmi0
,
"mb:kmi0"
,
0
,
V2M_KMI0
,
IRQ_
V2M_KMI0
,
NULL
);
static
AMBA_
APB_DEVICE
(
kmi1
,
"mb:kmi1"
,
0
,
V2M_KMI1
,
IRQ_
V2M_KMI1
,
NULL
);
static
AMBA_
APB_DEVICE
(
uart0
,
"mb:uart0"
,
0
,
V2M_UART0
,
IRQ_
V2M_UART0
,
NULL
);
static
AMBA_
APB_DEVICE
(
uart1
,
"mb:uart1"
,
0
,
V2M_UART1
,
IRQ_
V2M_UART1
,
NULL
);
static
AMBA_
APB_DEVICE
(
uart2
,
"mb:uart2"
,
0
,
V2M_UART2
,
IRQ_
V2M_UART2
,
NULL
);
static
AMBA_
APB_DEVICE
(
uart3
,
"mb:uart3"
,
0
,
V2M_UART3
,
IRQ_
V2M_UART3
,
NULL
);
static
AMBA_
APB_DEVICE
(
wdt
,
"mb:wdt"
,
0
,
V2M_WDT
,
IRQ_
V2M_WDT
,
NULL
);
static
AMBA_
APB_DEVICE
(
rtc
,
"mb:rtc"
,
0
,
V2M_RTC
,
IRQ_
V2M_RTC
,
NULL
);
static
struct
amba_device
*
v2m_amba_devs
[]
__initdata
=
{
&
aaci_device
,
...
...
arch/arm/mach-vt8500/include/mach/system.h
浏览文件 @
c15a0433
...
...
@@ -7,11 +7,6 @@
/* PM Software Reset request register */
#define VT8500_PMSR_VIRT 0xf8130060
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
static
inline
void
arch_reset
(
char
mode
,
const
char
*
cmd
)
{
writel
(
1
,
VT8500_PMSR_VIRT
);
...
...
arch/arm/mach-w90x900/dev.c
浏览文件 @
c15a0433
...
...
@@ -530,6 +530,7 @@ static struct platform_device *nuc900_public_dev[] __initdata = {
void
__init
nuc900_board_init
(
struct
platform_device
**
device
,
int
size
)
{
disable_hlt
();
platform_add_devices
(
device
,
size
);
platform_add_devices
(
nuc900_public_dev
,
ARRAY_SIZE
(
nuc900_public_dev
));
spi_register_board_info
(
nuc900_spi_board_info
,
...
...
arch/arm/mach-w90x900/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/mach-w90x900/include/mach/system.h
*
* Copyright (c) 2008 Nuvoton technology corporation
* All rights reserved.
*
* Wan ZongShun <mcuos.com@gmail.com>
*
* Based on arch/arm/mach-s3c2410/include/mach/system.h
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*/
static
void
arch_idle
(
void
)
{
}
arch/arm/mach-zynq/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/* arch/arm/mach-zynq/include/mach/system.h
*
* Copyright (C) 2011 Xilinx
*
* This software is licensed under the terms of the GNU General Public
* License version 2, as published by the Free Software Foundation, and
* may be copied, distributed, and modified under those terms.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __MACH_SYSTEM_H__
#define __MACH_SYSTEM_H__
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/plat-mxc/include/mach/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* Copyright (C) 1999 ARM Limited
* Copyright (C) 2000 Deep Blue Solutions Ltd
* Copyright 2004-2008 Freescale Semiconductor, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __ASM_ARCH_MXC_SYSTEM_H__
#define __ASM_ARCH_MXC_SYSTEM_H__
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
/* __ASM_ARCH_MXC_SYSTEM_H__ */
arch/arm/plat-omap/include/plat/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* Copied from arch/arm/mach-sa1100/include/mach/system.h
* Copyright (c) 1999 Nicolas Pitre <nico@fluxnic.net>
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
#include <asm/proc-fns.h>
static
inline
void
arch_idle
(
void
)
{
cpu_do_idle
();
}
#endif
arch/arm/plat-s3c24xx/cpu.c
浏览文件 @
c15a0433
...
...
@@ -32,6 +32,7 @@
#include <linux/io.h>
#include <mach/hardware.h>
#include <mach/regs-clock.h>
#include <asm/irq.h>
#include <asm/cacheflush.h>
...
...
@@ -190,8 +191,34 @@ static unsigned long s3c24xx_read_idcode_v4(void)
return
__raw_readl
(
S3C2410_GSTATUS1
);
}
static
void
s3c24xx_default_idle
(
void
)
{
unsigned
long
tmp
;
int
i
;
/* idle the system by using the idle mode which will wait for an
* interrupt to happen before restarting the system.
*/
/* Warning: going into idle state upsets jtag scanning */
__raw_writel
(
__raw_readl
(
S3C2410_CLKCON
)
|
S3C2410_CLKCON_IDLE
,
S3C2410_CLKCON
);
/* the samsung port seems to do a loop and then unset idle.. */
for
(
i
=
0
;
i
<
50
;
i
++
)
tmp
+=
__raw_readl
(
S3C2410_CLKCON
);
/* ensure loop not optimised out */
/* this bit is not cleared on re-start... */
__raw_writel
(
__raw_readl
(
S3C2410_CLKCON
)
&
~
S3C2410_CLKCON_IDLE
,
S3C2410_CLKCON
);
}
void
__init
s3c24xx_init_io
(
struct
map_desc
*
mach_desc
,
int
size
)
{
arm_pm_idle
=
s3c24xx_default_idle
;
/* initialise the io descriptors we need for initialisation */
iotable_init
(
mach_desc
,
size
);
iotable_init
(
s3c_iodesc
,
ARRAY_SIZE
(
s3c_iodesc
));
...
...
arch/arm/plat-s3c24xx/s3c2443-clock.c
浏览文件 @
c15a0433
...
...
@@ -53,7 +53,7 @@ int s3c2443_clkcon_enable_s(struct clk *clk, int enable)
* elided as the EPLL can be either sourced by the XTAL or EXTCLK and as
* such directly equating the two source clocks is impossible.
*/
struct
clk
clk_mpllref
=
{
st
atic
st
ruct
clk
clk_mpllref
=
{
.
name
=
"mpllref"
,
.
parent
=
&
clk_xtal
,
};
...
...
arch/arm/plat-s5p/irq-eint.c
浏览文件 @
c15a0433
...
...
@@ -200,7 +200,7 @@ static struct irq_chip s5p_irq_vic_eint = {
#endif
};
int
__init
s5p_init_irq_eint
(
void
)
static
int
__init
s5p_init_irq_eint
(
void
)
{
int
irq
;
...
...
arch/arm/plat-s5p/irq-gpioint.c
浏览文件 @
c15a0433
...
...
@@ -41,7 +41,7 @@ struct s5p_gpioint_bank {
void
(
*
handler
)(
unsigned
int
,
struct
irq_desc
*
);
};
LIST_HEAD
(
banks
);
static
LIST_HEAD
(
banks
);
static
int
s5p_gpioint_set_type
(
struct
irq_data
*
d
,
unsigned
int
type
)
{
...
...
arch/arm/plat-samsung/devs.c
浏览文件 @
c15a0433
...
...
@@ -744,17 +744,6 @@ struct platform_device s3c_device_iis = {
};
#endif
/* CONFIG_PLAT_S3C24XX */
#ifdef CONFIG_CPU_S3C2440
struct
platform_device
s3c2412_device_iis
=
{
.
name
=
"s3c2412-iis"
,
.
id
=
-
1
,
.
dev
=
{
.
dma_mask
=
&
samsung_device_dma_mask
,
.
coherent_dma_mask
=
DMA_BIT_MASK
(
32
),
}
};
#endif
/* CONFIG_CPU_S3C2440 */
/* IDE CFCON */
#ifdef CONFIG_SAMSUNG_DEV_IDE
...
...
@@ -1078,7 +1067,7 @@ static struct resource s5p_pmu_resource[] = {
DEFINE_RES_IRQ
(
IRQ_PMU
)
};
struct
platform_device
s5p_device_pmu
=
{
st
atic
st
ruct
platform_device
s5p_device_pmu
=
{
.
name
=
"arm-pmu"
,
.
id
=
ARM_PMU_DEVICE_CPU
,
.
num_resources
=
ARRAY_SIZE
(
s5p_pmu_resource
),
...
...
arch/arm/plat-samsung/dma-ops.c
浏览文件 @
c15a0433
...
...
@@ -116,7 +116,7 @@ static inline int samsung_dmadev_flush(unsigned ch)
return
dmaengine_terminate_all
((
struct
dma_chan
*
)
ch
);
}
struct
samsung_dma_ops
dmadev_ops
=
{
st
atic
st
ruct
samsung_dma_ops
dmadev_ops
=
{
.
request
=
samsung_dmadev_request
,
.
release
=
samsung_dmadev_release
,
.
prepare
=
samsung_dmadev_prepare
,
...
...
arch/arm/plat-spear/include/plat/system.h
已删除
100644 → 0
浏览文件 @
192cfd58
/*
* arch/arm/plat-spear/include/plat/system.h
*
* SPEAr platform specific architecture functions
*
* Copyright (C) 2009 ST Microelectronics
* Viresh Kumar<viresh.kumar@st.com>
*
* 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.
*/
#ifndef __PLAT_SYSTEM_H
#define __PLAT_SYSTEM_H
static
inline
void
arch_idle
(
void
)
{
/*
* This should do all the clock switching
* and wait for interrupt tricks
*/
cpu_do_idle
();
}
#endif
/* __PLAT_SYSTEM_H */
drivers/amba/bus.c
浏览文件 @
c15a0433
...
...
@@ -497,37 +497,22 @@ static void amba_device_release(struct device *dev)
}
/**
* amba_device_
register - register an AMBA devic
e
* @dev: AMBA device
to register
* @parent:
parent memory resource
* amba_device_
add - add a previously allocated AMBA device structur
e
* @dev: AMBA device
allocated by amba_device_alloc
* @parent:
resource parent for this devices resources
*
*
Setup the AMBA device, reading the cell ID if present.
*
Claim the resource, and register the AMBA device with
*
the Linux device
manager.
*
Claim the resource, and read the device cell ID if not already
*
initialized. Register the AMBA device with the Linux device
* manager.
*/
int
amba_device_
register
(
struct
amba_device
*
dev
,
struct
resource
*
parent
)
int
amba_device_
add
(
struct
amba_device
*
dev
,
struct
resource
*
parent
)
{
u32
size
;
void
__iomem
*
tmp
;
int
i
,
ret
;
device_initialize
(
&
dev
->
dev
);
/*
* Copy from device_add
*/
if
(
dev
->
dev
.
init_name
)
{
dev_set_name
(
&
dev
->
dev
,
"%s"
,
dev
->
dev
.
init_name
);
dev
->
dev
.
init_name
=
NULL
;
}
dev
->
dev
.
release
=
amba_device_release
;
dev
->
dev
.
bus
=
&
amba_bustype
;
dev
->
dev
.
dma_mask
=
&
dev
->
dma_mask
;
dev
->
res
.
name
=
dev_name
(
&
dev
->
dev
);
if
(
!
dev
->
dev
.
coherent_dma_mask
&&
dev
->
dma_mask
)
dev_warn
(
&
dev
->
dev
,
"coherent dma mask is unset
\n
"
);
WARN_ON
(
dev
->
irq
[
0
]
==
(
unsigned
int
)
-
1
);
WARN_ON
(
dev
->
irq
[
1
]
==
(
unsigned
int
)
-
1
);
ret
=
request_resource
(
parent
,
&
dev
->
res
);
if
(
ret
)
...
...
@@ -582,9 +567,9 @@ int amba_device_register(struct amba_device *dev, struct resource *parent)
if
(
ret
)
goto
err_release
;
if
(
dev
->
irq
[
0
]
!=
NO_IRQ
)
if
(
dev
->
irq
[
0
]
&&
dev
->
irq
[
0
]
!=
NO_IRQ
)
ret
=
device_create_file
(
&
dev
->
dev
,
&
dev_attr_irq0
);
if
(
ret
==
0
&&
dev
->
irq
[
1
]
!=
NO_IRQ
)
if
(
ret
==
0
&&
dev
->
irq
[
1
]
&&
dev
->
irq
[
1
]
!=
NO_IRQ
)
ret
=
device_create_file
(
&
dev
->
dev
,
&
dev_attr_irq1
);
if
(
ret
==
0
)
return
ret
;
...
...
@@ -596,6 +581,74 @@ int amba_device_register(struct amba_device *dev, struct resource *parent)
err_out:
return
ret
;
}
EXPORT_SYMBOL_GPL
(
amba_device_add
);
static
void
amba_device_initialize
(
struct
amba_device
*
dev
,
const
char
*
name
)
{
device_initialize
(
&
dev
->
dev
);
if
(
name
)
dev_set_name
(
&
dev
->
dev
,
"%s"
,
name
);
dev
->
dev
.
release
=
amba_device_release
;
dev
->
dev
.
bus
=
&
amba_bustype
;
dev
->
dev
.
dma_mask
=
&
dev
->
dma_mask
;
dev
->
res
.
name
=
dev_name
(
&
dev
->
dev
);
}
/**
* amba_device_alloc - allocate an AMBA device
* @name: sysfs name of the AMBA device
* @base: base of AMBA device
* @size: size of AMBA device
*
* Allocate and initialize an AMBA device structure. Returns %NULL
* on failure.
*/
struct
amba_device
*
amba_device_alloc
(
const
char
*
name
,
resource_size_t
base
,
size_t
size
)
{
struct
amba_device
*
dev
;
dev
=
kzalloc
(
sizeof
(
*
dev
),
GFP_KERNEL
);
if
(
dev
)
{
amba_device_initialize
(
dev
,
name
);
dev
->
res
.
start
=
base
;
dev
->
res
.
end
=
base
+
size
-
1
;
dev
->
res
.
flags
=
IORESOURCE_MEM
;
}
return
dev
;
}
EXPORT_SYMBOL_GPL
(
amba_device_alloc
);
/**
* amba_device_register - register an AMBA device
* @dev: AMBA device to register
* @parent: parent memory resource
*
* Setup the AMBA device, reading the cell ID if present.
* Claim the resource, and register the AMBA device with
* the Linux device manager.
*/
int
amba_device_register
(
struct
amba_device
*
dev
,
struct
resource
*
parent
)
{
amba_device_initialize
(
dev
,
dev
->
dev
.
init_name
);
dev
->
dev
.
init_name
=
NULL
;
if
(
!
dev
->
dev
.
coherent_dma_mask
&&
dev
->
dma_mask
)
dev_warn
(
&
dev
->
dev
,
"coherent dma mask is unset
\n
"
);
return
amba_device_add
(
dev
,
parent
);
}
/**
* amba_device_put - put an AMBA device
* @dev: AMBA device to put
*/
void
amba_device_put
(
struct
amba_device
*
dev
)
{
put_device
(
&
dev
->
dev
);
}
EXPORT_SYMBOL_GPL
(
amba_device_put
);
/**
* amba_device_unregister - unregister an AMBA device
...
...
drivers/mmc/host/mmci.c
浏览文件 @
c15a0433
...
...
@@ -1325,7 +1325,7 @@ static int __devinit mmci_probe(struct amba_device *dev,
if
(
ret
)
goto
unmap
;
if
(
dev
->
irq
[
1
]
==
NO_IRQ
)
if
(
dev
->
irq
[
1
]
==
NO_IRQ
||
!
dev
->
irq
[
1
]
)
host
->
singleirq
=
true
;
else
{
ret
=
request_irq
(
dev
->
irq
[
1
],
mmci_pio_irq
,
IRQF_SHARED
,
...
...
drivers/of/platform.c
浏览文件 @
c15a0433
...
...
@@ -253,7 +253,7 @@ static struct amba_device *of_amba_device_create(struct device_node *node,
if
(
!
of_device_is_available
(
node
))
return
NULL
;
dev
=
kzalloc
(
sizeof
(
*
dev
),
GFP_KERNEL
);
dev
=
amba_device_alloc
(
NULL
,
0
,
0
);
if
(
!
dev
)
return
NULL
;
...
...
@@ -283,14 +283,14 @@ static struct amba_device *of_amba_device_create(struct device_node *node,
if
(
ret
)
goto
err_free
;
ret
=
amba_device_
register
(
dev
,
&
iomem_resource
);
ret
=
amba_device_
add
(
dev
,
&
iomem_resource
);
if
(
ret
)
goto
err_free
;
return
dev
;
err_free:
kfree
(
dev
);
amba_device_put
(
dev
);
return
NULL
;
}
#else
/* CONFIG_ARM_AMBA */
...
...
include/linux/amba/bus.h
浏览文件 @
c15a0433
...
...
@@ -60,6 +60,9 @@ extern struct bus_type amba_bustype;
int
amba_driver_register
(
struct
amba_driver
*
);
void
amba_driver_unregister
(
struct
amba_driver
*
);
struct
amba_device
*
amba_device_alloc
(
const
char
*
,
resource_size_t
,
size_t
);
void
amba_device_put
(
struct
amba_device
*
);
int
amba_device_add
(
struct
amba_device
*
,
struct
resource
*
);
int
amba_device_register
(
struct
amba_device
*
,
struct
resource
*
);
void
amba_device_unregister
(
struct
amba_device
*
);
struct
amba_device
*
amba_find_device
(
const
char
*
,
struct
device
*
,
unsigned
int
,
unsigned
int
);
...
...
@@ -89,4 +92,37 @@ void amba_release_regions(struct amba_device *);
#define amba_manf(d) AMBA_MANF_BITS((d)->periphid)
#define amba_part(d) AMBA_PART_BITS((d)->periphid)
#define __AMBA_DEV(busid, data, mask) \
{ \
.coherent_dma_mask = mask, \
.init_name = busid, \
.platform_data = data, \
}
/*
* APB devices do not themselves have the ability to address memory,
* so DMA masks should be zero (much like USB peripheral devices.)
* The DMA controller DMA masks should be used instead (much like
* USB host controllers in conventional PCs.)
*/
#define AMBA_APB_DEVICE(name, busid, id, base, irqs, data) \
struct amba_device name##_device = { \
.dev = __AMBA_DEV(busid, data, 0), \
.res = DEFINE_RES_MEM(base, SZ_4K), \
.irq = irqs, \
.periphid = id, \
}
/*
* AHB devices are DMA capable, so set their DMA masks
*/
#define AMBA_AHB_DEVICE(name, busid, id, base, irqs, data) \
struct amba_device name##_device = { \
.dev = __AMBA_DEV(busid, data, ~0ULL), \
.res = DEFINE_RES_MEM(base, SZ_4K), \
.dma_mask = ~0ULL, \
.irq = irqs, \
.periphid = id, \
}
#endif
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录