summaryrefslogtreecommitdiff
path: root/arch/xtensa/platforms/iss
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2022-07-07 08:57:35 +0300
committerMax Filippov <jcmvbkbc@gmail.com>2022-07-14 10:54:31 +0300
commit0391334907937f841f23e77d0e1c0a2eb26c15d5 (patch)
tree77831ea8a59824d1d33faf5828cafd8d7d7bb8f0 /arch/xtensa/platforms/iss
parent32346491ddf24599decca06190ebca03ff9de7f8 (diff)
downloadlinux-0391334907937f841f23e77d0e1c0a2eb26c15d5.tar.xz
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>
Diffstat (limited to 'arch/xtensa/platforms/iss')
-rw-r--r--arch/xtensa/platforms/iss/network.c21
1 files changed, 3 insertions, 18 deletions
diff --git a/arch/xtensa/platforms/iss/network.c b/arch/xtensa/platforms/iss/network.c
index fd84d4891758..2d566231688f 100644
--- a/arch/xtensa/platforms/iss/network.c
+++ b/arch/xtensa/platforms/iss/network.c
@@ -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, &eth_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;