Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
8be7cdcc
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看板
提交
8be7cdcc
编写于
3月 23, 2009
作者:
D
David S. Miller
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/ucc_geth.c
上级
ecd41373
61fa9dcf
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
113 addition
and
62 deletion
+113
-62
drivers/dca/dca-sysfs.c
drivers/dca/dca-sysfs.c
+21
-0
drivers/net/Kconfig
drivers/net/Kconfig
+1
-1
drivers/net/benet/be.h
drivers/net/benet/be.h
+1
-0
drivers/net/benet/be_main.c
drivers/net/benet/be_main.c
+34
-26
drivers/net/dm9000.c
drivers/net/dm9000.c
+4
-2
drivers/net/dnet.c
drivers/net/dnet.c
+3
-3
drivers/net/sungem.c
drivers/net/sungem.c
+4
-5
drivers/net/ucc_geth.c
drivers/net/ucc_geth.c
+13
-23
drivers/net/ucc_geth.h
drivers/net/ucc_geth.h
+1
-2
include/linux/dca.h
include/linux/dca.h
+20
-0
net/wireless/nl80211.c
net/wireless/nl80211.c
+11
-0
未找到文件。
drivers/dca/dca-sysfs.c
浏览文件 @
8be7cdcc
/*
* Copyright(c) 2007 - 2009 Intel Corporation. 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.
*
* 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.
*
* The full GNU General Public License is included in this distribution in the
* file called COPYING.
*/
#include <linux/kernel.h>
#include <linux/spinlock.h>
#include <linux/device.h>
...
...
drivers/net/Kconfig
浏览文件 @
8be7cdcc
...
...
@@ -1051,7 +1051,7 @@ config NI65
config DNET
tristate "Dave ethernet support (DNET)"
depends on NET_ETHERNET
depends on NET_ETHERNET
&& HAS_IOMEM
select PHYLIB
help
The Dave ethernet interface (DNET) is found on Qong Board FPGA.
...
...
drivers/net/benet/be.h
浏览文件 @
8be7cdcc
...
...
@@ -194,6 +194,7 @@ struct be_adapter {
struct
be_eq_obj
rx_eq
;
struct
be_rx_obj
rx_obj
;
u32
big_page_size
;
/* Compounded page size shared by rx wrbs */
bool
rx_post_starved
;
/* Zero rx frags have been posted to BE */
struct
vlan_group
*
vlan_grp
;
u16
num_vlans
;
...
...
drivers/net/benet/be_main.c
浏览文件 @
8be7cdcc
...
...
@@ -273,26 +273,6 @@ static void be_rx_eqd_update(struct be_adapter *adapter)
rx_eq
->
cur_eqd
=
eqd
;
}
static
void
be_worker
(
struct
work_struct
*
work
)
{
struct
be_adapter
*
adapter
=
container_of
(
work
,
struct
be_adapter
,
work
.
work
);
int
status
;
/* Check link */
be_link_status_update
(
adapter
);
/* Get Stats */
status
=
be_cmd_get_stats
(
&
adapter
->
ctrl
,
&
adapter
->
stats
.
cmd
);
if
(
!
status
)
netdev_stats_update
(
adapter
);
/* Set EQ delay */
be_rx_eqd_update
(
adapter
);
schedule_delayed_work
(
&
adapter
->
work
,
msecs_to_jiffies
(
1000
));
}
static
struct
net_device_stats
*
be_get_stats
(
struct
net_device
*
dev
)
{
struct
be_adapter
*
adapter
=
netdev_priv
(
dev
);
...
...
@@ -493,7 +473,7 @@ static int be_change_mtu(struct net_device *netdev, int new_mtu)
* program them in BE. If more than BE_NUM_VLANS_SUPPORTED are configured,
* set the BE in promiscuous VLAN mode.
*/
static
void
be_vid
s
_config
(
struct
net_device
*
netdev
)
static
void
be_vid_config
(
struct
net_device
*
netdev
)
{
struct
be_adapter
*
adapter
=
netdev_priv
(
netdev
);
u16
vtag
[
BE_NUM_VLANS_SUPPORTED
];
...
...
@@ -536,7 +516,7 @@ static void be_vlan_add_vid(struct net_device *netdev, u16 vid)
adapter
->
num_vlans
++
;
adapter
->
vlan_tag
[
vid
]
=
1
;
be_vid
s
_config
(
netdev
);
be_vid_config
(
netdev
);
}
static
void
be_vlan_rem_vid
(
struct
net_device
*
netdev
,
u16
vid
)
...
...
@@ -547,7 +527,7 @@ static void be_vlan_rem_vid(struct net_device *netdev, u16 vid)
adapter
->
vlan_tag
[
vid
]
=
0
;
vlan_group_set_device
(
adapter
->
vlan_grp
,
vid
,
NULL
);
be_vid
s
_config
(
netdev
);
be_vid_config
(
netdev
);
}
static
void
be_set_multicast_filter
(
struct
net_device
*
netdev
)
...
...
@@ -900,8 +880,11 @@ static void be_post_rx_frags(struct be_adapter *adapter)
page_info
->
last_page_user
=
true
;
if
(
posted
)
{
be_rxq_notify
(
&
adapter
->
ctrl
,
rxq
->
id
,
posted
);
atomic_add
(
posted
,
&
rxq
->
used
);
be_rxq_notify
(
&
adapter
->
ctrl
,
rxq
->
id
,
posted
);
}
else
if
(
atomic_read
(
&
rxq
->
used
)
==
0
)
{
/* Let be_worker replenish when memory is available */
adapter
->
rx_post_starved
=
true
;
}
return
;
...
...
@@ -1305,6 +1288,31 @@ int be_poll_tx(struct napi_struct *napi, int budget)
return
1
;
}
static
void
be_worker
(
struct
work_struct
*
work
)
{
struct
be_adapter
*
adapter
=
container_of
(
work
,
struct
be_adapter
,
work
.
work
);
int
status
;
/* Check link */
be_link_status_update
(
adapter
);
/* Get Stats */
status
=
be_cmd_get_stats
(
&
adapter
->
ctrl
,
&
adapter
->
stats
.
cmd
);
if
(
!
status
)
netdev_stats_update
(
adapter
);
/* Set EQ delay */
be_rx_eqd_update
(
adapter
);
if
(
adapter
->
rx_post_starved
)
{
adapter
->
rx_post_starved
=
false
;
be_post_rx_frags
(
adapter
);
}
schedule_delayed_work
(
&
adapter
->
work
,
msecs_to_jiffies
(
1000
));
}
static
void
be_msix_enable
(
struct
be_adapter
*
adapter
)
{
int
i
,
status
;
...
...
@@ -1422,6 +1430,8 @@ static int be_open(struct net_device *netdev)
if
(
status
!=
0
)
goto
do_none
;
be_vid_config
(
netdev
);
status
=
be_cmd_set_flow_control
(
ctrl
,
true
,
true
);
if
(
status
!=
0
)
goto
if_destroy
;
...
...
@@ -1856,8 +1866,6 @@ static int be_resume(struct pci_dev *pdev)
pci_set_power_state
(
pdev
,
0
);
pci_restore_state
(
pdev
);
be_vids_config
(
netdev
);
if
(
netif_running
(
netdev
))
{
rtnl_lock
();
be_open
(
netdev
);
...
...
drivers/net/dm9000.c
浏览文件 @
8be7cdcc
...
...
@@ -930,13 +930,15 @@ static irqreturn_t dm9000_interrupt(int irq, void *dev_id)
struct
net_device
*
dev
=
dev_id
;
board_info_t
*
db
=
netdev_priv
(
dev
);
int
int_status
;
unsigned
long
flags
;
u8
reg_save
;
dm9000_dbg
(
db
,
3
,
"entering %s
\n
"
,
__func__
);
/* A real interrupt coming */
spin_lock
(
&
db
->
lock
);
/* holders of db->lock must always block IRQs */
spin_lock_irqsave
(
&
db
->
lock
,
flags
);
/* Save previous register address */
reg_save
=
readb
(
db
->
io_addr
);
...
...
@@ -972,7 +974,7 @@ static irqreturn_t dm9000_interrupt(int irq, void *dev_id)
/* Restore previous register address */
writeb
(
reg_save
,
db
->
io_addr
);
spin_unlock
(
&
db
->
lock
);
spin_unlock
_irqrestore
(
&
db
->
lock
,
flags
);
return
IRQ_HANDLED
;
}
...
...
drivers/net/dnet.c
浏览文件 @
8be7cdcc
...
...
@@ -279,11 +279,11 @@ static int dnet_mii_probe(struct net_device *dev)
/* attach the mac to the phy */
if
(
bp
->
capabilities
&
DNET_HAS_RMII
)
{
phydev
=
phy_connect
(
dev
,
phydev
->
dev
.
bus_id
,
phydev
=
phy_connect
(
dev
,
dev_name
(
&
phydev
->
dev
)
,
&
dnet_handle_link_change
,
0
,
PHY_INTERFACE_MODE_RMII
);
}
else
{
phydev
=
phy_connect
(
dev
,
phydev
->
dev
.
bus_id
,
phydev
=
phy_connect
(
dev
,
dev_name
(
&
phydev
->
dev
)
,
&
dnet_handle_link_change
,
0
,
PHY_INTERFACE_MODE_MII
);
}
...
...
@@ -926,7 +926,7 @@ static int __devinit dnet_probe(struct platform_device *pdev)
phydev
=
bp
->
phy_dev
;
dev_info
(
&
pdev
->
dev
,
"attached PHY driver [%s] "
"(mii_bus:phy_addr=%s, irq=%d)
\n
"
,
phydev
->
drv
->
name
,
phydev
->
dev
.
bus_id
,
phydev
->
irq
);
phydev
->
drv
->
name
,
dev_name
(
&
phydev
->
dev
)
,
phydev
->
irq
);
return
0
;
...
...
drivers/net/sungem.c
浏览文件 @
8be7cdcc
...
...
@@ -2998,8 +2998,11 @@ static const struct net_device_ops gem_netdev_ops = {
.
ndo_do_ioctl
=
gem_ioctl
,
.
ndo_tx_timeout
=
gem_tx_timeout
,
.
ndo_change_mtu
=
gem_change_mtu
,
.
ndo_set_mac_address
=
eth_mac_addr
,
.
ndo_validate_addr
=
eth_validate_addr
,
.
ndo_set_mac_address
=
gem_set_mac_address
,
#ifdef CONFIG_NET_POLL_CONTROLLER
.
ndo_poll_controller
=
gem_poll_controller
,
#endif
};
static
int
__devinit
gem_init_one
(
struct
pci_dev
*
pdev
,
...
...
@@ -3161,10 +3164,6 @@ static int __devinit gem_init_one(struct pci_dev *pdev,
dev
->
watchdog_timeo
=
5
*
HZ
;
dev
->
irq
=
pdev
->
irq
;
dev
->
dma
=
0
;
dev
->
set_mac_address
=
gem_set_mac_address
;
#ifdef CONFIG_NET_POLL_CONTROLLER
dev
->
poll_controller
=
gem_poll_controller
;
#endif
/* Set that now, in case PM kicks in now */
pci_set_drvdata
(
pdev
,
dev
);
...
...
drivers/net/ucc_geth.c
浏览文件 @
8be7cdcc
...
...
@@ -1536,32 +1536,15 @@ static void adjust_link(struct net_device *dev)
static
int
init_phy
(
struct
net_device
*
dev
)
{
struct
ucc_geth_private
*
priv
=
netdev_priv
(
dev
);
struct
device_node
*
np
=
priv
->
node
;
struct
device_node
*
phy
,
*
mdio
;
const
phandle
*
ph
;
char
bus_name
[
MII_BUS_ID_SIZE
];
const
unsigned
int
*
id
;
struct
ucc_geth_info
*
ug_info
=
priv
->
ug_info
;
struct
phy_device
*
phydev
;
char
phy_id
[
BUS_ID_SIZE
];
priv
->
oldlink
=
0
;
priv
->
oldspeed
=
0
;
priv
->
oldduplex
=
-
1
;
ph
=
of_get_property
(
np
,
"phy-handle"
,
NULL
);
phy
=
of_find_node_by_phandle
(
*
ph
);
mdio
=
of_get_parent
(
phy
);
id
=
of_get_property
(
phy
,
"reg"
,
NULL
);
of_node_put
(
phy
);
of_node_put
(
mdio
);
fsl_pq_mdio_bus_name
(
bus_name
,
mdio
);
snprintf
(
phy_id
,
sizeof
(
phy_id
),
"%s:%02x"
,
bus_name
,
*
id
);
phydev
=
phy_connect
(
dev
,
phy_id
,
&
adjust_link
,
0
,
priv
->
phy_interface
);
phydev
=
phy_connect
(
dev
,
ug_info
->
phy_bus_id
,
&
adjust_link
,
0
,
priv
->
phy_interface
);
if
(
IS_ERR
(
phydev
))
{
printk
(
"%s: Could not attach to PHY
\n
"
,
dev
->
name
);
...
...
@@ -3629,10 +3612,12 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
ug_info
->
uf_info
.
irq
=
irq_of_parse_and_map
(
np
,
0
);
fixed_link
=
of_get_property
(
np
,
"fixed-link"
,
NULL
);
if
(
fixed_link
)
{
snprintf
(
ug_info
->
mdio_bus
,
MII_BUS_ID_SIZE
,
"0"
);
ug_info
->
phy_address
=
fixed_link
[
0
]
;
snprintf
(
ug_info
->
phy_bus_id
,
sizeof
(
ug_info
->
phy_bus_id
),
PHY_ID_FMT
,
"0"
,
fixed_link
[
0
])
;
phy
=
NULL
;
}
else
{
char
bus_name
[
MII_BUS_ID_SIZE
];
ph
=
of_get_property
(
np
,
"phy-handle"
,
NULL
);
phy
=
of_find_node_by_phandle
(
*
ph
);
...
...
@@ -3643,7 +3628,6 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
prop
=
of_get_property
(
phy
,
"reg"
,
NULL
);
if
(
prop
==
NULL
)
return
-
1
;
ug_info
->
phy_address
=
*
prop
;
/* Set the bus id */
mdio
=
of_get_parent
(
phy
);
...
...
@@ -3657,8 +3641,14 @@ static int ucc_geth_probe(struct of_device* ofdev, const struct of_device_id *ma
if
(
err
)
return
-
1
;
<<<<<<<
HEAD
:
drivers
/
net
/
ucc_geth
.
c
snprintf
(
ug_info
->
mdio_bus
,
MII_BUS_ID_SIZE
,
"%x"
,
res
.
start
&
0xfffff
);
=======
uec_mdio_bus_name
(
bus_name
,
mdio
);
snprintf
(
ug_info
->
phy_bus_id
,
sizeof
(
ug_info
->
phy_bus_id
),
"%s:%02x"
,
bus_name
,
*
prop
);
>>>>>>>
61
fa9dcf9329cb92c220f7b656410fbe5e72f933
:
drivers
/
net
/
ucc_geth
.
c
}
/* get the phy interface type, or default to MII */
...
...
drivers/net/ucc_geth.h
浏览文件 @
8be7cdcc
...
...
@@ -1101,8 +1101,7 @@ struct ucc_geth_info {
u32
eventRegMask
;
u16
pausePeriod
;
u16
extensionField
;
u8
phy_address
;
char
mdio_bus
[
MII_BUS_ID_SIZE
];
char
phy_bus_id
[
BUS_ID_SIZE
];
u8
weightfactor
[
NUM_TX_QUEUES
];
u8
interruptcoalescingmaxvalue
[
NUM_RX_QUEUES
];
u8
l2qt
[
UCC_GETH_VLAN_PRIORITY_MAX
];
...
...
include/linux/dca.h
浏览文件 @
8be7cdcc
/*
* Copyright(c) 2007 - 2009 Intel Corporation. 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.
*
* 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.
*
* The full GNU General Public License is included in this distribution in the
* file called COPYING.
*/
#ifndef DCA_H
#define DCA_H
/* DCA Provider API */
...
...
net/wireless/nl80211.c
浏览文件 @
8be7cdcc
...
...
@@ -1950,6 +1950,11 @@ static int nl80211_get_mesh_params(struct sk_buff *skb,
if
(
err
)
return
err
;
if
(
!
drv
->
ops
->
get_mesh_params
)
{
err
=
-
EOPNOTSUPP
;
goto
out
;
}
/* Get the mesh params */
rtnl_lock
();
err
=
drv
->
ops
->
get_mesh_params
(
&
drv
->
wiphy
,
dev
,
&
cur_params
);
...
...
@@ -2059,6 +2064,11 @@ static int nl80211_set_mesh_params(struct sk_buff *skb, struct genl_info *info)
if
(
err
)
return
err
;
if
(
!
drv
->
ops
->
set_mesh_params
)
{
err
=
-
EOPNOTSUPP
;
goto
out
;
}
/* This makes sure that there aren't more than 32 mesh config
* parameters (otherwise our bitfield scheme would not work.) */
BUILD_BUG_ON
(
NL80211_MESHCONF_ATTR_MAX
>
32
);
...
...
@@ -2103,6 +2113,7 @@ static int nl80211_set_mesh_params(struct sk_buff *skb, struct genl_info *info)
err
=
drv
->
ops
->
set_mesh_params
(
&
drv
->
wiphy
,
dev
,
&
cfg
,
mask
);
rtnl_unlock
();
out:
/* cleanup */
cfg80211_put_dev
(
drv
);
dev_put
(
dev
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录