Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
537a3165
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
537a3165
编写于
5月 16, 2016
作者:
M
Madalin Bucur
提交者:
Madalin Bucur
10月 04, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fsl/fman: simplify device tree reads
Signed-off-by:
N
Madalin Bucur
<
madalin.bucur@nxp.com
>
上级
6fa85192
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
30 addition
and
48 deletion
+30
-48
drivers/net/ethernet/freescale/fman/fman.c
drivers/net/ethernet/freescale/fman/fman.c
+12
-18
drivers/net/ethernet/freescale/fman/fman_port.c
drivers/net/ethernet/freescale/fman/fman_port.c
+7
-17
drivers/net/ethernet/freescale/fman/mac.c
drivers/net/ethernet/freescale/fman/mac.c
+11
-13
未找到文件。
drivers/net/ethernet/freescale/fman/fman.c
浏览文件 @
537a3165
...
...
@@ -2737,8 +2737,8 @@ static struct fman *read_dts_node(struct platform_device *of_dev)
struct
fman
*
fman
;
struct
device_node
*
fm_node
,
*
muram_node
;
struct
resource
*
res
;
const
u32
*
u32_prop
;
int
lenp
,
err
,
irq
;
u32
val
,
range
[
2
]
;
int
err
,
irq
;
struct
clk
*
clk
;
u32
clk_rate
;
phys_addr_t
phys_base_addr
;
...
...
@@ -2750,16 +2750,13 @@ static struct fman *read_dts_node(struct platform_device *of_dev)
fm_node
=
of_node_get
(
of_dev
->
dev
.
of_node
);
u32_prop
=
(
const
u32
*
)
of_get_property
(
fm_node
,
"cell-index"
,
&
lenp
);
if
(
!
u32_prop
)
{
dev_err
(
&
of_dev
->
dev
,
"%s:
of_get_property(%s, cell-index) failed
\n
"
,
err
=
of_property_read_u32
(
fm_node
,
"cell-index"
,
&
val
);
if
(
err
)
{
dev_err
(
&
of_dev
->
dev
,
"%s:
failed to read cell-index for %s
\n
"
,
__func__
,
fm_node
->
full_name
);
goto
fman_node_put
;
}
if
(
WARN_ON
(
lenp
!=
sizeof
(
u32
)))
goto
fman_node_put
;
fman
->
dts_params
.
id
=
(
u8
)
fdt32_to_cpu
(
u32_prop
[
0
]);
fman
->
dts_params
.
id
=
(
u8
)
val
;
/* Get the FM interrupt */
res
=
platform_get_resource
(
of_dev
,
IORESOURCE_IRQ
,
0
);
...
...
@@ -2806,18 +2803,15 @@ static struct fman *read_dts_node(struct platform_device *of_dev)
/* Rounding to MHz */
fman
->
dts_params
.
clk_freq
=
DIV_ROUND_UP
(
clk_rate
,
1000000
);
u32_prop
=
(
const
u32
*
)
of_get_property
(
fm_node
,
"fsl,qman-channel-range"
,
&
lenp
);
if
(
!
u32_prop
)
{
dev_err
(
&
of_dev
->
dev
,
"%s: of_get_property(%s, fsl,qman-channel-range) failed
\n
"
,
err
=
of_property_read_u32_array
(
fm_node
,
"fsl,qman-channel-range"
,
&
range
[
0
],
2
);
if
(
err
)
{
dev_err
(
&
of_dev
->
dev
,
"%s: failed to read fsl,qman-channel-range for %s
\n
"
,
__func__
,
fm_node
->
full_name
);
goto
fman_node_put
;
}
if
(
WARN_ON
(
lenp
!=
sizeof
(
u32
)
*
2
))
goto
fman_node_put
;
fman
->
dts_params
.
qman_channel_base
=
fdt32_to_cpu
(
u32_prop
[
0
]);
fman
->
dts_params
.
num_of_qman_channels
=
fdt32_to_cpu
(
u32_prop
[
1
]);
fman
->
dts_params
.
qman_channel_base
=
range
[
0
];
fman
->
dts_params
.
num_of_qman_channels
=
range
[
1
];
/* Get the MURAM base address and size */
muram_node
=
of_find_matching_node
(
fm_node
,
fman_muram_match
);
...
...
drivers/net/ethernet/freescale/fman/fman_port.c
浏览文件 @
537a3165
...
...
@@ -1625,7 +1625,7 @@ static int fman_port_probe(struct platform_device *of_dev)
struct
device_node
*
fm_node
,
*
port_node
;
struct
resource
res
;
struct
resource
*
dev_res
;
const
u32
*
u32_prop
;
u32
val
;
int
err
=
0
,
lenp
;
enum
fman_port_type
port_type
;
u16
port_speed
;
...
...
@@ -1654,28 +1654,20 @@ static int fman_port_probe(struct platform_device *of_dev)
goto
return_err
;
}
u32_prop
=
(
const
u32
*
)
of_get_property
(
port_node
,
"cell-index"
,
&
lenp
);
if
(
!
u32_prop
)
{
dev_err
(
port
->
dev
,
"%s:
of_get_property(%s, cell-index)
failed
\n
"
,
err
=
of_property_read_u32
(
port_node
,
"cell-index"
,
&
val
);
if
(
err
)
{
dev_err
(
port
->
dev
,
"%s:
reading cell-index for %s
failed
\n
"
,
__func__
,
port_node
->
full_name
);
err
=
-
EINVAL
;
goto
return_err
;
}
if
(
WARN_ON
(
lenp
!=
sizeof
(
u32
)))
{
err
=
-
EINVAL
;
goto
return_err
;
}
port_id
=
(
u8
)
fdt32_to_cpu
(
u32_prop
[
0
]);
port_id
=
(
u8
)
val
;
port
->
dts_params
.
id
=
port_id
;
if
(
of_device_is_compatible
(
port_node
,
"fsl,fman-v3-port-tx"
))
{
port_type
=
FMAN_PORT_TYPE_TX
;
port_speed
=
1000
;
u32_prop
=
(
const
u32
*
)
of_get_property
(
port_node
,
"fsl,fman-10g-port"
,
&
lenp
);
if
(
u32_prop
)
if
(
of_find_property
(
port_node
,
"fsl,fman-10g-port"
,
&
lenp
))
port_speed
=
10000
;
}
else
if
(
of_device_is_compatible
(
port_node
,
"fsl,fman-v2-port-tx"
))
{
...
...
@@ -1688,9 +1680,7 @@ static int fman_port_probe(struct platform_device *of_dev)
}
else
if
(
of_device_is_compatible
(
port_node
,
"fsl,fman-v3-port-rx"
))
{
port_type
=
FMAN_PORT_TYPE_RX
;
port_speed
=
1000
;
u32_prop
=
(
const
u32
*
)
of_get_property
(
port_node
,
"fsl,fman-10g-port"
,
&
lenp
);
if
(
u32_prop
)
if
(
of_find_property
(
port_node
,
"fsl,fman-10g-port"
,
&
lenp
))
port_speed
=
10000
;
}
else
if
(
of_device_is_compatible
(
port_node
,
"fsl,fman-v2-port-rx"
))
{
...
...
drivers/net/ethernet/freescale/fman/mac.c
浏览文件 @
537a3165
...
...
@@ -653,7 +653,7 @@ MODULE_DEVICE_TABLE(of, mac_match);
static
int
mac_probe
(
struct
platform_device
*
_of_dev
)
{
int
err
,
i
,
lenp
,
nph
;
int
err
,
i
,
nph
;
struct
device
*
dev
;
struct
device_node
*
mac_node
,
*
dev_node
;
struct
mac_device
*
mac_dev
;
...
...
@@ -661,7 +661,7 @@ static int mac_probe(struct platform_device *_of_dev)
struct
resource
res
;
struct
mac_priv_s
*
priv
;
const
u8
*
mac_addr
;
const
u32
*
u32_prop
;
u32
val
;
u8
fman_id
;
dev
=
&
_of_dev
->
dev
;
...
...
@@ -723,16 +723,15 @@ static int mac_probe(struct platform_device *_of_dev)
}
/* Get the FMan cell-index */
u32_prop
=
of_get_property
(
dev_node
,
"cell-index"
,
&
lenp
);
if
(
!
u32_prop
)
{
dev_err
(
dev
,
"
of_get_property(%s, cell-index) failed
\n
"
,
err
=
of_property_read_u32
(
dev_node
,
"cell-index"
,
&
val
);
if
(
err
)
{
dev_err
(
dev
,
"
failed to read cell-index for %s
\n
"
,
dev_node
->
full_name
);
err
=
-
EINVAL
;
goto
_return_of_node_put
;
}
WARN_ON
(
lenp
!=
sizeof
(
u32
));
/* cell-index 0 => FMan id 1 */
fman_id
=
(
u8
)(
fdt32_to_cpu
(
u32_prop
[
0
])
+
1
);
fman_id
=
(
u8
)(
val
+
1
);
priv
->
fman
=
fman_bind
(
&
of_dev
->
dev
);
if
(
!
priv
->
fman
)
{
...
...
@@ -779,15 +778,14 @@ static int mac_probe(struct platform_device *_of_dev)
}
/* Get the cell-index */
u32_prop
=
of_get_property
(
mac_node
,
"cell-index"
,
&
lenp
);
if
(
!
u32_prop
)
{
dev_err
(
dev
,
"
of_get_property(%s, cell-index) failed
\n
"
,
err
=
of_property_read_u32
(
mac_node
,
"cell-index"
,
&
val
);
if
(
err
)
{
dev_err
(
dev
,
"
failed to read cell-index for %s
\n
"
,
mac_node
->
full_name
);
err
=
-
EINVAL
;
goto
_return_dev_set_drvdata
;
}
WARN_ON
(
lenp
!=
sizeof
(
u32
));
priv
->
cell_index
=
(
u8
)
fdt32_to_cpu
(
u32_prop
[
0
]);
priv
->
cell_index
=
(
u8
)
val
;
/* Get the MAC address */
mac_addr
=
of_get_mac_address
(
mac_node
);
...
...
@@ -847,7 +845,7 @@ static int mac_probe(struct platform_device *_of_dev)
priv
->
phy_if
=
of_get_phy_mode
(
mac_node
);
if
(
priv
->
phy_if
<
0
)
{
dev_warn
(
dev
,
"of_get_p
roperty(%s, phy-connection-type)
failed. Defaulting to MII
\n
"
,
"of_get_p
hy_mode() for %s
failed. Defaulting to MII
\n
"
,
mac_node
->
full_name
);
priv
->
phy_if
=
PHY_INTERFACE_MODE_MII
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录