Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
f23d4911
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看板
提交
f23d4911
编写于
15年前
作者:
E
Eric Miao
提交者:
Eric Miao
15年前
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[ARM] pxa: add platform device ID table to pxa i2c driver
Signed-off-by:
N
Eric Miao
<
eric.miao@marvell.com
>
上级
9fa7eb28
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
19 addition
and
3 deletion
+19
-3
arch/arm/mach-pxa/devices.c
arch/arm/mach-pxa/devices.c
+1
-1
drivers/i2c/busses/i2c-pxa.c
drivers/i2c/busses/i2c-pxa.c
+18
-2
未找到文件。
arch/arm/mach-pxa/devices.c
浏览文件 @
f23d4911
...
...
@@ -287,7 +287,7 @@ static struct resource pxa3xx_resources_i2c_power[] = {
};
struct
platform_device
pxa3xx_device_i2c_power
=
{
.
name
=
"pxa
2xx-
i2c"
,
.
name
=
"pxa
3xx-pwr
i2c"
,
.
id
=
1
,
.
resource
=
pxa3xx_resources_i2c_power
,
.
num_resources
=
ARRAY_SIZE
(
pxa3xx_resources_i2c_power
),
...
...
This diff is collapsed.
Click to expand it.
drivers/i2c/busses/i2c-pxa.c
浏览文件 @
f23d4911
...
...
@@ -34,11 +34,25 @@
#include <linux/err.h>
#include <linux/clk.h>
#include <mach/hardware.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <mach/i2c.h>
/*
* I2C register offsets will be shifted 0 or 1 bit left, depending on
* different SoCs
*/
#define REG_SHIFT_0 (0 << 0)
#define REG_SHIFT_1 (1 << 0)
#define REG_SHIFT(d) ((d) & 0x1)
static
const
struct
platform_device_id
i2c_pxa_id_table
[]
=
{
{
"pxa2xx-i2c"
,
REG_SHIFT_1
},
{
"pxa3xx-pwri2c"
,
REG_SHIFT_0
},
{
},
};
MODULE_DEVICE_TABLE
(
platform
,
i2c_pxa_id_table
);
/*
* I2C registers and bit definitions
*/
...
...
@@ -985,6 +999,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
struct
pxa_i2c
*
i2c
;
struct
resource
*
res
;
struct
i2c_pxa_platform_data
*
plat
=
dev
->
dev
.
platform_data
;
struct
platform_device_id
*
id
=
platform_get_device_id
(
dev
);
int
ret
;
int
irq
;
...
...
@@ -1028,7 +1043,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
ret
=
-
EIO
;
goto
eremap
;
}
i2c
->
reg_shift
=
(
cpu_is_pxa3xx
()
&&
(
dev
->
id
==
1
))
?
0
:
1
;
i2c
->
reg_shift
=
REG_SHIFT
(
id
->
driver_data
)
;
i2c
->
iobase
=
res
->
start
;
i2c
->
iosize
=
res_len
(
res
);
...
...
@@ -1150,6 +1165,7 @@ static struct platform_driver i2c_pxa_driver = {
.
name
=
"pxa2xx-i2c"
,
.
owner
=
THIS_MODULE
,
},
.
id_table
=
i2c_pxa_id_table
,
};
static
int
__init
i2c_adap_pxa_init
(
void
)
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部