mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
xtensa: iss/network: drop 'devices' list
There are two per-device lists in the ISS network driver: command line parameters list and iss_net_private object list. The latter is only used for duplicate checking in the function iss_net_setup where the former should have been used. Drop iss_net_private object list and associated code and use command line parameters list in the iss_net_setup instead. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
parent
32346491dd
commit
0391334907
@ -37,10 +37,6 @@
|
||||
#define ETH_HEADER_OTHER 14
|
||||
#define ISS_NET_TIMER_VALUE (HZ / 10)
|
||||
|
||||
|
||||
static DEFINE_SPINLOCK(devices_lock);
|
||||
static LIST_HEAD(devices);
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/* We currently only support the TUNTAP transport protocol. */
|
||||
@ -70,8 +66,6 @@ struct iss_net_ops {
|
||||
/* This structure contains out private information for the driver. */
|
||||
|
||||
struct iss_net_private {
|
||||
struct list_head device_list;
|
||||
|
||||
spinlock_t lock;
|
||||
struct net_device *dev;
|
||||
struct platform_device pdev;
|
||||
@ -488,7 +482,6 @@ static int iss_net_configure(int index, char *init)
|
||||
|
||||
lp = netdev_priv(dev);
|
||||
*lp = (struct iss_net_private) {
|
||||
.device_list = LIST_HEAD_INIT(lp->device_list),
|
||||
.dev = dev,
|
||||
.index = index,
|
||||
};
|
||||
@ -521,10 +514,6 @@ static int iss_net_configure(int index, char *init)
|
||||
driver_registered = 1;
|
||||
}
|
||||
|
||||
spin_lock(&devices_lock);
|
||||
list_add(&lp->device_list, &devices);
|
||||
spin_unlock(&devices_lock);
|
||||
|
||||
lp->pdev.id = index;
|
||||
lp->pdev.name = DRIVER_NAME;
|
||||
platform_device_register(&lp->pdev);
|
||||
@ -574,7 +563,7 @@ struct iss_net_init {
|
||||
|
||||
static int __init iss_net_setup(char *str)
|
||||
{
|
||||
struct iss_net_private *device = NULL;
|
||||
struct iss_net_init *device = NULL;
|
||||
struct iss_net_init *new;
|
||||
struct list_head *ele;
|
||||
char *end;
|
||||
@ -595,16 +584,12 @@ static int __init iss_net_setup(char *str)
|
||||
}
|
||||
str = end;
|
||||
|
||||
spin_lock(&devices_lock);
|
||||
|
||||
list_for_each(ele, &devices) {
|
||||
device = list_entry(ele, struct iss_net_private, device_list);
|
||||
list_for_each(ele, ð_cmd_line) {
|
||||
device = list_entry(ele, struct iss_net_init, list);
|
||||
if (device->index == n)
|
||||
break;
|
||||
}
|
||||
|
||||
spin_unlock(&devices_lock);
|
||||
|
||||
if (device && device->index == n) {
|
||||
pr_err("Device %u already configured\n", n);
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user