我将mini210s光盘里linux-3.0.8源码下的mini210-1wire-host.c复制到linux-3.14.34目录下,修改Makefile和Kconfig,
obj-$(CONFIG_TOUCHSCREEN_1WIRE) += mini210_1wire_host.o
obj-$(CONFIG_TOUCHSCREEN_IF) += ts-if.o
config TOUCHSCREEN_1WIRE
tristate "Mini210 1-Wire host and Touch Screen Driver"
depends on MACH_MINI210
help
Say Y here to enable the 1-Wire host and Touch Screen driver for
FriendlyARM Mini210 development board.
If unsure, say N.
To compile this driver as a module, choose M here: the
module will be called mini210_1wire_host.
config TOUCHSCREEN_IF
bool
default y if TOUCHSCREEN_1WIRE
添加板级支持
static struct platform_device s3c_device_1wire = {
.name = "mini210_1wire",
.id = -1,
.num_resources = 0,
};
static struct platform_device *mini210_devices[] __initdata = {
……
& s3c_device_1wire,
};
编译、下载、运行。发现1-wire Timer Tick执行了一会就停止了(这里是一次,有时候是十几次,基本上没有超过40次的),请问这是什么原因,还需要对linux内核做什么配置吗?
[root@mini210s]#cat /proc/interrupts
CPU0
39: 0 s5p_vic_eint 7 eth0
51: 0 VIC 19 dma-pl330.0
52: 0 VIC 20 dma-pl330.1
55: 948 VIC 23 samsung_time_irq
56: 1 VIC 24 1-wire Timer Tick
74: 42 VIC 10 s5pv210-uart
97: 0 VIC 1 s3c_fb
Err: 0
[root@mini210s]#cat /proc/interrupts
CPU0
39: 0 s5p_vic_eint 7 eth0
51: 0 VIC 19 dma-pl330.0
52: 0 VIC 20 dma-pl330.1
55: 1046 VIC 23 samsung_time_irq
56: 1 VIC 24 1-wire Timer Tick
74: 52 VIC 10 s5pv210-uart
97: 0 VIC 1 s3c_fb
Err: 0
[root@mini210s]#