Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
fc773668
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
fc773668
编写于
12月 13, 2009
作者:
R
Russell King
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' into devel
上级
bc7ecbcb
9074e144
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
134 addition
and
85 deletion
+134
-85
arch/arm/Kconfig
arch/arm/Kconfig
+1
-4
arch/arm/mach-clps711x/include/mach/memory.h
arch/arm/mach-clps711x/include/mach/memory.h
+2
-0
arch/arm/mach-footbridge/common.c
arch/arm/mach-footbridge/common.c
+19
-3
arch/arm/mach-footbridge/include/mach/memory.h
arch/arm/mach-footbridge/include/mach/memory.h
+9
-6
arch/arm/mach-integrator/include/mach/memory.h
arch/arm/mach-integrator/include/mach/memory.h
+2
-1
arch/arm/mach-ixp2000/include/mach/memory.h
arch/arm/mach-ixp2000/include/mach/memory.h
+8
-4
arch/arm/mach-ixp23xx/include/mach/memory.h
arch/arm/mach-ixp23xx/include/mach/memory.h
+9
-10
arch/arm/mach-lh7a40x/clocks.c
arch/arm/mach-lh7a40x/clocks.c
+0
-8
arch/arm/mach-s3c24a0/include/mach/memory.h
arch/arm/mach-s3c24a0/include/mach/memory.h
+2
-0
arch/arm/mach-sa1100/Kconfig
arch/arm/mach-sa1100/Kconfig
+13
-0
arch/arm/mach-sa1100/generic.c
arch/arm/mach-sa1100/generic.c
+0
-12
arch/arm/vfp/vfpmodule.c
arch/arm/vfp/vfpmodule.c
+62
-21
drivers/pcmcia/pxa2xx_base.c
drivers/pcmcia/pxa2xx_base.c
+5
-11
drivers/pcmcia/pxa2xx_base.h
drivers/pcmcia/pxa2xx_base.h
+0
-3
drivers/pcmcia/pxa2xx_palmtc.c
drivers/pcmcia/pxa2xx_palmtc.c
+1
-1
drivers/pcmcia/pxa2xx_stargate2.c
drivers/pcmcia/pxa2xx_stargate2.c
+1
-1
未找到文件。
arch/arm/Kconfig
浏览文件 @
fc773668
...
...
@@ -603,6 +603,7 @@ config ARCH_SA1100
select ARCH_SPARSEMEM_ENABLE
select ARCH_MTD_XIP
select ARCH_HAS_CPUFREQ
select CPU_FREQ
select GENERIC_GPIO
select GENERIC_TIME
select GENERIC_CLOCKEVENTS
...
...
@@ -1359,13 +1360,9 @@ source "drivers/cpufreq/Kconfig"
config CPU_FREQ_SA1100
bool
depends on CPU_FREQ && (SA1100_H3100 || SA1100_H3600 || SA1100_LART || SA1100_PLEB || SA1100_BADGE4 || SA1100_HACKKIT)
default y
config CPU_FREQ_SA1110
bool
depends on CPU_FREQ && (SA1100_ASSABET || SA1100_CERF || SA1100_PT_SYSTEM3)
default y
config CPU_FREQ_INTEGRATOR
tristate "CPUfreq driver for ARM Integrator CPUs"
...
...
arch/arm/mach-clps711x/include/mach/memory.h
浏览文件 @
fc773668
...
...
@@ -30,6 +30,8 @@
#define __virt_to_bus(x) ((x) - PAGE_OFFSET)
#define __bus_to_virt(x) ((x) + PAGE_OFFSET)
#define __pfn_to_bus(x) (__pfn_to_phys(x) - PHYS_OFFSET)
#define __bus_to_pfn(x) __phys_to_pfn((x) + PHYS_OFFSET)
#endif
...
...
arch/arm/mach-footbridge/common.c
浏览文件 @
fc773668
...
...
@@ -201,6 +201,11 @@ void __init footbridge_map_io(void)
#ifdef CONFIG_FOOTBRIDGE_ADDIN
static
inline
unsigned
long
fb_bus_sdram_offset
(
void
)
{
return
*
CSR_PCISDRAMBASE
&
0xfffffff0
;
}
/*
* These two functions convert virtual addresses to PCI addresses and PCI
* addresses to virtual addresses. Note that it is only legal to use these
...
...
@@ -210,14 +215,13 @@ unsigned long __virt_to_bus(unsigned long res)
{
WARN_ON
(
res
<
PAGE_OFFSET
||
res
>=
(
unsigned
long
)
high_memory
);
return
(
res
-
PAGE_OFFSET
)
+
(
*
CSR_PCISDRAMBASE
&
0xfffffff0
);
return
res
+
(
fb_bus_sdram_offset
()
-
PAGE_OFFSET
);
}
EXPORT_SYMBOL
(
__virt_to_bus
);
unsigned
long
__bus_to_virt
(
unsigned
long
res
)
{
res
-=
(
*
CSR_PCISDRAMBASE
&
0xfffffff0
);
res
+=
PAGE_OFFSET
;
res
=
res
-
(
fb_bus_sdram_offset
()
-
PAGE_OFFSET
);
WARN_ON
(
res
<
PAGE_OFFSET
||
res
>=
(
unsigned
long
)
high_memory
);
...
...
@@ -225,4 +229,16 @@ unsigned long __bus_to_virt(unsigned long res)
}
EXPORT_SYMBOL
(
__bus_to_virt
);
unsigned
long
__pfn_to_bus
(
unsigned
long
pfn
)
{
return
__pfn_to_phys
(
pfn
)
+
(
fb_bus_sdram_offset
()
-
PHYS_OFFSET
));
}
EXPORT_SYMBOL
(
__pfn_to_bus
);
unsigned
long
__bus_to_pfn
(
unsigned
long
bus
)
{
return
__phys_to_pfn
(
bus
-
(
fb_bus_sdram_offset
()
-
PHYS_OFFSET
));
}
EXPORT_SYMBOL
(
__bus_to_pfn
);
#endif
arch/arm/mach-footbridge/include/mach/memory.h
浏览文件 @
fc773668
...
...
@@ -29,6 +29,8 @@
#ifndef __ASSEMBLY__
extern
unsigned
long
__virt_to_bus
(
unsigned
long
);
extern
unsigned
long
__bus_to_virt
(
unsigned
long
);
extern
unsigned
long
__pfn_to_bus
(
unsigned
long
);
extern
unsigned
long
__bus_to_pfn
(
unsigned
long
);
#endif
#define __virt_to_bus __virt_to_bus
#define __bus_to_virt __bus_to_virt
...
...
@@ -36,14 +38,15 @@ extern unsigned long __bus_to_virt(unsigned long);
#elif defined(CONFIG_FOOTBRIDGE_HOST)
/*
* The footbridge is programmed to expose the system RAM at the corresponding
* address. So, if PAGE_OFFSET is 0xc0000000, RAM appears at 0xe0000000.
* If 0x80000000, then its exposed at 0xa0000000 on the bus. etc.
* The only requirement is that the RAM isn't placed at bus address 0 which
* The footbridge is programmed to expose the system RAM at 0xe0000000.
* The requirement is that the RAM isn't placed at bus address 0, which
* would clash with VGA cards.
*/
#define __virt_to_bus(x) ((x) - 0xe0000000)
#define __bus_to_virt(x) ((x) + 0xe0000000)
#define BUS_OFFSET 0xe0000000
#define __virt_to_bus(x) ((x) + (BUS_OFFSET - PAGE_OFFSET))
#define __bus_to_virt(x) ((x) - (BUS_OFFSET - PAGE_OFFSET))
#define __pfn_to_bus(x) (__pfn_to_phys(x) + (BUS_OFFSET - PHYS_OFFSET))
#define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - PHYS_OFFSET))
#else
...
...
arch/arm/mach-integrator/include/mach/memory.h
浏览文件 @
fc773668
...
...
@@ -28,6 +28,7 @@
#define BUS_OFFSET UL(0x80000000)
#define __virt_to_bus(x) ((x) - PAGE_OFFSET + BUS_OFFSET)
#define __bus_to_virt(x) ((x) - BUS_OFFSET + PAGE_OFFSET)
#define __pfn_to_bus(x) (((x) << PAGE_SHIFT) + BUS_OFFSET)
#define __pfn_to_bus(x) (__pfn_to_phys(x) + (BUS_OFFSET - PHYS_OFFSET))
#define __bus_to_pfn(x) __phys_to_pfn((x) - (BUS_OFFSET - PHYS_OFFSET))
#endif
arch/arm/mach-ixp2000/include/mach/memory.h
浏览文件 @
fc773668
...
...
@@ -17,11 +17,15 @@
#include <mach/ixp2000-regs.h>
#define __virt_to_bus(v) \
(((__virt_to_phys(v) - 0x0) + (*IXP2000_PCI_SDRAM_BAR & 0xfffffff0)))
#define IXP2000_PCI_SDRAM_OFFSET (*IXP2000_PCI_SDRAM_BAR & 0xfffffff0)
#define __bus_to_virt(b) \
__phys_to_virt((((b - (*IXP2000_PCI_SDRAM_BAR & 0xfffffff0)) + 0x0)))
#define __phys_to_bus(x) ((x) + (IXP2000_PCI_SDRAM_OFFSET - PHYS_OFFSET))
#define __bus_to_phys(x) ((x) - (IXP2000_PCI_SDRAM_OFFSET - PHYS_OFFSET))
#define __virt_to_bus(v) __phys_to_bus(__virt_to_phys(v))
#define __bus_to_virt(b) __phys_to_virt(__bus_to_phys(b))
#define __pfn_to_bus(p) __phys_to_bus(__pfn_to_phys(p))
#define __bus_to_pfn(b) __phys_to_pfn(__bus_to_phys(b))
#endif
arch/arm/mach-ixp23xx/include/mach/memory.h
浏览文件 @
fc773668
...
...
@@ -19,16 +19,15 @@
*/
#define PHYS_OFFSET (0x00000000)
#define __virt_to_bus(v) \
({ unsigned int ret; \
ret = ((__virt_to_phys(v) - 0x00000000) + \
(*((volatile int *)IXP23XX_PCI_SDRAM_BAR) & 0xfffffff0)); \
ret; })
#define __bus_to_virt(b) \
({ unsigned int data; \
data = *((volatile int *)IXP23XX_PCI_SDRAM_BAR); \
__phys_to_virt((((b - (data & 0xfffffff0)) + 0x00000000))); })
#define IXP23XX_PCI_SDRAM_OFFSET (*((volatile int *)IXP23XX_PCI_SDRAM_BAR) & 0xfffffff0))
#define __phys_to_bus(x) ((x) + (IXP23XX_PCI_SDRAM_OFFSET - PHYS_OFFSET))
#define __bus_to_phys(x) ((x) - (IXP23XX_PCI_SDRAM_OFFSET - PHYS_OFFSET))
#define __virt_to_bus(v) __phys_to_bus(__virt_to_phys(v))
#define __bus_to_virt(b) __phys_to_virt(__bus_to_phys(b))
#define __pfn_to_bus(p) __phys_to_bus(__pfn_to_phys(p))
#define __bus_to_pfn(b) __phys_to_pfn(__bus_to_phys(b))
#define arch_is_coherent() 1
...
...
arch/arm/mach-lh7a40x/clocks.c
浏览文件 @
fc773668
...
...
@@ -7,8 +7,6 @@
* version 2 as published by the Free Software Foundation.
*
*/
#include <linux/cpufreq.h>
#include <mach/hardware.h>
#include <mach/clocks.h>
#include <linux/err.h>
...
...
@@ -31,12 +29,6 @@ struct clk {
#define HCLKDIV(c) (((c) >> 0) & 0x02)
#define PCLKDIV(c) (((c) >> 16) & 0x03)
unsigned
int
cpufreq_get
(
unsigned
int
cpu
)
/* in kHz */
{
return
fclkfreq_get
()
/
1000
;
}
EXPORT_SYMBOL
(
cpufreq_get
);
unsigned
int
fclkfreq_get
(
void
)
{
unsigned
int
clkset
=
CSC_CLKSET
;
...
...
arch/arm/mach-s3c24a0/include/mach/memory.h
浏览文件 @
fc773668
...
...
@@ -15,5 +15,7 @@
#define __virt_to_bus(x) __virt_to_phys(x)
#define __bus_to_virt(x) __phys_to_virt(x)
#define __pfn_to_bus(x) __pfn_to_phys(x)
#define __bus_to_pfn(x) __phys_to_pfn(x)
#endif
arch/arm/mach-sa1100/Kconfig
浏览文件 @
fc773668
...
...
@@ -4,6 +4,7 @@ menu "SA11x0 Implementations"
config SA1100_ASSABET
bool "Assabet"
select CPU_FREQ_SA1110
help
Say Y here if you are using the Intel(R) StrongARM(R) SA-1110
Microprocessor Development Board (also known as the Assabet).
...
...
@@ -19,6 +20,7 @@ config ASSABET_NEPONSET
config SA1100_CERF
bool "CerfBoard"
select CPU_FREQ_SA1110
help
The Intrinsyc CerfBoard is based on the StrongARM 1110 (Discontinued).
More information is available at:
...
...
@@ -45,6 +47,7 @@ endchoice
config SA1100_COLLIE
bool "Sharp Zaurus SL5500"
# FIXME: select CPU_FREQ_SA11x0
select SHARP_LOCOMO
select SHARP_SCOOP
select SHARP_PARAM
...
...
@@ -54,6 +57,7 @@ config SA1100_COLLIE
config SA1100_H3100
bool "Compaq iPAQ H3100"
select HTC_EGPIO
select CPU_FREQ_SA1100
help
Say Y here if you intend to run this kernel on the Compaq iPAQ
H3100 handheld computer. Information about this machine and the
...
...
@@ -64,6 +68,7 @@ config SA1100_H3100
config SA1100_H3600
bool "Compaq iPAQ H3600/H3700"
select HTC_EGPIO
select CPU_FREQ_SA1100
help
Say Y here if you intend to run this kernel on the Compaq iPAQ
H3600 handheld computer. Information about this machine and the
...
...
@@ -74,6 +79,7 @@ config SA1100_H3600
config SA1100_BADGE4
bool "HP Labs BadgePAD 4"
select SA1111
select CPU_FREQ_SA1100
help
Say Y here if you want to build a kernel for the HP Laboratories
BadgePAD 4.
...
...
@@ -81,6 +87,7 @@ config SA1100_BADGE4
config SA1100_JORNADA720
bool "HP Jornada 720"
select SA1111
# FIXME: select CPU_FREQ_SA11x0
help
Say Y here if you want to build a kernel for the HP Jornada 720
handheld computer. See <http://www.hp.com/jornada/products/720>
...
...
@@ -98,12 +105,14 @@ config SA1100_JORNADA720_SSP
config SA1100_HACKKIT
bool "HackKit Core CPU Board"
select CPU_FREQ_SA1100
help
Say Y here to support the HackKit Core CPU Board
<http://hackkit.eletztrick.de>;
config SA1100_LART
bool "LART"
select CPU_FREQ_SA1100
help
Say Y here if you are using the Linux Advanced Radio Terminal
(also known as the LART). See <http://www.lartmaker.nl/> for
...
...
@@ -111,6 +120,7 @@ config SA1100_LART
config SA1100_PLEB
bool "PLEB"
select CPU_FREQ_SA1100
help
Say Y here if you are using version 1 of the Portable Linux
Embedded Board (also known as PLEB).
...
...
@@ -119,6 +129,7 @@ config SA1100_PLEB
config SA1100_SHANNON
bool "Shannon"
select CPU_FREQ_SA1100
help
The Shannon (also known as a Tuxscreen, and also as a IS2630) was a
limited edition webphone produced by Philips. The Shannon is a SA1100
...
...
@@ -127,6 +138,7 @@ config SA1100_SHANNON
config SA1100_SIMPAD
bool "Simpad"
select CPU_FREQ_SA1110
help
The SIEMENS webpad SIMpad is based on the StrongARM 1110. There
are two different versions CL4 and SL4. CL4 has 32MB RAM and 16MB
...
...
@@ -145,3 +157,4 @@ config SA1100_SSP
endmenu
endif
arch/arm/mach-sa1100/generic.c
浏览文件 @
fc773668
...
...
@@ -58,7 +58,6 @@ static const unsigned short cclk_frequency_100khz[NR_FREQS] = {
2802
/* 280.2 MHz */
};
#if defined(CONFIG_CPU_FREQ_SA1100) || defined(CONFIG_CPU_FREQ_SA1110)
/* rounds up(!) */
unsigned
int
sa11x0_freq_to_ppcr
(
unsigned
int
khz
)
{
...
...
@@ -110,17 +109,6 @@ unsigned int sa11x0_getspeed(unsigned int cpu)
return
cclk_frequency_100khz
[
PPCR
&
0xf
]
*
100
;
}
#else
/*
* We still need to provide this so building without cpufreq works.
*/
unsigned
int
cpufreq_get
(
unsigned
int
cpu
)
{
return
cclk_frequency_100khz
[
PPCR
&
0xf
]
*
100
;
}
EXPORT_SYMBOL
(
cpufreq_get
);
#endif
/*
* This is the SA11x0 sched_clock implementation. This has
* a resolution of 271ns, and a maximum value of 32025597s (370 days).
...
...
arch/arm/vfp/vfpmodule.c
浏览文件 @
fc773668
...
...
@@ -38,16 +38,72 @@ union vfp_state *last_VFP_context[NR_CPUS];
*/
unsigned
int
VFP_arch
;
/*
* Per-thread VFP initialization.
*/
static
void
vfp_thread_flush
(
struct
thread_info
*
thread
)
{
union
vfp_state
*
vfp
=
&
thread
->
vfpstate
;
unsigned
int
cpu
;
memset
(
vfp
,
0
,
sizeof
(
union
vfp_state
));
vfp
->
hard
.
fpexc
=
FPEXC_EN
;
vfp
->
hard
.
fpscr
=
FPSCR_ROUND_NEAREST
;
/*
* Disable VFP to ensure we initialize it first. We must ensure
* that the modification of last_VFP_context[] and hardware disable
* are done for the same CPU and without preemption.
*/
cpu
=
get_cpu
();
if
(
last_VFP_context
[
cpu
]
==
vfp
)
last_VFP_context
[
cpu
]
=
NULL
;
fmxr
(
FPEXC
,
fmrx
(
FPEXC
)
&
~
FPEXC_EN
);
put_cpu
();
}
static
void
vfp_thread_release
(
struct
thread_info
*
thread
)
{
/* release case: Per-thread VFP cleanup. */
union
vfp_state
*
vfp
=
&
thread
->
vfpstate
;
unsigned
int
cpu
=
thread
->
cpu
;
if
(
last_VFP_context
[
cpu
]
==
vfp
)
last_VFP_context
[
cpu
]
=
NULL
;
}
/*
* When this function is called with the following 'cmd's, the following
* is true while this function is being run:
* THREAD_NOFTIFY_SWTICH:
* - the previously running thread will not be scheduled onto another CPU.
* - the next thread to be run (v) will not be running on another CPU.
* - thread->cpu is the local CPU number
* - not preemptible as we're called in the middle of a thread switch
* THREAD_NOTIFY_FLUSH:
* - the thread (v) will be running on the local CPU, so
* v === current_thread_info()
* - thread->cpu is the local CPU number at the time it is accessed,
* but may change at any time.
* - we could be preempted if tree preempt rcu is enabled, so
* it is unsafe to use thread->cpu.
* THREAD_NOTIFY_RELEASE:
* - the thread (v) will not be running on any CPU; it is a dead thread.
* - thread->cpu will be the last CPU the thread ran on, which may not
* be the current CPU.
* - we could be preempted if tree preempt rcu is enabled.
*/
static
int
vfp_notifier
(
struct
notifier_block
*
self
,
unsigned
long
cmd
,
void
*
v
)
{
struct
thread_info
*
thread
=
v
;
union
vfp_state
*
vfp
;
__u32
cpu
=
thread
->
cpu
;
if
(
likely
(
cmd
==
THREAD_NOTIFY_SWITCH
))
{
u32
fpexc
=
fmrx
(
FPEXC
);
#ifdef CONFIG_SMP
unsigned
int
cpu
=
thread
->
cpu
;
/*
* On SMP, if VFP is enabled, save the old state in
* case the thread migrates to a different CPU. The
...
...
@@ -74,25 +130,10 @@ static int vfp_notifier(struct notifier_block *self, unsigned long cmd, void *v)
return
NOTIFY_DONE
;
}
vfp
=
&
thread
->
vfpstate
;
if
(
cmd
==
THREAD_NOTIFY_FLUSH
)
{
/*
* Per-thread VFP initialisation.
*/
memset
(
vfp
,
0
,
sizeof
(
union
vfp_state
));
vfp
->
hard
.
fpexc
=
FPEXC_EN
;
vfp
->
hard
.
fpscr
=
FPSCR_ROUND_NEAREST
;
/*
* Disable VFP to ensure we initialise it first.
*/
fmxr
(
FPEXC
,
fmrx
(
FPEXC
)
&
~
FPEXC_EN
);
}
/* flush and release case: Per-thread VFP cleanup. */
if
(
last_VFP_context
[
cpu
]
==
vfp
)
last_VFP_context
[
cpu
]
=
NULL
;
if
(
cmd
==
THREAD_NOTIFY_FLUSH
)
vfp_thread_flush
(
thread
);
else
vfp_thread_release
(
thread
);
return
NOTIFY_DONE
;
}
...
...
drivers/pcmcia/pxa2xx_base.c
浏览文件 @
fc773668
...
...
@@ -253,6 +253,7 @@ int pxa2xx_drv_pcmcia_add_one(struct soc_pcmcia_socket *skt)
return
soc_pcmcia_add_one
(
skt
);
}
EXPORT_SYMBOL
(
pxa2xx_drv_pcmcia_add_one
);
void
pxa2xx_drv_pcmcia_ops
(
struct
pcmcia_low_level
*
ops
)
{
...
...
@@ -262,19 +263,19 @@ void pxa2xx_drv_pcmcia_ops(struct pcmcia_low_level *ops)
ops
->
frequency_change
=
pxa2xx_pcmcia_frequency_change
;
#endif
}
EXPORT_SYMBOL
(
pxa2xx_drv_pcmcia_ops
);
int
__pxa2xx_drv_pcmcia_probe
(
struct
device
*
dev
)
static
int
pxa2xx_drv_pcmcia_probe
(
struct
platform_
device
*
dev
)
{
int
i
,
ret
=
0
;
struct
pcmcia_low_level
*
ops
;
struct
skt_dev_info
*
sinfo
;
struct
soc_pcmcia_socket
*
skt
;
if
(
!
dev
||
!
dev
->
platform_data
)
ops
=
(
struct
pcmcia_low_level
*
)
dev
->
dev
.
platform_data
;
if
(
!
ops
)
return
-
ENODEV
;
ops
=
(
struct
pcmcia_low_level
*
)
dev
->
platform_data
;
pxa2xx_drv_pcmcia_ops
(
ops
);
sinfo
=
kzalloc
(
SKT_DEV_INFO_SIZE
(
ops
->
nr
),
GFP_KERNEL
);
...
...
@@ -309,13 +310,6 @@ int __pxa2xx_drv_pcmcia_probe(struct device *dev)
return
ret
;
}
EXPORT_SYMBOL
(
__pxa2xx_drv_pcmcia_probe
);
static
int
pxa2xx_drv_pcmcia_probe
(
struct
platform_device
*
dev
)
{
return
__pxa2xx_drv_pcmcia_probe
(
&
dev
->
dev
);
}
static
int
pxa2xx_drv_pcmcia_remove
(
struct
platform_device
*
dev
)
{
...
...
drivers/pcmcia/pxa2xx_base.h
浏览文件 @
fc773668
/* temporary measure */
extern
int
__pxa2xx_drv_pcmcia_probe
(
struct
device
*
);
int
pxa2xx_drv_pcmcia_add_one
(
struct
soc_pcmcia_socket
*
skt
);
void
pxa2xx_drv_pcmcia_ops
(
struct
pcmcia_low_level
*
ops
);
drivers/pcmcia/pxa2xx_palmtc.c
浏览文件 @
fc773668
...
...
@@ -67,7 +67,7 @@ static int palmtc_pcmcia_hw_init(struct soc_pcmcia_socket *skt)
if
(
ret
)
goto
err7
;
skt
->
irq
=
IRQ_GPIO
(
GPIO_NR_PALMTC_PCMCIA_READY
);
skt
->
socket
.
pci_
irq
=
IRQ_GPIO
(
GPIO_NR_PALMTC_PCMCIA_READY
);
return
0
;
err7:
...
...
drivers/pcmcia/pxa2xx_stargate2.c
浏览文件 @
fc773668
...
...
@@ -40,7 +40,7 @@ static struct pcmcia_irqs irqs[] = {
static
int
sg2_pcmcia_hw_init
(
struct
soc_pcmcia_socket
*
skt
)
{
skt
->
irq
=
IRQ_GPIO
(
SG2_S0_GPIO_READY
);
skt
->
socket
.
pci_
irq
=
IRQ_GPIO
(
SG2_S0_GPIO_READY
);
return
soc_pcmcia_request_irqs
(
skt
,
irqs
,
ARRAY_SIZE
(
irqs
));
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录