aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/vt6655
diff options
context:
space:
mode:
authorMalcolm Priestley <tvboxspy@gmail.com>2014-08-21 21:40:48 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-08-30 13:49:34 -0700
commit70afb8e5037a97d7294955531395b65e225c98e1 (patch)
treebaed7cdb2f054475f8f13d25ffac2f19cdf52d8f /drivers/staging/vt6655
parentstaging: vt6655: Remove BBvCalculateParameter and its data members (diff)
downloadlinux-dev-70afb8e5037a97d7294955531395b65e225c98e1.tar.xz
linux-dev-70afb8e5037a97d7294955531395b65e225c98e1.zip
staging: vt6655: remove multiple instances of driver loading.
The driver can only load once from the instance provided by pci_dev. struct vnt_private next, prev and pDevice_Infos are removed. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vt6655')
-rw-r--r--drivers/staging/vt6655/device.h3
-rw-r--r--drivers/staging/vt6655/device_main.c31
2 files changed, 3 insertions, 31 deletions
diff --git a/drivers/staging/vt6655/device.h b/drivers/staging/vt6655/device.h
index 2434a3709a82..bc16ece45eb2 100644
--- a/drivers/staging/vt6655/device.h
+++ b/drivers/staging/vt6655/device.h
@@ -331,9 +331,6 @@ typedef struct __device_opt {
} OPTIONS, *POPTIONS;
struct vnt_private {
- struct vnt_private *next;
- struct vnt_private *prev;
-
struct pci_dev *pcid;
#ifdef CONFIG_PM
diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c
index 1a94d4fded4e..a441a5c800eb 100644
--- a/drivers/staging/vt6655/device_main.c
+++ b/drivers/staging/vt6655/device_main.c
@@ -247,7 +247,6 @@ DEVICE_PARAM(bDiversityANTEnable, "ANT diversity mode");
//
static int device_nics = 0;
-static struct vnt_private *pDevice_Infos = NULL;
static struct net_device *root_device_dev = NULL;
static CHIP_INFO chip_info_table[] = {
@@ -979,19 +978,8 @@ static void vt6655_init_info(struct pci_dev *pcid,
struct vnt_private **ppDevice,
PCHIP_INFO pChip_info)
{
- struct vnt_private *p;
-
memset(*ppDevice, 0, sizeof(**ppDevice));
- if (pDevice_Infos == NULL) {
- pDevice_Infos = *ppDevice;
- } else {
- for (p = pDevice_Infos; p->next != NULL; p = p->next)
- do {} while (0);
- p->next = *ppDevice;
- (*ppDevice)->prev = p;
- }
-
(*ppDevice)->pcid = pcid;
(*ppDevice)->chip_id = pChip_info->chip_id;
(*ppDevice)->io_size = pChip_info->io_size;
@@ -1030,9 +1018,11 @@ static bool device_get_pci_info(struct vnt_private *pDevice,
static void device_free_info(struct vnt_private *pDevice)
{
- struct vnt_private *ptr;
struct net_device *dev = pDevice->dev;
+ if (!pDevice)
+ return;
+
ASSERT(pDevice);
//2008-0714-01<Add>by chester
device_release_WPADEV(pDevice);
@@ -1042,21 +1032,6 @@ static void device_free_info(struct vnt_private *pDevice)
if (wpa_set_wpadev(pDevice, 0) != 0)
pr_err("unregister wpadev fail?\n");
- if (pDevice_Infos == NULL)
- return;
-
- for (ptr = pDevice_Infos; ptr && (ptr != pDevice); ptr = ptr->next)
- do {} while (0);
-
- if (ptr == pDevice) {
- if (ptr == pDevice_Infos)
- pDevice_Infos = ptr->next;
- else
- ptr->prev->next = ptr->next;
- } else {
- pr_err("info struct not found\n");
- return;
- }
#ifdef HOSTAP
if (dev)
vt6655_hostap_set_hostapd(pDevice, 0, 0);