* [PATCH 00/28] staging: ft1000-pcmcia: various fixes
@ 2011-06-30 22:03 Ondrej Zary
2011-06-30 22:03 ` [PATCH 01/28] staging: ft1000-pcmcia: don't crash on load Ondrej Zary
` (28 more replies)
0 siblings, 29 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Fix various things in ft1000-pcmcia driver.
Ondrej Zary (28):
staging: ft1000-pcmcia: don't crash on load
staging: ft1000-pcmcia: fix compilation with FT_DEBUG enabled
staging: ft1000-pcmcia: delete ft1000.conf
staging: ft1000-pcmcia: get rid of ft1000_dev.h
staging: ft1000-pcmcia: remove PSEUDO_HDR typedefs
staging: ft1000-pcmcia: remove DRVMSG typedefs
staging: ft1000-pcmcia: remove MEDIAMSG typedefs
staging: ft1000-pcmcia: delete unused TIMEMSG typedefs
staging: ft1000-pcmcia: remove DSPINITMSG typedefs
staging: ft1000-pcmcia: delete unused DSPHIBERNATE typedefs
staging: ft1000-pcmcia: delete unused APP_INFO_BLOCK typedefs
staging: ft1000-pcmcia: remove PROV_RECORD typedefs
staging: ft1000-pcmcia: remove FT1000_INFO typedefs
staging: ft1000-pcmcia: delete unused DPRAM_BLK typedefs
staging: ft1000-pcmcia: delete local_info_t typedef
staging: ft1000-pcmcia: remove firmware download typedefs
staging: ft1000-pcmcia: remove unused fields from struct ft1000_info
staging: ft1000-pcmcia: remove custom defines for standard types
staging: ft1000-pcmcia: remove useless defines from ft1000_cs.c
staging: ft1000-pcmcia: remove useless debugging from ft1000_cs.c
staging: ft1000-pcmcia: remove misleading and template comments from ft1000_cs.c
staging: ft1000-pcmcia: remove unused ft1000_asic_read and ft1000_asic_write functions
staging: ft1000-pcmcia: coding style fixes in ft1000_cs.c
staging: ft1000-pcmcia: remove unused includes from ft1000_cs.c
staging: ft1000-pcmcia: remove useless ft1000_release() function
staging: ft1000-pcmcia: CodingStyle fixes in ft1000.h
staging: ft1000-pcmcia: remove PSEUDOSZ, use sizeof(struct pseudo_hdr) instead
staging: ft1000-pcmcia: remove support for v5 firmware
drivers/staging/ft1000/ft1000-pcmcia/ft1000.conf | 14 -
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 697 +++++++++-----------
drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c | 190 +-----
drivers/staging/ft1000/ft1000-pcmcia/ft1000_dev.h | 66 --
drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c | 561 ++++++----------
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 224 +++----
drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c | 26 +-
7 files changed, 625 insertions(+), 1153 deletions(-)
--
Ondrej Zary
^ permalink raw reply [flat|nested] 30+ messages in thread
* [PATCH 01/28] staging: ft1000-pcmcia: don't crash on load
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 02/28] staging: ft1000-pcmcia: fix compilation with FT_DEBUG enabled Ondrej Zary
` (27 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Don't crash with NULL pointer dereference on load because of empty .name.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
index 68ea035..eefaa65 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
@@ -295,9 +295,7 @@ MODULE_DEVICE_TABLE(pcmcia, ft1000_ids);
static struct pcmcia_driver ft1000_cs_driver = {
.owner = THIS_MODULE,
- .drv = {
- .name = "ft1000_cs",
- },
+ .name = "ft1000_cs",
.probe = ft1000_attach,
.remove = ft1000_detach,
.id_table = ft1000_ids,
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 02/28] staging: ft1000-pcmcia: fix compilation with FT_DEBUG enabled
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
2011-06-30 22:03 ` [PATCH 01/28] staging: ft1000-pcmcia: don't crash on load Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 03/28] staging: ft1000-pcmcia: delete ft1000.conf Ondrej Zary
` (26 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Delete DEBUG statement that prevents compilation with FT_DEBUG enabled.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
index eefaa65..798b92c 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
@@ -266,8 +266,6 @@ static int ft1000_suspend(struct pcmcia_device *link)
{
struct net_device *dev = ((local_info_t *) link->priv)->dev;
- DEBUG(1, "ft1000_cs: ft1000_event(0x%06x)\n", event);
-
if (link->open)
netif_device_detach(dev);
return 0;
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 03/28] staging: ft1000-pcmcia: delete ft1000.conf
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
2011-06-30 22:03 ` [PATCH 01/28] staging: ft1000-pcmcia: don't crash on load Ondrej Zary
2011-06-30 22:03 ` [PATCH 02/28] staging: ft1000-pcmcia: fix compilation with FT_DEBUG enabled Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 04/28] staging: ft1000-pcmcia: get rid of ft1000_dev.h Ondrej Zary
` (25 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove useless ft1000.conf file.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.conf | 14 --------------
1 files changed, 0 insertions(+), 14 deletions(-)
delete mode 100644 drivers/staging/ft1000/ft1000-pcmcia/ft1000.conf
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.conf b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.conf
deleted file mode 100644
index e2321a4..0000000
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-device "ft1000_cs"
- class "network" module "ft1000","ft1000_cs"
-
-card "flarion FT1000"
- manfid 0x02cc, 0x0100
- bind "ft1000_cs"
-
-card "flarion FT1000"
- manfid 0x02cc, 0x1000
- bind "ft1000_cs"
-
-card "flarion FT1000"
- manfid 0x02cc, 0x1300
- bind "ft1000_cs"
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 04/28] staging: ft1000-pcmcia: get rid of ft1000_dev.h
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (2 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 03/28] staging: ft1000-pcmcia: delete ft1000.conf Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 05/28] staging: ft1000-pcmcia: remove PSEUDO_HDR typedefs Ondrej Zary
` (24 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Shorten ft1000_read_reg() to single line and move it to ft1000.h along with
ft1000_write_reg() and delete ft1000_dev.h
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 10 +++
drivers/staging/ft1000/ft1000-pcmcia/ft1000_dev.h | 66 --------------------
drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c | 1 -
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 1 -
4 files changed, 10 insertions(+), 68 deletions(-)
delete mode 100644 drivers/staging/ft1000/ft1000-pcmcia/ft1000_dev.h
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index 61e1cfc..fab92ad 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -406,4 +406,14 @@ extern u16 ft1000_read_dpram_mag_16 (struct net_device *dev, int offset, int Ind
extern u32 ft1000_read_dpram_mag_32 (struct net_device *dev, int offset);
void ft1000_write_dpram_mag_32 (struct net_device *dev, int offset, u32 value);
+/* Read the value of a given ASIC register. */
+static inline u16 ft1000_read_reg (struct net_device *dev, u16 offset) {
+ return inw(dev->base_addr + offset);
+}
+
+/* Set the value of a given ASIC register. */
+static inline void ft1000_write_reg (struct net_device *dev, u16 offset, u16 value) {
+ outw(value, dev->base_addr + offset);
+}
+
#endif // _FT1000H_
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dev.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dev.h
deleted file mode 100644
index 0b63f05..0000000
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dev.h
+++ /dev/null
@@ -1,66 +0,0 @@
-//---------------------------------------------------------------------------
-// FT1000 driver for Flarion Flash OFDM NIC Device
-//
-// Copyright (C) 2002 Flarion Technologies, 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.
-//---------------------------------------------------------------------------
-//
-// File: ft1000_dev.h
-//
-// Description: Register definitions and bit masks for the FT1000 NIC
-//
-// History:
-// 2/5/02 Ivan Bohannon Written.
-// 8/29/02 Whc Ported to Linux.
-//
-//---------------------------------------------------------------------------
-#ifndef _FT1000_DEVH_
-#define _FT1000_DEVH_
-
-//---------------------------------------------------------------------------
-//
-// Function: ft1000_read_reg
-// Description: This function will read the value of a given ASIC register.
-// Input:
-// dev - device structure
-// offset - ASIC register offset
-// Output:
-// data - ASIC register value
-//
-//---------------------------------------------------------------------------
-static inline u16 ft1000_read_reg (struct net_device *dev, u16 offset) {
- u16 data = 0;
-
- data = inw(dev->base_addr + offset);
-
- return (data);
-}
-
-//---------------------------------------------------------------------------
-//
-// Function: ft1000_write_reg
-// Description: This function will set the value for a given ASIC register.
-// Input:
-// dev - device structure
-// offset - ASIC register offset
-// value - value to write
-// Output:
-// None.
-//
-//---------------------------------------------------------------------------
-static inline void ft1000_write_reg (struct net_device *dev, u16 offset, u16 value) {
- outw (value, dev->base_addr + offset);
-}
-
-#endif // _FT1000_DEVH_
-
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
index fb375ea..c49180a 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
@@ -34,7 +34,6 @@
#include <asm/uaccess.h>
#include <linux/vmalloc.h>
-#include "ft1000_dev.h"
#include "ft1000.h"
#include "boot.h"
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
index 830822f..d60ec7c 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
@@ -54,7 +54,6 @@
#endif
#include <linux/delay.h>
-#include "ft1000_dev.h"
#include "ft1000.h"
int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength);
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 05/28] staging: ft1000-pcmcia: remove PSEUDO_HDR typedefs
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (3 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 04/28] staging: ft1000-pcmcia: get rid of ft1000_dev.h Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 06/28] staging: ft1000-pcmcia: remove DRVMSG typedefs Ondrej Zary
` (23 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove PSEUDO_HDR typedefs.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 14 +++++++-------
drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c | 16 ++++++++--------
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 14 +++++++-------
3 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index fab92ad..ca73aa4 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -42,7 +42,7 @@
#define CALDATESZ 6
// Pseudo Header structure
-typedef struct _PSEUDO_HDR
+struct pseudo_hdr
{
unsigned short length; // length of msg body
unsigned char source; // hardware source id
@@ -65,7 +65,7 @@ typedef struct _PSEUDO_HDR
unsigned char rsvd2;
unsigned short qos_class; // not used
unsigned short checksum; // pseudo header checksum
-} __attribute__ ((packed)) PSEUDO_HDR, *PPSEUDO_HDR;
+} __attribute__ ((packed));
// Definitions to maintain compatibility between other platforms
#define UCHAR u8
@@ -286,14 +286,14 @@ typedef struct _PSEUDO_HDR
#define MAXIMUM_ASIC_HB_CNT 15
typedef struct _DRVMSG {
- PSEUDO_HDR pseudo;
+ struct pseudo_hdr pseudo;
u16 type;
u16 length;
u8 data[0];
} __attribute__ ((packed)) DRVMSG, *PDRVMSG;
typedef struct _MEDIAMSG {
- PSEUDO_HDR pseudo;
+ struct pseudo_hdr pseudo;
u16 type;
u16 length;
u16 state;
@@ -305,14 +305,14 @@ typedef struct _MEDIAMSG {
} __attribute__ ((packed)) MEDIAMSG, *PMEDIAMSG;
typedef struct _TIMEMSG {
- PSEUDO_HDR pseudo;
+ struct pseudo_hdr pseudo;
u16 type;
u16 length;
u8 timeval[8];
} __attribute__ ((packed)) TIMEMSG, *PTIMEMSG;
typedef struct _DSPINITMSG {
- PSEUDO_HDR pseudo;
+ struct pseudo_hdr pseudo;
u16 type;
u16 length;
u8 DspVer[DSPVERSZ]; // DSP version number
@@ -325,7 +325,7 @@ typedef struct _DSPINITMSG {
} __attribute__ ((packed)) DSPINITMSG, *PDSPINITMSG;
typedef struct _DSPHIBERNATE {
- PSEUDO_HDR pseudo;
+ struct pseudo_hdr pseudo;
u16 type;
u16 length;
u32 timeout;
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
index c49180a..5633c40 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
@@ -91,7 +91,7 @@ void put_handshake(struct net_device *dev, USHORT handshake_value);
USHORT get_request_type(struct net_device *dev);
long get_request_value(struct net_device *dev);
void put_request_value(struct net_device *dev, long lvalue);
-USHORT hdr_checksum(PPSEUDO_HDR pHdr);
+USHORT hdr_checksum(struct pseudo_hdr *pHdr);
typedef struct _DSP_FILE_HDR {
u32 build_date;
@@ -297,7 +297,7 @@ void put_request_value(struct net_device *dev, long lvalue)
}
-USHORT hdr_checksum(PPSEUDO_HDR pHdr)
+USHORT hdr_checksum(struct pseudo_hdr *pHdr)
{
USHORT *usPtr = (USHORT *) pHdr;
USHORT chksum;
@@ -315,7 +315,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
USHORT DspWordCnt = 0;
UINT uiState;
USHORT handshake;
- PPSEUDO_HDR pHdr;
+ struct pseudo_hdr *pHdr;
USHORT usHdrLength;
PDSP_FILE_HDR pFileHdr;
long word_length;
@@ -851,7 +851,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
break;
}
- pHdr = (PPSEUDO_HDR) pUsFile;
+ pHdr = (struct pseudo_hdr *) pUsFile;
if (pHdr->portdest == 0x80 /* DspOAM */
&& (pHdr->portsrc == 0x00 /* Driver */
@@ -871,7 +871,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
case STATE_SECTION_PROV:
- pHdr = (PPSEUDO_HDR) pUcFile;
+ pHdr = (struct pseudo_hdr *) pUcFile;
if (pHdr->checksum == hdr_checksum(pHdr)) {
if (pHdr->portdest != 0x80 /* Dsp OAM */ ) {
@@ -882,12 +882,12 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
// Get buffer for provisioning data
pbuffer =
- kmalloc((usHdrLength + sizeof(PSEUDO_HDR)),
+ kmalloc((usHdrLength + sizeof(struct pseudo_hdr)),
GFP_ATOMIC);
if (pbuffer) {
memcpy(pbuffer, (void *)pUcFile,
(UINT) (usHdrLength +
- sizeof(PSEUDO_HDR)));
+ sizeof(struct pseudo_hdr)));
// link provisioning data
pprov_record =
kmalloc(sizeof(PROV_RECORD),
@@ -901,7 +901,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
// Move to next entry if available
pUcFile =
(UCHAR *) ((unsigned long) pUcFile +
- (unsigned long) ((usHdrLength + 1) & 0xFFFFFFFE) + sizeof(PSEUDO_HDR));
+ (unsigned long) ((usHdrLength + 1) & 0xFFFFFFFE) + sizeof(struct pseudo_hdr));
if ((unsigned long) (pUcFile) -
(unsigned long) (pFileStart) >=
(unsigned long) FileLength) {
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
index d60ec7c..5f610e5 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
@@ -1021,7 +1021,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
u16 len;
u16 i;
PPROV_RECORD ptr;
- PPSEUDO_HDR ppseudo_hdr;
+ struct pseudo_hdr *ppseudo_hdr;
PUSHORT pmsg;
struct timeval tv;
union {
@@ -1066,7 +1066,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
len = htons(len);
pmsg = (PUSHORT) ptr->pprov_data;
- ppseudo_hdr = (PPSEUDO_HDR) pmsg;
+ ppseudo_hdr = (struct pseudo_hdr *) pmsg;
// Insert slow queue sequence number
ppseudo_hdr->seq_num = info->squeseqnum++;
ppseudo_hdr->portsrc = 0;
@@ -1185,7 +1185,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
// Put message into Slow Queue
// Form Pseudo header
pmsg = (PUSHORT) info->DSPInfoBlk;
- ppseudo_hdr = (PPSEUDO_HDR) pmsg;
+ ppseudo_hdr = (struct pseudo_hdr *) pmsg;
ppseudo_hdr->length =
htons(info->DSPInfoBlklen + 4);
ppseudo_hdr->source = 0x10;
@@ -1234,7 +1234,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
// Put message into Slow Queue
// Form Pseudo header
pmsg = (PUSHORT) & tempbuffer[0];
- ppseudo_hdr = (PPSEUDO_HDR) pmsg;
+ ppseudo_hdr = (struct pseudo_hdr *) pmsg;
ppseudo_hdr->length = htons(0x0012);
ppseudo_hdr->source = 0x10;
ppseudo_hdr->destination = 0x20;
@@ -1788,9 +1788,9 @@ int ft1000_copy_down_pkt(struct net_device *dev, u16 * packet, u16 len)
{
FT1000_INFO *info = netdev_priv(dev);
union {
- PSEUDO_HDR blk;
- u16 buff[sizeof(PSEUDO_HDR) >> 1];
- u8 buffc[sizeof(PSEUDO_HDR)];
+ struct pseudo_hdr blk;
+ u16 buff[sizeof(struct pseudo_hdr) >> 1];
+ u8 buffc[sizeof(struct pseudo_hdr)];
} pseudo;
int i;
u32 *plong;
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 06/28] staging: ft1000-pcmcia: remove DRVMSG typedefs
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (4 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 05/28] staging: ft1000-pcmcia: remove PSEUDO_HDR typedefs Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 07/28] staging: ft1000-pcmcia: remove MEDIAMSG typedefs Ondrej Zary
` (22 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove DRVMSG typedefs.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 4 ++--
drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c | 4 ++--
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index ca73aa4..472b737 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -285,12 +285,12 @@ struct pseudo_hdr
#define MAXIMUM_ASIC_HB_CNT 15
-typedef struct _DRVMSG {
+struct drv_msg {
struct pseudo_hdr pseudo;
u16 type;
u16 length;
u8 data[0];
-} __attribute__ ((packed)) DRVMSG, *PDRVMSG;
+} __attribute__ ((packed));
typedef struct _MEDIAMSG {
struct pseudo_hdr pseudo;
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
index 5633c40..0a905a4 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
@@ -328,7 +328,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
PDSP_IMAGE_INFO_V6 pDspImageInfoV6 = NULL;
long requested_version;
BOOLEAN bGoodVersion = 0;
- PDRVMSG pMailBoxData;
+ struct drv_msg *pMailBoxData;
USHORT *pUsData = NULL;
USHORT *pUsFile = NULL;
UCHAR *pUcFile = NULL;
@@ -605,7 +605,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
(long)(info->DSPInfoBlklen + 1) / 2;
put_request_value(dev, word_length);
pMailBoxData =
- (PDRVMSG) & info->DSPInfoBlk[0];
+ (struct drv_msg *) & info->DSPInfoBlk[0];
pUsData =
(USHORT *) & pMailBoxData->data[0];
// Provide mutual exclusive access while reading ASIC registers.
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
index 5f610e5..77ce8c4 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
@@ -1017,7 +1017,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
u16 tempword;
PMEDIAMSG pmediamsg;
PDSPINITMSG pdspinitmsg;
- PDRVMSG pdrvmsg;
+ struct drv_msg *pdrvmsg;
u16 len;
u16 i;
PPROV_RECORD ptr;
@@ -1038,7 +1038,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
if ( ft1000_receive_cmd(dev, &cmdbuffer[0], MAX_CMD_SQSIZE, &tempword) ) {
// Get the message type which is total_len + PSEUDO header + msgtype + message body
- pdrvmsg = (PDRVMSG) & cmdbuffer[0];
+ pdrvmsg = (struct drv_msg *) & cmdbuffer[0];
msgtype = ntohs(pdrvmsg->type);
DEBUG(1, "Command message type = 0x%x\n", msgtype);
switch (msgtype) {
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 07/28] staging: ft1000-pcmcia: remove MEDIAMSG typedefs
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (5 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 06/28] staging: ft1000-pcmcia: remove DRVMSG typedefs Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 08/28] staging: ft1000-pcmcia: delete unused TIMEMSG typedefs Ondrej Zary
` (21 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove MEDIAMSG typedefs.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 4 ++--
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index 472b737..e4537e0 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -292,7 +292,7 @@ struct drv_msg {
u8 data[0];
} __attribute__ ((packed));
-typedef struct _MEDIAMSG {
+struct media_msg {
struct pseudo_hdr pseudo;
u16 type;
u16 length;
@@ -302,7 +302,7 @@ typedef struct _MEDIAMSG {
u32 gateway;
u32 dns_1;
u32 dns_2;
-} __attribute__ ((packed)) MEDIAMSG, *PMEDIAMSG;
+} __attribute__ ((packed));
typedef struct _TIMEMSG {
struct pseudo_hdr pseudo;
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
index 77ce8c4..ecc5319 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
@@ -1015,7 +1015,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
FT1000_INFO *info = netdev_priv(dev);
u16 msgtype;
u16 tempword;
- PMEDIAMSG pmediamsg;
+ struct media_msg *pmediamsg;
PDSPINITMSG pdspinitmsg;
struct drv_msg *pdrvmsg;
u16 len;
@@ -1090,7 +1090,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
info->CardReady = 1;
break;
case MEDIA_STATE:
- pmediamsg = (PMEDIAMSG) & cmdbuffer[0];
+ pmediamsg = (struct media_msg *) & cmdbuffer[0];
if (info->ProgConStat != 0xFF) {
if (pmediamsg->state) {
DEBUG(1, "Media is up\n");
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 08/28] staging: ft1000-pcmcia: delete unused TIMEMSG typedefs
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (6 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 07/28] staging: ft1000-pcmcia: remove MEDIAMSG typedefs Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 09/28] staging: ft1000-pcmcia: remove DSPINITMSG typedefs Ondrej Zary
` (20 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Delete unused TIMEMSG typedefs.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index e4537e0..95ba8c7 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -304,13 +304,6 @@ struct media_msg {
u32 dns_2;
} __attribute__ ((packed));
-typedef struct _TIMEMSG {
- struct pseudo_hdr pseudo;
- u16 type;
- u16 length;
- u8 timeval[8];
-} __attribute__ ((packed)) TIMEMSG, *PTIMEMSG;
-
typedef struct _DSPINITMSG {
struct pseudo_hdr pseudo;
u16 type;
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 09/28] staging: ft1000-pcmcia: remove DSPINITMSG typedefs
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (7 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 08/28] staging: ft1000-pcmcia: delete unused TIMEMSG typedefs Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 10/28] staging: ft1000-pcmcia: delete unused DSPHIBERNATE typedefs Ondrej Zary
` (19 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove DSPINITMSG typedefs.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 4 ++--
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index 95ba8c7..f81287b 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -304,7 +304,7 @@ struct media_msg {
u32 dns_2;
} __attribute__ ((packed));
-typedef struct _DSPINITMSG {
+struct dsp_init_msg {
struct pseudo_hdr pseudo;
u16 type;
u16 length;
@@ -315,7 +315,7 @@ typedef struct _DSPINITMSG {
u8 ProductMode[MODESZ]; // Product Mode (Market/Production)
u8 RfCalVer[CALVERSZ]; // Rf Calibration version
u8 RfCalDate[CALDATESZ]; // Rf Calibration date
-} __attribute__ ((packed)) DSPINITMSG, *PDSPINITMSG;
+} __attribute__ ((packed));
typedef struct _DSPHIBERNATE {
struct pseudo_hdr pseudo;
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
index ecc5319..949c155 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
@@ -1016,7 +1016,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
u16 msgtype;
u16 tempword;
struct media_msg *pmediamsg;
- PDSPINITMSG pdspinitmsg;
+ struct dsp_init_msg *pdspinitmsg;
struct drv_msg *pdrvmsg;
u16 len;
u16 i;
@@ -1122,7 +1122,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
}
break;
case DSP_INIT_MSG:
- pdspinitmsg = (PDSPINITMSG) & cmdbuffer[0];
+ pdspinitmsg = (struct dsp_init_msg *) & cmdbuffer[0];
memcpy(info->DspVer, pdspinitmsg->DspVer, DSPVERSZ);
DEBUG(1, "DSPVER = 0x%2x 0x%2x 0x%2x 0x%2x\n",
info->DspVer[0], info->DspVer[1], info->DspVer[2],
@@ -1139,7 +1139,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
dev->dev_addr[5] = info->eui64[7];
if (ntohs(pdspinitmsg->length) ==
- (sizeof(DSPINITMSG) - 20)) {
+ (sizeof(struct dsp_init_msg) - 20)) {
memcpy(info->ProductMode,
pdspinitmsg->ProductMode, MODESZ);
memcpy(info->RfCalVer, pdspinitmsg->RfCalVer,
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 10/28] staging: ft1000-pcmcia: delete unused DSPHIBERNATE typedefs
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (8 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 09/28] staging: ft1000-pcmcia: remove DSPINITMSG typedefs Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 11/28] staging: ft1000-pcmcia: delete unused APP_INFO_BLOCK typedefs Ondrej Zary
` (18 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Delete unused DSPHIBERNATE typedefs.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 8 --------
1 files changed, 0 insertions(+), 8 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index f81287b..ecead81 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -317,14 +317,6 @@ struct dsp_init_msg {
u8 RfCalDate[CALDATESZ]; // Rf Calibration date
} __attribute__ ((packed));
-typedef struct _DSPHIBERNATE {
- struct pseudo_hdr pseudo;
- u16 type;
- u16 length;
- u32 timeout;
- u16 sess_info[0];
-} DSPHIBERNATE, *PDSPHIBERNATE;
-
typedef struct _APP_INFO_BLOCK
{
u32 fileobject; // Application's file object
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 11/28] staging: ft1000-pcmcia: delete unused APP_INFO_BLOCK typedefs
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (9 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 10/28] staging: ft1000-pcmcia: delete unused DSPHIBERNATE typedefs Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 12/28] staging: ft1000-pcmcia: remove PROV_RECORD typedefs Ondrej Zary
` (17 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Delete unused APP_INFO_BLOCK typedefs and associated variables.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 10 ----------
1 files changed, 0 insertions(+), 10 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index ecead81..b3aefd8 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -281,8 +281,6 @@ struct pseudo_hdr
#define TRUE 0x1
#define FALSE 0x0
-#define MAX_NUM_APP 6
-
#define MAXIMUM_ASIC_HB_CNT 15
struct drv_msg {
@@ -317,12 +315,6 @@ struct dsp_init_msg {
u8 RfCalDate[CALDATESZ]; // Rf Calibration date
} __attribute__ ((packed));
-typedef struct _APP_INFO_BLOCK
-{
- u32 fileobject; // Application's file object
- u16 app_id; // Application id
-} APP_INFO_BLOCK, *PAPP_INFO_BLOCK;
-
typedef struct _PROV_RECORD {
struct list_head list;
u8 *pprov_data;
@@ -365,8 +357,6 @@ typedef struct _FT1000_INFO {
u8 RfCalDate[CALDATESZ];
u16 DSP_TIME[4];
struct list_head prov_list;
- int appcnt;
- APP_INFO_BLOCK app_info[MAX_NUM_APP];
u16 DSPInfoBlklen;
u16 DrvMsgPend;
int (*ft1000_reset)(void *);
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 12/28] staging: ft1000-pcmcia: remove PROV_RECORD typedefs
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (10 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 11/28] staging: ft1000-pcmcia: delete unused APP_INFO_BLOCK typedefs Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 13/28] staging: ft1000-pcmcia: remove FT1000_INFO typedefs Ondrej Zary
` (16 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove PROV_RECORD typedefs.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 4 ++--
drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c | 4 ++--
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 12 ++++++------
3 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index b3aefd8..e697e9c 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -315,10 +315,10 @@ struct dsp_init_msg {
u8 RfCalDate[CALDATESZ]; // Rf Calibration date
} __attribute__ ((packed));
-typedef struct _PROV_RECORD {
+struct prov_record {
struct list_head list;
u8 *pprov_data;
-} PROV_RECORD, *PPROV_RECORD;
+};
typedef struct _FT1000_INFO {
struct net_device_stats stats;
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
index 0a905a4..3c8fcb5 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
@@ -321,7 +321,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
long word_length;
USHORT request;
USHORT temp;
- PPROV_RECORD pprov_record;
+ struct prov_record *pprov_record;
PUCHAR pbuffer;
PDSP_FILE_HDR_5 pFileHdr5;
PDSP_IMAGE_INFO pDspImageInfo = NULL;
@@ -890,7 +890,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
sizeof(struct pseudo_hdr)));
// link provisioning data
pprov_record =
- kmalloc(sizeof(PROV_RECORD),
+ kmalloc(sizeof(struct prov_record),
GFP_ATOMIC);
if (pprov_record) {
pprov_record->pprov_data =
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
index 949c155..d33f747 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
@@ -421,7 +421,7 @@ static int ft1000_reset_card(struct net_device *dev)
u16 tempword;
int i;
unsigned long flags;
- PPROV_RECORD ptr;
+ struct prov_record *ptr;
DEBUG(1, "ft1000_hw:ft1000_reset_card called.....\n");
@@ -436,7 +436,7 @@ static int ft1000_reset_card(struct net_device *dev)
while (list_empty(&info->prov_list) == 0) {
DEBUG(0,
"ft1000_hw:ft1000_reset_card:deleting provisioning record\n");
- ptr = list_entry(info->prov_list.next, PROV_RECORD, list);
+ ptr = list_entry(info->prov_list.next, struct prov_record, list);
list_del(&ptr->list);
kfree(ptr->pprov_data);
kfree(ptr);
@@ -1020,7 +1020,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
struct drv_msg *pdrvmsg;
u16 len;
u16 i;
- PPROV_RECORD ptr;
+ struct prov_record *ptr;
struct pseudo_hdr *ppseudo_hdr;
PUSHORT pmsg;
struct timeval tv;
@@ -1061,7 +1061,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
}
ptr =
list_entry(info->prov_list.next,
- PROV_RECORD, list);
+ struct prov_record, list);
len = *(u16 *) ptr->pprov_data;
len = htons(len);
@@ -2095,7 +2095,7 @@ static irqreturn_t ft1000_interrupt(int irq, void *dev_id)
void stop_ft1000_card(struct net_device *dev)
{
FT1000_INFO *info = netdev_priv(dev);
- PPROV_RECORD ptr;
+ struct prov_record *ptr;
// int cnt;
DEBUG(0, "ft1000_hw: stop_ft1000_card()\n");
@@ -2107,7 +2107,7 @@ void stop_ft1000_card(struct net_device *dev)
// Make sure we free any memory reserve for provisioning
while (list_empty(&info->prov_list) == 0) {
- ptr = list_entry(info->prov_list.next, PROV_RECORD, list);
+ ptr = list_entry(info->prov_list.next, struct prov_record, list);
list_del(&ptr->list);
kfree(ptr->pprov_data);
kfree(ptr);
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 13/28] staging: ft1000-pcmcia: remove FT1000_INFO typedefs
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (11 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 12/28] staging: ft1000-pcmcia: remove PROV_RECORD typedefs Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 14/28] staging: ft1000-pcmcia: delete unused DPRAM_BLK typedefs Ondrej Zary
` (15 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove FT1000_INFO typedefs.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 4 +-
drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c | 14 +++---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 58 ++++++++++----------
drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c | 8 ++--
4 files changed, 42 insertions(+), 42 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index e697e9c..5fc64f3 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -320,7 +320,7 @@ struct prov_record {
u8 *pprov_data;
};
-typedef struct _FT1000_INFO {
+struct ft1000_info {
struct net_device_stats stats;
u16 DrvErrNum;
u16 AsicID;
@@ -368,7 +368,7 @@ typedef struct _FT1000_INFO {
} DSPSess;
struct proc_dir_entry *proc_ft1000;
char netdevname[IFNAMSIZ];
-} FT1000_INFO, *PFT1000_INFO;
+};
typedef struct _DPRAM_BLK {
struct list_head list;
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
index 3c8fcb5..fc633eb 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
@@ -141,7 +141,7 @@ typedef struct _DSP_IMAGE_INFO_V6 {
void card_bootload(struct net_device *dev)
{
- FT1000_INFO *info = (PFT1000_INFO) netdev_priv(dev);
+ struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
unsigned long flags;
PULONG pdata;
UINT size;
@@ -173,7 +173,7 @@ void card_bootload(struct net_device *dev)
USHORT get_handshake(struct net_device *dev, USHORT expected_value)
{
- FT1000_INFO *info = (PFT1000_INFO) netdev_priv(dev);
+ struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
USHORT handshake;
ULONG tempx;
int loopcnt;
@@ -208,7 +208,7 @@ USHORT get_handshake(struct net_device *dev, USHORT expected_value)
void put_handshake(struct net_device *dev, USHORT handshake_value)
{
- FT1000_INFO *info = (PFT1000_INFO) netdev_priv(dev);
+ struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
ULONG tempx;
if (info->AsicID == ELECTRABUZZ_ID) {
@@ -224,7 +224,7 @@ void put_handshake(struct net_device *dev, USHORT handshake_value)
USHORT get_request_type(struct net_device *dev)
{
- FT1000_INFO *info = (PFT1000_INFO) netdev_priv(dev);
+ struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
USHORT request_type;
ULONG tempx;
@@ -243,7 +243,7 @@ USHORT get_request_type(struct net_device *dev)
long get_request_value(struct net_device *dev)
{
- FT1000_INFO *info = (PFT1000_INFO) netdev_priv(dev);
+ struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
long value;
USHORT w_val;
@@ -272,7 +272,7 @@ long get_request_value(struct net_device *dev)
void put_request_value(struct net_device *dev, long lvalue)
{
- FT1000_INFO *info = (PFT1000_INFO) netdev_priv(dev);
+ struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
USHORT size;
ULONG tempx;
@@ -310,7 +310,7 @@ USHORT hdr_checksum(struct pseudo_hdr *pHdr)
int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
{
- FT1000_INFO *info = (PFT1000_INFO) netdev_priv(dev);
+ struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
int Status = SUCCESS;
USHORT DspWordCnt = 0;
UINT uiState;
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
index d33f747..74233e0 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
@@ -135,7 +135,7 @@ inline void ft1000_asic_write(struct net_device *dev, u16 offset, u16 value)
//---------------------------------------------------------------------------
static inline u16 ft1000_read_fifo_len(struct net_device *dev)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
if (info->AsicID == ELECTRABUZZ_ID) {
return (ft1000_read_reg(dev, FT1000_REG_UFIFO_STAT) - 16);
@@ -158,7 +158,7 @@ static inline u16 ft1000_read_fifo_len(struct net_device *dev)
//---------------------------------------------------------------------------
u16 ft1000_read_dpram(struct net_device * dev, int offset)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
unsigned long flags;
u16 data;
@@ -187,7 +187,7 @@ u16 ft1000_read_dpram(struct net_device * dev, int offset)
static inline void ft1000_write_dpram(struct net_device *dev,
int offset, u16 value)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
unsigned long flags;
// Provide mutual exclusive access while reading ASIC registers.
@@ -211,7 +211,7 @@ static inline void ft1000_write_dpram(struct net_device *dev,
//---------------------------------------------------------------------------
u16 ft1000_read_dpram_mag_16(struct net_device *dev, int offset, int Index)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
unsigned long flags;
u16 data;
@@ -245,7 +245,7 @@ u16 ft1000_read_dpram_mag_16(struct net_device *dev, int offset, int Index)
static inline void ft1000_write_dpram_mag_16(struct net_device *dev,
int offset, u16 value, int Index)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
unsigned long flags;
// Provide mutual exclusive access while reading ASIC registers.
@@ -273,7 +273,7 @@ static inline void ft1000_write_dpram_mag_16(struct net_device *dev,
//---------------------------------------------------------------------------
u32 ft1000_read_dpram_mag_32(struct net_device *dev, int offset)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
unsigned long flags;
u32 data;
@@ -301,7 +301,7 @@ u32 ft1000_read_dpram_mag_32(struct net_device *dev, int offset)
//---------------------------------------------------------------------------
void ft1000_write_dpram_mag_32(struct net_device *dev, int offset, u32 value)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
unsigned long flags;
// Provide mutual exclusive access while reading ASIC registers.
@@ -323,7 +323,7 @@ void ft1000_write_dpram_mag_32(struct net_device *dev, int offset, u32 value)
//---------------------------------------------------------------------------
static void ft1000_enable_interrupts(struct net_device *dev)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
u16 tempword;
DEBUG(1, "ft1000_hw:ft1000_enable_interrupts()\n");
@@ -348,7 +348,7 @@ static void ft1000_enable_interrupts(struct net_device *dev)
//---------------------------------------------------------------------------
static void ft1000_disable_interrupts(struct net_device *dev)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
u16 tempword;
DEBUG(1, "ft1000_hw: ft1000_disable_interrupts()\n");
@@ -373,7 +373,7 @@ static void ft1000_disable_interrupts(struct net_device *dev)
//---------------------------------------------------------------------------
static void ft1000_reset_asic(struct net_device *dev)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
u16 tempword;
DEBUG(1, "ft1000_hw:ft1000_reset_asic called\n");
@@ -417,7 +417,7 @@ static void ft1000_reset_asic(struct net_device *dev)
//---------------------------------------------------------------------------
static int ft1000_reset_card(struct net_device *dev)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
u16 tempword;
int i;
unsigned long flags;
@@ -618,7 +618,7 @@ static void ft1000_hbchk(u_long data)
{
struct net_device *dev = (struct net_device *)data;
- FT1000_INFO *info;
+ struct ft1000_info *info;
USHORT tempword;
info = netdev_priv(dev);
@@ -834,7 +834,7 @@ static void ft1000_hbchk(u_long data)
//---------------------------------------------------------------------------
void ft1000_send_cmd (struct net_device *dev, u16 *ptempbuffer, int size, u16 qtype)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
int i;
u16 tempword;
unsigned long flags;
@@ -919,7 +919,7 @@ void ft1000_send_cmd (struct net_device *dev, u16 *ptempbuffer, int size, u16 qt
//---------------------------------------------------------------------------
BOOLEAN ft1000_receive_cmd(struct net_device *dev, u16 * pbuffer, int maxsz, u16 *pnxtph)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
u16 size;
u16 *ppseudohdr;
int i;
@@ -1012,7 +1012,7 @@ BOOLEAN ft1000_receive_cmd(struct net_device *dev, u16 * pbuffer, int maxsz, u16
//---------------------------------------------------------------------------
void ft1000_proc_drvmsg(struct net_device *dev)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
u16 msgtype;
u16 tempword;
struct media_msg *pmediamsg;
@@ -1295,7 +1295,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
//---------------------------------------------------------------------------
int ft1000_parse_dpram_msg(struct net_device *dev)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
u16 doorbell;
u16 portid;
u16 nxtph;
@@ -1452,7 +1452,7 @@ int ft1000_parse_dpram_msg(struct net_device *dev)
//---------------------------------------------------------------------------
static void ft1000_flush_fifo(struct net_device *dev, u16 DrvErrNum)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
u16 i;
u32 templong;
u16 tempword;
@@ -1599,7 +1599,7 @@ static void ft1000_flush_fifo(struct net_device *dev, u16 DrvErrNum)
int ft1000_copy_up_pkt(struct net_device *dev)
{
u16 tempword;
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
u16 len;
struct sk_buff *skb;
u16 i;
@@ -1786,7 +1786,7 @@ int ft1000_copy_up_pkt(struct net_device *dev)
//---------------------------------------------------------------------------
int ft1000_copy_down_pkt(struct net_device *dev, u16 * packet, u16 len)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
union {
struct pseudo_hdr blk;
u16 buff[sizeof(struct pseudo_hdr) >> 1];
@@ -1946,7 +1946,7 @@ int ft1000_copy_down_pkt(struct net_device *dev, u16 * packet, u16 len)
static struct net_device_stats *ft1000_stats(struct net_device *dev)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
return (&info->stats);
}
@@ -1970,7 +1970,7 @@ static int ft1000_open(struct net_device *dev)
static int ft1000_close(struct net_device *dev)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
DEBUG(0, "ft1000_hw: ft1000_close()\n");
@@ -1992,7 +1992,7 @@ static int ft1000_close(struct net_device *dev)
static int ft1000_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
u8 *pdata;
DEBUG(1, "ft1000_hw: ft1000_start_xmit()\n");
@@ -2029,7 +2029,7 @@ static int ft1000_start_xmit(struct sk_buff *skb, struct net_device *dev)
static irqreturn_t ft1000_interrupt(int irq, void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
u16 tempword;
u16 inttype;
int cnt;
@@ -2094,7 +2094,7 @@ static irqreturn_t ft1000_interrupt(int irq, void *dev_id)
void stop_ft1000_card(struct net_device *dev)
{
- FT1000_INFO *info = netdev_priv(dev);
+ struct ft1000_info *info = netdev_priv(dev);
struct prov_record *ptr;
// int cnt;
@@ -2129,7 +2129,7 @@ void stop_ft1000_card(struct net_device *dev)
static void ft1000_get_drvinfo(struct net_device *dev,
struct ethtool_drvinfo *info)
{
- FT1000_INFO *ft_info;
+ struct ft1000_info *ft_info;
ft_info = netdev_priv(dev);
snprintf(info->driver, 32, "ft1000");
@@ -2141,7 +2141,7 @@ static void ft1000_get_drvinfo(struct net_device *dev,
static u32 ft1000_get_link(struct net_device *dev)
{
- FT1000_INFO *info;
+ struct ft1000_info *info;
info = netdev_priv(dev);
return info->mediastate;
}
@@ -2154,7 +2154,7 @@ static const struct ethtool_ops ops = {
struct net_device *init_ft1000_card(struct pcmcia_device *link,
void *ft1000_reset)
{
- FT1000_INFO *info;
+ struct ft1000_info *info;
struct net_device *dev;
static const struct net_device_ops ft1000ops = // Slavius 21.10.2009 due to kernel changes
@@ -2179,7 +2179,7 @@ struct net_device *init_ft1000_card(struct pcmcia_device *link,
return NULL;
}
- dev = alloc_etherdev(sizeof(FT1000_INFO));
+ dev = alloc_etherdev(sizeof(struct ft1000_info));
if (!dev) {
printk(KERN_ERR "ft1000: failed to allocate etherdev\n");
return NULL;
@@ -2188,7 +2188,7 @@ struct net_device *init_ft1000_card(struct pcmcia_device *link,
SET_NETDEV_DEV(dev, &link->dev);
info = netdev_priv(dev);
- memset(info, 0, sizeof(FT1000_INFO));
+ memset(info, 0, sizeof(struct ft1000_info));
DEBUG(1, "address of dev = 0x%8x\n", (u32) dev);
DEBUG(1, "address of dev info = 0x%8x\n", (u32) info);
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c
index bdfb1ae..efedb1e 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c
@@ -53,7 +53,7 @@ int ft1000ReadProc(char *page, char **start, off_t off,
struct net_device *dev;
int len;
int i;
- FT1000_INFO *info;
+ struct ft1000_info *info;
char *status[] =
{ "Idle (Disconnect)", "Searching", "Active (Connected)",
"Waiting for L2", "Sleep", "No Coverage", "", ""
@@ -172,7 +172,7 @@ static int ft1000NotifyProc(struct notifier_block *this, unsigned long event,
void *ptr)
{
struct net_device *dev = ptr;
- FT1000_INFO *info;
+ struct ft1000_info *info;
info = netdev_priv(dev);
@@ -193,7 +193,7 @@ static struct notifier_block ft1000_netdev_notifier = {
void ft1000InitProc(struct net_device *dev)
{
- FT1000_INFO *info;
+ struct ft1000_info *info;
info = netdev_priv(dev);
@@ -206,7 +206,7 @@ void ft1000InitProc(struct net_device *dev)
void ft1000CleanupProc(struct net_device *dev)
{
- FT1000_INFO *info;
+ struct ft1000_info *info;
info = netdev_priv(dev);
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 14/28] staging: ft1000-pcmcia: delete unused DPRAM_BLK typedefs
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (12 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 13/28] staging: ft1000-pcmcia: remove FT1000_INFO typedefs Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 15/28] staging: ft1000-pcmcia: delete local_info_t typedef Ondrej Zary
` (14 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Delete unused DPRAM_BLK typedefs.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 5 -----
1 files changed, 0 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index 5fc64f3..810038a 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -370,11 +370,6 @@ struct ft1000_info {
char netdevname[IFNAMSIZ];
};
-typedef struct _DPRAM_BLK {
- struct list_head list;
- u16 *pbuffer;
-} __attribute__ ((packed)) DPRAM_BLK, *PDPRAM_BLK;
-
extern u16 ft1000_read_dpram (struct net_device *dev, int offset);
extern void card_bootload(struct net_device *dev);
extern u16 ft1000_read_dpram_mag_16 (struct net_device *dev, int offset, int Index);
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 15/28] staging: ft1000-pcmcia: delete local_info_t typedef
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (13 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 14/28] staging: ft1000-pcmcia: delete unused DPRAM_BLK typedefs Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 16/28] staging: ft1000-pcmcia: remove firmware download typedefs Ondrej Zary
` (13 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Delete local_info_t typedef along with the struct as its "link" member was
not used. Use link->priv to store net_device directly.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c | 29 ++++------------------
1 files changed, 5 insertions(+), 24 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
index 798b92c..f1d6e4a 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
@@ -93,11 +93,6 @@ static void ft1000_release(struct pcmcia_device *link);
static void ft1000_detach(struct pcmcia_device *link);
static int ft1000_attach(struct pcmcia_device *link);
-typedef struct local_info_t {
- struct pcmcia_device *link;
- struct net_device *dev;
-} local_info_t;
-
#define MAX_ASIC_RESET_CNT 10
#define COR_DEFAULT 0x55
@@ -115,20 +110,9 @@ static void ft1000_reset(struct pcmcia_device * link)
static int ft1000_attach(struct pcmcia_device *link)
{
-
- local_info_t *local;
-
DEBUG(0, "ft1000_cs: ft1000_attach()\n");
- local = kzalloc(sizeof(local_info_t), GFP_KERNEL);
- if (!local) {
- return -ENOMEM;
- }
- local->link = link;
-
- link->priv = local;
- local->dev = NULL;
-
+ link->priv = NULL;
link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO;
return ft1000_config(link);
@@ -146,7 +130,7 @@ static int ft1000_attach(struct pcmcia_device *link)
static void ft1000_detach(struct pcmcia_device *link)
{
- struct net_device *dev = ((local_info_t *) link->priv)->dev;
+ struct net_device *dev = link->priv;
DEBUG(0, "ft1000_cs: ft1000_detach(0x%p)\n", link);
@@ -161,7 +145,6 @@ static void ft1000_detach(struct pcmcia_device *link)
pcmcia_disable_device(link);
- /* This points to the parent local_info_t struct */
free_netdev(dev);
} /* ft1000_detach */
@@ -205,9 +188,8 @@ static int ft1000_config(struct pcmcia_device *link)
goto failed;
}
- ((local_info_t *) link->priv)->dev = init_ft1000_card(link,
- &ft1000_reset);
- if (((local_info_t *) link->priv)->dev == NULL) {
+ link->priv = init_ft1000_card(link, &ft1000_reset);
+ if (link->priv == NULL) {
printk(KERN_INFO "ft1000: Could not register as network device\n");
goto failed;
}
@@ -244,7 +226,6 @@ static void ft1000_release(struct pcmcia_device * link)
In a normal driver, additional code may be needed to release
other kernel data structures associated with this device.
*/
- kfree((local_info_t *) link->priv);
/* Don't bother checking to see if these succeed or not */
pcmcia_disable_device(link);
@@ -264,7 +245,7 @@ static void ft1000_release(struct pcmcia_device * link)
static int ft1000_suspend(struct pcmcia_device *link)
{
- struct net_device *dev = ((local_info_t *) link->priv)->dev;
+ struct net_device *dev = link->priv;
if (link->open)
netif_device_detach(dev);
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 16/28] staging: ft1000-pcmcia: remove firmware download typedefs
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (14 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 15/28] staging: ft1000-pcmcia: delete local_info_t typedef Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 17/28] staging: ft1000-pcmcia: remove unused fields from struct ft1000_info Ondrej Zary
` (12 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove firmware download typedefs:
DFP_FILE_HDR, DSP_FILE_HDR_5, DSP_IMAGE_INFO, DSP_IMAGE_INFO_V6
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c | 36 ++++++++++----------
1 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
index fc633eb..26437a6 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
@@ -93,7 +93,7 @@ long get_request_value(struct net_device *dev);
void put_request_value(struct net_device *dev, long lvalue);
USHORT hdr_checksum(struct pseudo_hdr *pHdr);
-typedef struct _DSP_FILE_HDR {
+struct dsp_file_hdr {
u32 build_date;
u32 dsp_coff_date;
u32 loader_code_address;
@@ -103,9 +103,9 @@ typedef struct _DSP_FILE_HDR {
u32 dsp_code_size;
u32 dsp_code_end;
u32 reserved[8];
-} __attribute__ ((packed)) DSP_FILE_HDR, *PDSP_FILE_HDR;
+} __attribute__ ((packed));
-typedef struct _DSP_FILE_HDR_5 {
+struct dsp_file_hdr_5 {
u32 version_id; // Version ID of this image format.
u32 package_id; // Package ID of code release.
u32 build_date; // Date/time stamp when file was built.
@@ -117,18 +117,18 @@ typedef struct _DSP_FILE_HDR_5 {
u32 version_data_offset; // Offset were scrambled version data begins.
u32 version_data_size; // Size, in words, of scrambled version data.
u32 nDspImages; // Number of DSP images in file.
-} __attribute__ ((packed)) DSP_FILE_HDR_5, *PDSP_FILE_HDR_5;
+} __attribute__ ((packed));
-typedef struct _DSP_IMAGE_INFO {
+struct dsp_image_info {
u32 coff_date; // Date/time when DSP Coff image was built.
u32 begin_offset; // Offset in file where image begins.
u32 end_offset; // Offset in file where image begins.
u32 run_address; // On chip Start address of DSP code.
u32 image_size; // Size of image.
u32 version; // Embedded version # of DSP code.
-} __attribute__ ((packed)) DSP_IMAGE_INFO, *PDSP_IMAGE_INFO;
+} __attribute__ ((packed));
-typedef struct _DSP_IMAGE_INFO_V6 {
+struct dsp_image_info_v6 {
u32 coff_date; // Date/time when DSP Coff image was built.
u32 begin_offset; // Offset in file where image begins.
u32 end_offset; // Offset in file where image begins.
@@ -137,7 +137,7 @@ typedef struct _DSP_IMAGE_INFO_V6 {
u32 version; // Embedded version # of DSP code.
unsigned short checksum; // Dsp File checksum
unsigned short pad1;
-} __attribute__ ((packed)) DSP_IMAGE_INFO_V6, *PDSP_IMAGE_INFO_V6;
+} __attribute__ ((packed));
void card_bootload(struct net_device *dev)
{
@@ -317,15 +317,15 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
USHORT handshake;
struct pseudo_hdr *pHdr;
USHORT usHdrLength;
- PDSP_FILE_HDR pFileHdr;
+ struct dsp_file_hdr *pFileHdr;
long word_length;
USHORT request;
USHORT temp;
struct prov_record *pprov_record;
PUCHAR pbuffer;
- PDSP_FILE_HDR_5 pFileHdr5;
- PDSP_IMAGE_INFO pDspImageInfo = NULL;
- PDSP_IMAGE_INFO_V6 pDspImageInfoV6 = NULL;
+ struct dsp_file_hdr_5 *pFileHdr5;
+ struct dsp_image_info *pDspImageInfo = NULL;
+ struct dsp_image_info_v6 *pDspImageInfoV6 = NULL;
long requested_version;
BOOLEAN bGoodVersion = 0;
struct drv_msg *pMailBoxData;
@@ -351,8 +351,8 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
uiState = STATE_START_DWNLD;
- pFileHdr = (PDSP_FILE_HDR) pFileStart;
- pFileHdr5 = (PDSP_FILE_HDR_5) pFileStart;
+ pFileHdr = (struct dsp_file_hdr *) pFileStart;
+ pFileHdr5 = (struct dsp_file_hdr_5 *) pFileStart;
switch (file_version) {
case 5:
@@ -714,11 +714,11 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
get_request_value(dev);
if (file_version == 5) {
pDspImageInfo =
- (PDSP_IMAGE_INFO) ((long)
+ (struct dsp_image_info *) ((long)
pFileStart
+
sizeof
- (DSP_FILE_HDR_5));
+ (struct dsp_file_hdr_5));
for (imageN = 0;
imageN <
pFileHdr5->nDspImages;
@@ -761,11 +761,11 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
}
} else {
pDspImageInfoV6 =
- (PDSP_IMAGE_INFO_V6) ((long)
+ (struct dsp_image_info_v6 *) ((long)
pFileStart
+
sizeof
- (DSP_FILE_HDR_5));
+ (struct dsp_file_hdr_5));
for (imageN = 0;
imageN <
pFileHdr5->nDspImages;
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 17/28] staging: ft1000-pcmcia: remove unused fields from struct ft1000_info
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (15 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 16/28] staging: ft1000-pcmcia: remove firmware download typedefs Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 18/28] staging: ft1000-pcmcia: remove custom defines for standard types Ondrej Zary
` (11 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove 13 unused fields from struct ft1000_info.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 13 -------
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 35 ++++----------------
drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c | 18 ++++------
3 files changed, 15 insertions(+), 51 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index 810038a..227fcbb 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -324,25 +324,13 @@ struct ft1000_info {
struct net_device_stats stats;
u16 DrvErrNum;
u16 AsicID;
- int ASICResetNum;
- int DspAsicReset;
int PktIntfErr;
- int DSPResetNum;
- int NumIOCTLBufs;
- int IOCTLBufLvl;
- int DeviceCreated;
int CardReady;
- int DspHibernateFlag;
- int DSPReady;
- u8 DeviceName[15];
- int DeviceMajor;
int registered;
int mediastate;
u16 packetseqnum;
u8 squeseqnum; // sequence number on slow queue
spinlock_t dpram_lock;
- u16 CurrentInterruptEnableMask;
- int InterruptsEnabled;
u16 fifo_cnt;
u8 DspVer[DSPVERSZ]; // DSP version number
u8 HwSerNum[HWSERNUMSZ]; // Hardware Serial Number
@@ -358,7 +346,6 @@ struct ft1000_info {
u16 DSP_TIME[4];
struct list_head prov_list;
u16 DSPInfoBlklen;
- u16 DrvMsgPend;
int (*ft1000_reset)(void *);
void *link;
u16 DSPInfoBlk[MAX_DSP_SESS_REC];
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
index 74233e0..d8fa797 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
@@ -323,17 +323,14 @@ void ft1000_write_dpram_mag_32(struct net_device *dev, int offset, u32 value)
//---------------------------------------------------------------------------
static void ft1000_enable_interrupts(struct net_device *dev)
{
- struct ft1000_info *info = netdev_priv(dev);
u16 tempword;
DEBUG(1, "ft1000_hw:ft1000_enable_interrupts()\n");
- ft1000_write_reg(dev, FT1000_REG_SUP_IMASK,
- info->CurrentInterruptEnableMask);
+ ft1000_write_reg(dev, FT1000_REG_SUP_IMASK, ISR_DEFAULT_MASK);
tempword = ft1000_read_reg(dev, FT1000_REG_SUP_IMASK);
DEBUG(1,
"ft1000_hw:ft1000_enable_interrupts:current interrupt enable mask = 0x%x\n",
tempword);
- info->InterruptsEnabled = TRUE;
}
//---------------------------------------------------------------------------
@@ -348,7 +345,6 @@ static void ft1000_enable_interrupts(struct net_device *dev)
//---------------------------------------------------------------------------
static void ft1000_disable_interrupts(struct net_device *dev)
{
- struct ft1000_info *info = netdev_priv(dev);
u16 tempword;
DEBUG(1, "ft1000_hw: ft1000_disable_interrupts()\n");
@@ -357,7 +353,6 @@ static void ft1000_disable_interrupts(struct net_device *dev)
DEBUG(1,
"ft1000_hw:ft1000_disable_interrupts:current interrupt enable mask = 0x%x\n",
tempword);
- info->InterruptsEnabled = FALSE;
}
//---------------------------------------------------------------------------
@@ -379,7 +374,6 @@ static void ft1000_reset_asic(struct net_device *dev)
DEBUG(1, "ft1000_hw:ft1000_reset_asic called\n");
(*info->ft1000_reset) (info->link);
- info->ASICResetNum++;
// Let's use the register provided by the Magnemite ASIC to reset the
// ASIC and DSP.
@@ -456,14 +450,12 @@ static int ft1000_reset_card(struct net_device *dev)
if (ft1000_card_present == 1) {
spin_lock_irqsave(&info->dpram_lock, flags);
if (info->AsicID == ELECTRABUZZ_ID) {
- if (info->DspHibernateFlag == 0) {
- ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR,
- FT1000_DPRAM_RX_BASE);
- for (i = 0; i < MAX_DSP_SESS_REC; i++) {
- info->DSPSess.Rec[i] =
- ft1000_read_reg(dev,
- FT1000_REG_DPRAM_DATA);
- }
+ ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR,
+ FT1000_DPRAM_RX_BASE);
+ for (i = 0; i < MAX_DSP_SESS_REC; i++) {
+ info->DSPSess.Rec[i] =
+ ft1000_read_reg(dev,
+ FT1000_REG_DPRAM_DATA);
}
} else {
ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR,
@@ -481,8 +473,6 @@ static int ft1000_reset_card(struct net_device *dev)
//reset ASIC
ft1000_reset_asic(dev);
- info->DSPResetNum++;
-
DEBUG(1, "ft1000_hw:ft1000_reset_card:downloading dsp image\n");
if (info->AsicID == MAGNEMITE_ID) {
@@ -1168,7 +1158,6 @@ void ft1000_proc_drvmsg(struct net_device *dev)
case DSP_GET_INFO:
DEBUG(1, "FT1000:drivermsg:Got DSP_GET_INFO\n");
// copy dsp info block to dsp
- info->DrvMsgPend = 1;
// allow any outstanding ioctl to finish
mdelay(10);
tempword = ft1000_read_reg(dev, FT1000_REG_DOORBELL);
@@ -1211,13 +1200,11 @@ void ft1000_proc_drvmsg(struct net_device *dev)
htons(info->DSPInfoBlklen);
ft1000_send_cmd (dev, (PUSHORT)info->DSPInfoBlk, (USHORT)(info->DSPInfoBlklen+4), 0);
}
- info->DrvMsgPend = 0;
break;
case GET_DRV_ERR_RPT_MSG:
DEBUG(1, "FT1000:drivermsg:Got GET_DRV_ERR_RPT_MSG\n");
// copy driver error message to dsp
- info->DrvMsgPend = 1;
// allow any outstanding ioctl to finish
mdelay(10);
tempword = ft1000_read_reg(dev, FT1000_REG_DOORBELL);
@@ -1272,7 +1259,6 @@ void ft1000_proc_drvmsg(struct net_device *dev)
ft1000_send_cmd (dev, (PUSHORT)&tempbuffer[0], (USHORT)(0x0012), 0);
info->DrvErrNum = 0;
}
- info->DrvMsgPend = 0;
break;
default:
@@ -1339,13 +1325,11 @@ int ft1000_parse_dpram_msg(struct net_device *dev)
ft1000_write_reg(dev, FT1000_REG_SUP_CTRL,
HOST_INTF_BE);
}
- info->DspAsicReset = 0;
}
if (doorbell & FT1000_DSP_ASIC_RESET) {
DEBUG(0,
"FT1000:ft1000_parse_dpram_msg: Got a dsp ASIC reset message\n");
- info->DspAsicReset = 1;
ft1000_write_reg(dev, FT1000_REG_DOORBELL,
FT1000_DSP_ASIC_RESET);
udelay(200);
@@ -2198,16 +2182,11 @@ struct net_device *init_ft1000_card(struct pcmcia_device *link,
spin_lock_init(&info->dpram_lock);
info->DrvErrNum = 0;
- info->ASICResetNum = 0;
info->registered = 1;
info->link = link;
info->ft1000_reset = ft1000_reset;
info->mediastate = 0;
info->fifo_cnt = 0;
- info->DeviceCreated = FALSE;
- info->DeviceMajor = 0;
- info->CurrentInterruptEnableMask = ISR_DEFAULT_MASK;
- info->InterruptsEnabled = FALSE;
info->CardReady = 0;
info->DSP_TIME[0] = 0;
info->DSP_TIME[1] = 0;
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c
index efedb1e..627a98b 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c
@@ -75,16 +75,14 @@ int ft1000ReadProc(char *page, char **start, off_t off,
/* Wrap-around */
if (info->AsicID == ELECTRABUZZ_ID) {
- if (info->DspHibernateFlag == 0) {
- if (info->ProgConStat != 0xFF) {
- info->LedStat =
- ft1000_read_dpram(dev, FT1000_DSP_LED);
- info->ConStat =
- ft1000_read_dpram(dev,
- FT1000_DSP_CON_STATE);
- } else {
- info->ConStat = 0xf;
- }
+ if (info->ProgConStat != 0xFF) {
+ info->LedStat =
+ ft1000_read_dpram(dev, FT1000_DSP_LED);
+ info->ConStat =
+ ft1000_read_dpram(dev,
+ FT1000_DSP_CON_STATE);
+ } else {
+ info->ConStat = 0xf;
}
} else {
if (info->ProgConStat != 0xFF) {
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 18/28] staging: ft1000-pcmcia: remove custom defines for standard types
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (16 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 17/28] staging: ft1000-pcmcia: remove unused fields from struct ft1000_info Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 19/28] staging: ft1000-pcmcia: remove useless defines from ft1000_cs.c Ondrej Zary
` (10 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove custom defines for standard types (u8, u16, u32...)
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 13 --
drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c | 132 ++++++++++----------
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 52 ++++----
3 files changed, 92 insertions(+), 105 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index 227fcbb..f4c8735 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -67,17 +67,6 @@ struct pseudo_hdr
unsigned short checksum; // pseudo header checksum
} __attribute__ ((packed));
-// Definitions to maintain compatibility between other platforms
-#define UCHAR u8
-#define USHORT u16
-#define ULONG u32
-#define BOOLEAN u8
-#define PULONG u32 *
-#define PUSHORT u16 *
-#define PUCHAR u8 *
-#define PCHAR u8 *
-#define UINT u32
-
#define ELECTRABUZZ_ID 0 // ASIC ID for Electrabuzz
#define MAGNEMITE_ID 0x1a01 // ASIC ID for Magnemite
@@ -278,8 +267,6 @@ struct pseudo_hdr
#define SUCCESS 0x00
#define FAILURE 0x01
-#define TRUE 0x1
-#define FALSE 0x0
#define MAXIMUM_ASIC_HB_CNT 15
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
index 26437a6..c8b73c6 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
@@ -86,12 +86,12 @@
#define STATE_DONE_PROV 0x06
#define STATE_DONE_FILE 0x07
-USHORT get_handshake(struct net_device *dev, USHORT expected_value);
-void put_handshake(struct net_device *dev, USHORT handshake_value);
-USHORT get_request_type(struct net_device *dev);
+u16 get_handshake(struct net_device *dev, u16 expected_value);
+void put_handshake(struct net_device *dev, u16 handshake_value);
+u16 get_request_type(struct net_device *dev);
long get_request_value(struct net_device *dev);
void put_request_value(struct net_device *dev, long lvalue);
-USHORT hdr_checksum(struct pseudo_hdr *pHdr);
+u16 hdr_checksum(struct pseudo_hdr *pHdr);
struct dsp_file_hdr {
u32 build_date;
@@ -143,14 +143,14 @@ void card_bootload(struct net_device *dev)
{
struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
unsigned long flags;
- PULONG pdata;
- UINT size;
- UINT i;
- ULONG templong;
+ u32 *pdata;
+ u32 size;
+ u32 i;
+ u32 templong;
DEBUG(0, "card_bootload is called\n");
- pdata = (PULONG) bootimage;
+ pdata = (u32 *) bootimage;
size = sizeof(bootimage);
// check for odd word
@@ -171,11 +171,11 @@ void card_bootload(struct net_device *dev)
spin_unlock_irqrestore(&info->dpram_lock, flags);
}
-USHORT get_handshake(struct net_device *dev, USHORT expected_value)
+u16 get_handshake(struct net_device *dev, u16 expected_value)
{
struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
- USHORT handshake;
- ULONG tempx;
+ u16 handshake;
+ u32 tempx;
int loopcnt;
loopcnt = 0;
@@ -189,7 +189,7 @@ USHORT get_handshake(struct net_device *dev, USHORT expected_value)
tempx =
ntohl(ft1000_read_dpram_mag_32
(dev, DWNLD_MAG_HANDSHAKE_LOC));
- handshake = (USHORT) tempx;
+ handshake = (u16) tempx;
}
if ((handshake == expected_value)
@@ -206,27 +206,27 @@ USHORT get_handshake(struct net_device *dev, USHORT expected_value)
}
-void put_handshake(struct net_device *dev, USHORT handshake_value)
+void put_handshake(struct net_device *dev, u16 handshake_value)
{
struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
- ULONG tempx;
+ u32 tempx;
if (info->AsicID == ELECTRABUZZ_ID) {
ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR,
DWNLD_HANDSHAKE_LOC);
ft1000_write_reg(dev, FT1000_REG_DPRAM_DATA, handshake_value); /* Handshake */
} else {
- tempx = (ULONG) handshake_value;
+ tempx = (u32) handshake_value;
tempx = ntohl(tempx);
ft1000_write_dpram_mag_32(dev, DWNLD_MAG_HANDSHAKE_LOC, tempx); /* Handshake */
}
}
-USHORT get_request_type(struct net_device *dev)
+u16 get_request_type(struct net_device *dev)
{
struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
- USHORT request_type;
- ULONG tempx;
+ u16 request_type;
+ u32 tempx;
if (info->AsicID == ELECTRABUZZ_ID) {
ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR, DWNLD_TYPE_LOC);
@@ -234,7 +234,7 @@ USHORT get_request_type(struct net_device *dev)
} else {
tempx = ft1000_read_dpram_mag_32(dev, DWNLD_MAG_TYPE_LOC);
tempx = ntohl(tempx);
- request_type = (USHORT) tempx;
+ request_type = (u16) tempx;
}
return request_type;
@@ -245,7 +245,7 @@ long get_request_value(struct net_device *dev)
{
struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
long value;
- USHORT w_val;
+ u16 w_val;
if (info->AsicID == ELECTRABUZZ_ID) {
ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR,
@@ -273,18 +273,18 @@ long get_request_value(struct net_device *dev)
void put_request_value(struct net_device *dev, long lvalue)
{
struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
- USHORT size;
- ULONG tempx;
+ u16 size;
+ u32 tempx;
if (info->AsicID == ELECTRABUZZ_ID) {
- size = (USHORT) (lvalue >> 16);
+ size = (u16) (lvalue >> 16);
ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR,
DWNLD_SIZE_MSW_LOC);
ft1000_write_reg(dev, FT1000_REG_DPRAM_DATA, size);
- size = (USHORT) (lvalue);
+ size = (u16) (lvalue);
ft1000_write_reg(dev, FT1000_REG_DPRAM_ADDR,
DWNLD_SIZE_LSW_LOC);
@@ -297,10 +297,10 @@ void put_request_value(struct net_device *dev, long lvalue)
}
-USHORT hdr_checksum(struct pseudo_hdr *pHdr)
+u16 hdr_checksum(struct pseudo_hdr *pHdr)
{
- USHORT *usPtr = (USHORT *) pHdr;
- USHORT chksum;
+ u16 *usPtr = (u16 *) pHdr;
+ u16 chksum;
chksum = ((((((usPtr[0] ^ usPtr[1]) ^ usPtr[2]) ^ usPtr[3]) ^
usPtr[4]) ^ usPtr[5]) ^ usPtr[6]);
@@ -308,32 +308,32 @@ USHORT hdr_checksum(struct pseudo_hdr *pHdr)
return chksum;
}
-int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
+int card_download(struct net_device *dev, const u8 *pFileStart, u32 FileLength)
{
struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
int Status = SUCCESS;
- USHORT DspWordCnt = 0;
- UINT uiState;
- USHORT handshake;
+ u16 DspWordCnt = 0;
+ u32 uiState;
+ u16 handshake;
struct pseudo_hdr *pHdr;
- USHORT usHdrLength;
+ u16 usHdrLength;
struct dsp_file_hdr *pFileHdr;
long word_length;
- USHORT request;
- USHORT temp;
+ u16 request;
+ u16 temp;
struct prov_record *pprov_record;
- PUCHAR pbuffer;
+ u8 *pbuffer;
struct dsp_file_hdr_5 *pFileHdr5;
struct dsp_image_info *pDspImageInfo = NULL;
struct dsp_image_info_v6 *pDspImageInfoV6 = NULL;
long requested_version;
- BOOLEAN bGoodVersion = 0;
+ bool bGoodVersion = 0;
struct drv_msg *pMailBoxData;
- USHORT *pUsData = NULL;
- USHORT *pUsFile = NULL;
- UCHAR *pUcFile = NULL;
- UCHAR *pBootEnd = NULL;
- UCHAR *pCodeEnd = NULL;
+ u16 *pUsData = NULL;
+ u16 *pUsFile = NULL;
+ u8 *pUcFile = NULL;
+ u8 *pBootEnd = NULL;
+ u8 *pCodeEnd = NULL;
int imageN;
long file_version;
long loader_code_address = 0;
@@ -358,16 +358,16 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
case 5:
case 6:
pUsFile =
- (USHORT *) ((long)pFileStart + pFileHdr5->loader_offset);
+ (u16 *) ((long)pFileStart + pFileHdr5->loader_offset);
pUcFile =
- (UCHAR *) ((long)pFileStart + pFileHdr5->loader_offset);
+ (u8 *) ((long)pFileStart + pFileHdr5->loader_offset);
pBootEnd =
- (UCHAR *) ((long)pFileStart + pFileHdr5->loader_code_end);
+ (u8 *) ((long)pFileStart + pFileHdr5->loader_code_end);
loader_code_address = pFileHdr5->loader_code_address;
loader_code_size = pFileHdr5->loader_code_size;
- bGoodVersion = FALSE;
+ bGoodVersion = false;
break;
default:
@@ -410,8 +410,8 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
break;
case REQUEST_DONE_BL:
/* Reposition ptrs to beginning of code section */
- pUsFile = (USHORT *) ((long)pBootEnd);
- pUcFile = (UCHAR *) ((long)pBootEnd);
+ pUsFile = (u16 *) ((long)pBootEnd);
+ pUcFile = (u8 *) ((long)pBootEnd);
uiState = STATE_CODE_DWNLD;
break;
case REQUEST_CODE_SEGMENT:
@@ -523,12 +523,12 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
case 5:
case 6:
pUsFile =
- (USHORT *) ((long)pFileStart
+ (u16 *) ((long)pFileStart
+
pFileHdr5->
commands_offset);
pUcFile =
- (UCHAR *) ((long)pFileStart
+ (u8 *) ((long)pFileStart
+
pFileHdr5->
commands_offset);
@@ -607,7 +607,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
pMailBoxData =
(struct drv_msg *) & info->DSPInfoBlk[0];
pUsData =
- (USHORT *) & pMailBoxData->data[0];
+ (u16 *) & pMailBoxData->data[0];
// Provide mutual exclusive access while reading ASIC registers.
spin_lock_irqsave(&info->dpram_lock,
flags);
@@ -657,7 +657,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
pFileHdr5->version_data_size;
put_request_value(dev, word_length);
pUsFile =
- (USHORT *) ((long)pFileStart +
+ (u16 *) ((long)pFileStart +
pFileHdr5->
version_data_offset);
// Provide mutual exclusive access while reading ASIC registers.
@@ -709,7 +709,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
break;
case REQUEST_CODE_BY_VERSION:
- bGoodVersion = FALSE;
+ bGoodVersion = false;
requested_version =
get_request_value(dev);
if (file_version == 5) {
@@ -727,23 +727,23 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
version ==
requested_version) {
bGoodVersion =
- TRUE;
+ true;
pUsFile =
- (USHORT
+ (u16
*) ((long)
pFileStart
+
pDspImageInfo->
begin_offset);
pUcFile =
- (UCHAR
+ (u8
*) ((long)
pFileStart
+
pDspImageInfo->
begin_offset);
pCodeEnd =
- (UCHAR
+ (u8
*) ((long)
pFileStart
+
@@ -770,11 +770,11 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
imageN <
pFileHdr5->nDspImages;
imageN++) {
- temp = (USHORT)
+ temp = (u16)
(pDspImageInfoV6->
version);
templong = temp;
- temp = (USHORT)
+ temp = (u16)
(pDspImageInfoV6->
version >> 16);
templong |=
@@ -782,23 +782,23 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
if (templong ==
requested_version) {
bGoodVersion =
- TRUE;
+ true;
pUsFile =
- (USHORT
+ (u16
*) ((long)
pFileStart
+
pDspImageInfoV6->
begin_offset);
pUcFile =
- (UCHAR
+ (u8
*) ((long)
pFileStart
+
pDspImageInfoV6->
begin_offset);
pCodeEnd =
- (UCHAR
+ (u8
*) ((long)
pFileStart
+
@@ -811,7 +811,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
pDspImageInfoV6->
image_size;
image_chksum =
- (ULONG)
+ (u32)
pDspImageInfoV6->
checksum;
DEBUG(0,
@@ -886,7 +886,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
GFP_ATOMIC);
if (pbuffer) {
memcpy(pbuffer, (void *)pUcFile,
- (UINT) (usHdrLength +
+ (u32) (usHdrLength +
sizeof(struct pseudo_hdr)));
// link provisioning data
pprov_record =
@@ -900,7 +900,7 @@ int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength)
&info->prov_list);
// Move to next entry if available
pUcFile =
- (UCHAR *) ((unsigned long) pUcFile +
+ (u8 *) ((unsigned long) pUcFile +
(unsigned long) ((usHdrLength + 1) & 0xFFFFFFFE) + sizeof(struct pseudo_hdr));
if ((unsigned long) (pUcFile) -
(unsigned long) (pFileStart) >=
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
index d8fa797..b3739b9 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
@@ -56,7 +56,7 @@
#include <linux/delay.h>
#include "ft1000.h"
-int card_download(struct net_device *dev, const u8 *pFileStart, UINT FileLength);
+int card_download(struct net_device *dev, const u8 *pFileStart, u32 FileLength);
void ft1000InitProc(struct net_device *dev);
void ft1000CleanupProc(struct net_device *dev);
@@ -405,8 +405,8 @@ static void ft1000_reset_asic(struct net_device *dev)
// Input:
// dev - device structure
// Output:
-// status - FALSE (card reset fail)
-// TRUE (card reset successful)
+// status - false (card reset fail)
+// true (card reset successful)
//
//---------------------------------------------------------------------------
static int ft1000_reset_card(struct net_device *dev)
@@ -506,7 +506,7 @@ static int ft1000_reset_card(struct net_device *dev)
if (i == 50) {
DEBUG(0,
"ft1000_hw:ft1000_reset_card:No FEFE detected from DSP\n");
- return FALSE;
+ return false;
}
} else {
@@ -517,7 +517,7 @@ static int ft1000_reset_card(struct net_device *dev)
if (card_download(dev, fw_entry->data, fw_entry->size)) {
DEBUG(1, "card download unsuccessful\n");
- return FALSE;
+ return false;
} else {
DEBUG(1, "card download successful\n");
}
@@ -553,7 +553,7 @@ static int ft1000_reset_card(struct net_device *dev)
// poll_timer.data = (u_long)dev;
// add_timer(&poll_timer);
- return TRUE;
+ return true;
}
@@ -565,8 +565,8 @@ static int ft1000_reset_card(struct net_device *dev)
// Input:
// dev - device structure
// Output:
-// status - FALSE (device is not present)
-// TRUE (device is present)
+// status - false (device is not present)
+// true (device is present)
//
//---------------------------------------------------------------------------
static int ft1000_chkcard(struct net_device *dev)
@@ -579,7 +579,7 @@ static int ft1000_chkcard(struct net_device *dev)
if (tempword == 0) {
DEBUG(1,
"ft1000_hw:ft1000_chkcard: IMASK = 0 Card not detected\n");
- return FALSE;
+ return false;
}
// The system will return the value of 0xffff for the version register
// if the device is not present.
@@ -587,9 +587,9 @@ static int ft1000_chkcard(struct net_device *dev)
if (tempword == 0xffff) {
DEBUG(1,
"ft1000_hw:ft1000_chkcard: Version = 0xffff Card not detected\n");
- return FALSE;
+ return false;
}
- return TRUE;
+ return true;
}
@@ -609,7 +609,7 @@ static void ft1000_hbchk(u_long data)
struct net_device *dev = (struct net_device *)data;
struct ft1000_info *info;
- USHORT tempword;
+ u16 tempword;
info = netdev_priv(dev);
@@ -907,7 +907,7 @@ void ft1000_send_cmd (struct net_device *dev, u16 *ptempbuffer, int size, u16 qt
// = 1 (successful)
//
//---------------------------------------------------------------------------
-BOOLEAN ft1000_receive_cmd(struct net_device *dev, u16 * pbuffer, int maxsz, u16 *pnxtph)
+bool ft1000_receive_cmd(struct net_device *dev, u16 * pbuffer, int maxsz, u16 *pnxtph)
{
struct ft1000_info *info = netdev_priv(dev);
u16 size;
@@ -928,7 +928,7 @@ BOOLEAN ft1000_receive_cmd(struct net_device *dev, u16 * pbuffer, int maxsz, u16
DEBUG(1,
"FT1000:ft1000_receive_cmd:Invalid command length = %d\n",
size);
- return FALSE;
+ return false;
} else {
ppseudohdr = (u16 *) pbuffer;
spin_lock_irqsave(&info->dpram_lock, flags);
@@ -983,9 +983,9 @@ BOOLEAN ft1000_receive_cmd(struct net_device *dev, u16 * pbuffer, int maxsz, u16
DEBUG(1,
"FT1000:ft1000_receive_cmd:Pseudo header checksum mismatch\n");
// Drop this message
- return FALSE;
+ return false;
}
- return TRUE;
+ return true;
}
}
@@ -1012,7 +1012,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
u16 i;
struct prov_record *ptr;
struct pseudo_hdr *ppseudo_hdr;
- PUSHORT pmsg;
+ u16 *pmsg;
struct timeval tv;
union {
u8 byte[2];
@@ -1055,7 +1055,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
len = *(u16 *) ptr->pprov_data;
len = htons(len);
- pmsg = (PUSHORT) ptr->pprov_data;
+ pmsg = (u16 *) ptr->pprov_data;
ppseudo_hdr = (struct pseudo_hdr *) pmsg;
// Insert slow queue sequence number
ppseudo_hdr->seq_num = info->squeseqnum++;
@@ -1146,7 +1146,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
tempword = ntohs(pdrvmsg->length);
info->DSPInfoBlklen = tempword;
if (tempword < (MAX_DSP_SESS_REC - 4)) {
- pmsg = (PUSHORT) & pdrvmsg->data[0];
+ pmsg = (u16 *) & pdrvmsg->data[0];
for (i = 0; i < ((tempword + 1) / 2); i++) {
DEBUG(1,
"FT1000:drivermsg:dsp info data = 0x%x\n",
@@ -1173,7 +1173,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
if ((tempword & FT1000_DB_DPRAM_TX) == 0) {
// Put message into Slow Queue
// Form Pseudo header
- pmsg = (PUSHORT) info->DSPInfoBlk;
+ pmsg = (u16 *) info->DSPInfoBlk;
ppseudo_hdr = (struct pseudo_hdr *) pmsg;
ppseudo_hdr->length =
htons(info->DSPInfoBlklen + 4);
@@ -1198,7 +1198,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
info->DSPInfoBlk[8] = 0x7200;
info->DSPInfoBlk[9] =
htons(info->DSPInfoBlklen);
- ft1000_send_cmd (dev, (PUSHORT)info->DSPInfoBlk, (USHORT)(info->DSPInfoBlklen+4), 0);
+ ft1000_send_cmd (dev, (u16 *)info->DSPInfoBlk, (u16)(info->DSPInfoBlklen+4), 0);
}
break;
@@ -1220,7 +1220,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
if ((tempword & FT1000_DB_DPRAM_TX) == 0) {
// Put message into Slow Queue
// Form Pseudo header
- pmsg = (PUSHORT) & tempbuffer[0];
+ pmsg = (u16 *) & tempbuffer[0];
ppseudo_hdr = (struct pseudo_hdr *) pmsg;
ppseudo_hdr->length = htons(0x0012);
ppseudo_hdr->source = 0x10;
@@ -1241,7 +1241,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
for (i=1; i<7; i++) {
ppseudo_hdr->checksum ^= *pmsg++;
}
- pmsg = (PUSHORT) & tempbuffer[16];
+ pmsg = (u16 *) & tempbuffer[16];
*pmsg++ = htons(RSP_DRV_ERR_RPT_MSG);
*pmsg++ = htons(0x000e);
*pmsg++ = htons(info->DSP_TIME[0]);
@@ -1256,7 +1256,7 @@ void ft1000_proc_drvmsg(struct net_device *dev)
*pmsg++ = convert.wrd;
*pmsg++ = htons(info->DrvErrNum);
- ft1000_send_cmd (dev, (PUSHORT)&tempbuffer[0], (USHORT)(0x0012), 0);
+ ft1000_send_cmd (dev, (u16 *)&tempbuffer[0], (u16)(0x0012), 0);
info->DrvErrNum = 0;
}
@@ -1698,7 +1698,7 @@ int ft1000_copy_up_pkt(struct net_device *dev)
tempword = ft1000_read_reg(dev, FT1000_REG_DFIFO);
*pbuffer++ = (u8) (tempword >> 8);
*pbuffer++ = (u8) tempword;
- if (ft1000_chkcard(dev) == FALSE) {
+ if (ft1000_chkcard(dev) == false) {
kfree_skb(skb);
return FAILURE;
}
@@ -2025,7 +2025,7 @@ static irqreturn_t ft1000_interrupt(int irq, void *dev_id)
return IRQ_HANDLED;
}
- if (ft1000_chkcard(dev) == FALSE) {
+ if (ft1000_chkcard(dev) == false) {
ft1000_disable_interrupts(dev);
return IRQ_HANDLED;
}
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 19/28] staging: ft1000-pcmcia: remove useless defines from ft1000_cs.c
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (17 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 18/28] staging: ft1000-pcmcia: remove custom defines for standard types Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 20/28] staging: ft1000-pcmcia: remove useless debugging " Ondrej Zary
` (9 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove unused defines from ft1000_cs.c
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
index f1d6e4a..a9b0cff 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
@@ -50,10 +50,6 @@
/*====================================================================*/
-/* Module parameters */
-
-#define INT_MODULE_PARM(n, v) static int n = v; MODULE_PARM(n, "i")
-
MODULE_AUTHOR("Wai Chan");
MODULE_DESCRIPTION("FT1000 PCMCIA driver");
MODULE_LICENSE("GPL");
@@ -93,9 +89,6 @@ static void ft1000_release(struct pcmcia_device *link);
static void ft1000_detach(struct pcmcia_device *link);
static int ft1000_attach(struct pcmcia_device *link);
-#define MAX_ASIC_RESET_CNT 10
-#define COR_DEFAULT 0x55
-
/*====================================================================*/
static void ft1000_reset(struct pcmcia_device * link)
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 20/28] staging: ft1000-pcmcia: remove useless debugging from ft1000_cs.c
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (18 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 19/28] staging: ft1000-pcmcia: remove useless defines from ft1000_cs.c Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 21/28] staging: ft1000-pcmcia: remove misleading and template comments " Ondrej Zary
` (8 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove useless debugging from ft1000_cs.c
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c | 18 ------------------
1 files changed, 0 insertions(+), 18 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
index a9b0cff..b99f07d 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
@@ -65,11 +65,6 @@ MODULE_LICENSE("GPL");
left out. If you compile with PCMCIA_DEBUG=0, the debug code will
be present but disabled.
*/
-#ifdef FT_DEBUG
-#define DEBUG(n, args...) printk(KERN_DEBUG args)
-#else
-#define DEBUG(n, args...)
-#endif
/*====================================================================*/
@@ -103,8 +98,6 @@ static void ft1000_reset(struct pcmcia_device * link)
static int ft1000_attach(struct pcmcia_device *link)
{
- DEBUG(0, "ft1000_cs: ft1000_attach()\n");
-
link->priv = NULL;
link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO;
@@ -125,13 +118,6 @@ static void ft1000_detach(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
- DEBUG(0, "ft1000_cs: ft1000_detach(0x%p)\n", link);
-
- if (link == NULL) {
- DEBUG(0,"ft1000_cs:ft1000_detach: Got a NULL pointer\n");
- return;
- }
-
if (dev) {
stop_ft1000_card(dev);
}
@@ -207,8 +193,6 @@ failed:
static void ft1000_release(struct pcmcia_device * link)
{
- DEBUG(0, "ft1000_cs: ft1000_release(0x%p)\n", link);
-
/*
If the device is currently in use, we won't release until it
is actually closed, because until then, we can't be sure that
@@ -277,13 +261,11 @@ static struct pcmcia_driver ft1000_cs_driver = {
static int __init init_ft1000_cs(void)
{
- DEBUG(0, "ft1000_cs: loading\n");
return pcmcia_register_driver(&ft1000_cs_driver);
}
static void __exit exit_ft1000_cs(void)
{
- DEBUG(0, "ft1000_cs: unloading\n");
pcmcia_unregister_driver(&ft1000_cs_driver);
}
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 21/28] staging: ft1000-pcmcia: remove misleading and template comments from ft1000_cs.c
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (19 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 20/28] staging: ft1000-pcmcia: remove useless debugging " Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 22/28] staging: ft1000-pcmcia: remove unused ft1000_asic_read and ft1000_asic_write functions Ondrej Zary
` (7 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove misleading, useless and template comments from ft1000_cs.c
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c | 78 ++--------------------
1 files changed, 5 insertions(+), 73 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
index b99f07d..34fc21f 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
@@ -54,18 +54,6 @@ MODULE_AUTHOR("Wai Chan");
MODULE_DESCRIPTION("FT1000 PCMCIA driver");
MODULE_LICENSE("GPL");
-/* Newer, simpler way of listing specific interrupts */
-
-/* The old way: bit map of interrupts to choose from */
-/* This means pick from 15, 14, 12, 11, 10, 9, 7, 5, 4, and 3 */
-
-/*
- All the PCMCIA modules use PCMCIA_DEBUG to control debugging. If
- you do not define PCMCIA_DEBUG at all, all the debug code will be
- left out. If you compile with PCMCIA_DEBUG=0, the debug code will
- be present but disabled.
-*/
-
/*====================================================================*/
struct net_device *init_ft1000_card(struct pcmcia_device *link,
@@ -74,13 +62,6 @@ void stop_ft1000_card(struct net_device *);
static int ft1000_config(struct pcmcia_device *link);
static void ft1000_release(struct pcmcia_device *link);
-
-/*
- The attach() and detach() entry points are used to create and destroy
- "instances" of the driver, where each instance represents everything
- needed to manage one actual PCMCIA card.
-*/
-
static void ft1000_detach(struct pcmcia_device *link);
static int ft1000_attach(struct pcmcia_device *link);
@@ -91,11 +72,6 @@ static void ft1000_reset(struct pcmcia_device * link)
pcmcia_reset_card(link->socket);
}
-/*======================================================================
-
-
-======================================================================*/
-
static int ft1000_attach(struct pcmcia_device *link)
{
link->priv = NULL;
@@ -103,16 +79,7 @@ static int ft1000_attach(struct pcmcia_device *link)
return ft1000_config(link);
-} /* ft1000_attach */
-
-/*======================================================================
-
- This deletes a driver "instance". The device is de-registered
- with Card Services. If it has been released, all local data
- structures are freed. Otherwise, the structures will be freed
- when the device is released.
-
-======================================================================*/
+}
static void ft1000_detach(struct pcmcia_device *link)
{
@@ -126,18 +93,12 @@ static void ft1000_detach(struct pcmcia_device *link)
free_netdev(dev);
-} /* ft1000_detach */
-
-/*======================================================================
-
- Check if the io window is configured
+}
-======================================================================*/
int ft1000_confcheck(struct pcmcia_device *link, void *priv_data)
{
-
return pcmcia_request_io(link);
-} /* ft1000_confcheck */
+}
/*======================================================================
@@ -180,7 +141,7 @@ failed:
ft1000_release(link);
return -ENODEV;
-} /* ft1000_config */
+}
/*======================================================================
@@ -192,33 +153,8 @@ failed:
static void ft1000_release(struct pcmcia_device * link)
{
-
- /*
- If the device is currently in use, we won't release until it
- is actually closed, because until then, we can't be sure that
- no one will try to access the device or its data structures.
- */
-
- /*
- In a normal driver, additional code may be needed to release
- other kernel data structures associated with this device.
- */
- /* Don't bother checking to see if these succeed or not */
-
pcmcia_disable_device(link);
-} /* ft1000_release */
-
-/*======================================================================
-
- The card status event handler. Mostly, this schedules other
- stuff to run after an event is received.
-
- When a CARD_REMOVAL event is received, we immediately set a
- private flag to block future accesses to this device. All the
- functions that actually access the device should check this flag
- to make sure the card is still present.
-
-======================================================================*/
+}
static int ft1000_suspend(struct pcmcia_device *link)
{
@@ -231,13 +167,9 @@ static int ft1000_suspend(struct pcmcia_device *link)
static int ft1000_resume(struct pcmcia_device *link)
{
-/* struct net_device *dev = link->priv;
- */
return 0;
}
-
-
/*====================================================================*/
static const struct pcmcia_device_id ft1000_ids[] = {
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 22/28] staging: ft1000-pcmcia: remove unused ft1000_asic_read and ft1000_asic_write functions
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (20 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 21/28] staging: ft1000-pcmcia: remove misleading and template comments " Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 23/28] staging: ft1000-pcmcia: coding style fixes in ft1000_cs.c Ondrej Zary
` (6 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Functions ft1000_asic_read() and ft1000_asic_write() are unused. Remove them.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 34 ----------------------
1 files changed, 0 insertions(+), 34 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
index b3739b9..23854e0 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
@@ -88,40 +88,6 @@ MODULE_SUPPORTED_DEVICE("FT1000");
//---------------------------------------------------------------------------
//
-// Function: ft1000_asic_read
-// Description: This function will retrieve the value of a specific ASIC
-// register.
-// Input:
-// dev - network device structure
-// offset - ASIC register to read
-// Output:
-// value - value of ASIC register
-//
-//---------------------------------------------------------------------------
-inline u16 ft1000_asic_read(struct net_device *dev, u16 offset)
-{
- return (ft1000_read_reg(dev, offset));
-}
-
-//---------------------------------------------------------------------------
-//
-// Function: ft1000_asic_write
-// Description: This function will set the value of a specific ASIC
-// register.
-// Input:
-// dev - network device structure
-// value - value to set ASIC register
-// Output:
-// none
-//
-//---------------------------------------------------------------------------
-inline void ft1000_asic_write(struct net_device *dev, u16 offset, u16 value)
-{
- ft1000_write_reg(dev, offset, value);
-}
-
-//---------------------------------------------------------------------------
-//
// Function: ft1000_read_fifo_len
// Description: This function will read the ASIC Uplink FIFO status register
// which will return the number of bytes remaining in the Uplink FIFO.
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 23/28] staging: ft1000-pcmcia: coding style fixes in ft1000_cs.c
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (21 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 22/28] staging: ft1000-pcmcia: remove unused ft1000_asic_read and ft1000_asic_write functions Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 24/28] staging: ft1000-pcmcia: remove unused includes from ft1000_cs.c Ondrej Zary
` (5 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Minor coding style fixes in ft1000_cs.c
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c | 29 +++++++++-------------
1 files changed, 12 insertions(+), 17 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
index 34fc21f..9a54c84 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
@@ -63,11 +63,11 @@ void stop_ft1000_card(struct net_device *);
static int ft1000_config(struct pcmcia_device *link);
static void ft1000_release(struct pcmcia_device *link);
static void ft1000_detach(struct pcmcia_device *link);
-static int ft1000_attach(struct pcmcia_device *link);
+static int ft1000_attach(struct pcmcia_device *link);
/*====================================================================*/
-static void ft1000_reset(struct pcmcia_device * link)
+static void ft1000_reset(struct pcmcia_device *link)
{
pcmcia_reset_card(link->socket);
}
@@ -78,21 +78,17 @@ static int ft1000_attach(struct pcmcia_device *link)
link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_SET_IO;
return ft1000_config(link);
-
}
static void ft1000_detach(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
- if (dev) {
+ if (dev)
stop_ft1000_card(dev);
- }
pcmcia_disable_device(link);
-
free_netdev(dev);
-
}
int ft1000_confcheck(struct pcmcia_device *link, void *priv_data)
@@ -110,7 +106,7 @@ int ft1000_confcheck(struct pcmcia_device *link, void *priv_data)
static int ft1000_config(struct pcmcia_device *link)
{
- int ret;
+ int ret;
dev_dbg(&link->dev, "ft1000_cs: ft1000_config(0x%p)\n", link);
@@ -129,7 +125,7 @@ static int ft1000_config(struct pcmcia_device *link)
}
link->priv = init_ft1000_card(link, &ft1000_reset);
- if (link->priv == NULL) {
+ if (!link->priv) {
printk(KERN_INFO "ft1000: Could not register as network device\n");
goto failed;
}
@@ -140,7 +136,6 @@ static int ft1000_config(struct pcmcia_device *link)
failed:
ft1000_release(link);
return -ENODEV;
-
}
/*======================================================================
@@ -151,7 +146,7 @@ failed:
======================================================================*/
-static void ft1000_release(struct pcmcia_device * link)
+static void ft1000_release(struct pcmcia_device *link)
{
pcmcia_disable_device(link);
}
@@ -182,13 +177,13 @@ static const struct pcmcia_device_id ft1000_ids[] = {
MODULE_DEVICE_TABLE(pcmcia, ft1000_ids);
static struct pcmcia_driver ft1000_cs_driver = {
- .owner = THIS_MODULE,
- .name = "ft1000_cs",
- .probe = ft1000_attach,
- .remove = ft1000_detach,
+ .owner = THIS_MODULE,
+ .name = "ft1000_cs",
+ .probe = ft1000_attach,
+ .remove = ft1000_detach,
.id_table = ft1000_ids,
- .suspend = ft1000_suspend,
- .resume = ft1000_resume,
+ .suspend = ft1000_suspend,
+ .resume = ft1000_resume,
};
static int __init init_ft1000_cs(void)
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 24/28] staging: ft1000-pcmcia: remove unused includes from ft1000_cs.c
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (22 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 23/28] staging: ft1000-pcmcia: coding style fixes in ft1000_cs.c Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 25/28] staging: ft1000-pcmcia: remove useless ft1000_release() function Ondrej Zary
` (4 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove unused includes from ft1000_cs.c
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c | 15 ---------------
1 files changed, 0 insertions(+), 15 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
index 9a54c84..13b6837 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
@@ -29,25 +29,10 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
-#include <linux/ptrace.h>
-#include <linux/slab.h>
-#include <linux/string.h>
-#include <linux/timer.h>
-#include <linux/ioport.h>
-#include <linux/delay.h>
-
#include <linux/netdevice.h>
-#include <linux/etherdevice.h>
-
#include <pcmcia/cistpl.h>
-#include <pcmcia/cisreg.h>
#include <pcmcia/ds.h>
-#include <asm/io.h>
-#include <asm/system.h>
-#include <asm/byteorder.h>
-#include <asm/uaccess.h>
-
/*====================================================================*/
MODULE_AUTHOR("Wai Chan");
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 25/28] staging: ft1000-pcmcia: remove useless ft1000_release() function
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (23 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 24/28] staging: ft1000-pcmcia: remove unused includes from ft1000_cs.c Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 26/28] staging: ft1000-pcmcia: CodingStyle fixes in ft1000.h Ondrej Zary
` (3 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove useless ft1000_release() function.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c | 16 +---------------
1 files changed, 1 insertions(+), 15 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
index 13b6837..6a1c1d4 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_cs.c
@@ -46,7 +46,6 @@ struct net_device *init_ft1000_card(struct pcmcia_device *link,
void stop_ft1000_card(struct net_device *);
static int ft1000_config(struct pcmcia_device *link);
-static void ft1000_release(struct pcmcia_device *link);
static void ft1000_detach(struct pcmcia_device *link);
static int ft1000_attach(struct pcmcia_device *link);
@@ -119,23 +118,10 @@ static int ft1000_config(struct pcmcia_device *link)
return 0;
failed:
- ft1000_release(link);
+ pcmcia_disable_device(link);
return -ENODEV;
}
-/*======================================================================
-
- After a card is removed, ft1000_release() will unregister the
- device, and release the PCMCIA configuration. If the device is
- still open, this will be postponed until it is closed.
-
-======================================================================*/
-
-static void ft1000_release(struct pcmcia_device *link)
-{
- pcmcia_disable_device(link);
-}
-
static int ft1000_suspend(struct pcmcia_device *link)
{
struct net_device *dev = link->priv;
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 26/28] staging: ft1000-pcmcia: CodingStyle fixes in ft1000.h
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (24 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 25/28] staging: ft1000-pcmcia: remove useless ft1000_release() function Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 27/28] staging: ft1000-pcmcia: remove PSEUDOSZ, use sizeof(struct pseudo_hdr) instead Ondrej Zary
` (2 subsequent siblings)
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Major CodingStyle fixes in ft1000.h
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 621 ++++++++++++-------------
1 files changed, 297 insertions(+), 324 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index f4c8735..e1aa528 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -1,281 +1,252 @@
-//---------------------------------------------------------------------------
-// FT1000 driver for Flarion Flash OFDM NIC Device
-//
-// Copyright (C) 2002 Flarion Technologies, 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.
-//---------------------------------------------------------------------------
-//
-// File: ft1000.h
-//
-// Description: Common structures and defines
-//
-// History:
-// 8/29/02 Whc Ported to Linux.
-// 7/19/04 Whc Drop packet and cmd msg with pseudo header
-// checksum
-// 10/27/04 Whc Added dynamic downloading of test image.
-// 01/11/04 Whc Added support for Magnemite ASIC
-//
-//---------------------------------------------------------------------------
+/*---------------------------------------------------------------------------
+ FT1000 driver for Flarion Flash OFDM NIC Device
+
+ Copyright (C) 2002 Flarion Technologies, 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.
+---------------------------------------------------------------------------
+ Description: Common structures and defines
+---------------------------------------------------------------------------*/
#ifndef _FT1000H_
#define _FT1000H_
-
-#define FT1000_DRV_VER 0x01010300
-
-#define DSPVERSZ 4
-#define HWSERNUMSZ 16
-#define SKUSZ 20
-#define EUISZ 8
-#define MODESZ 2
-#define CALVERSZ 2
-#define CALDATESZ 6
-
-// Pseudo Header structure
-struct pseudo_hdr
-{
- unsigned short length; // length of msg body
- unsigned char source; // hardware source id
- // Host = 0x10
- // Dsp = 0x20
- unsigned char destination; // hardware destination id (refer to source)
- unsigned char portdest; // software destination port id
- // Host = 0x00
- // Applicaton Broadcast = 0x10
- // Network Stack = 0x20
- // Dsp OAM = 0x80
- // Dsp Airlink = 0x90
- // Dsp Loader = 0xa0
- // Dsp MIP = 0xb0
- unsigned char portsrc; // software source port id (refer to portdest)
- unsigned short sh_str_id; // not used
- unsigned char control; // not used
- unsigned char rsvd1;
- unsigned char seq_num; // message sequence number
- unsigned char rsvd2;
- unsigned short qos_class; // not used
- unsigned short checksum; // pseudo header checksum
-} __attribute__ ((packed));
-
-#define ELECTRABUZZ_ID 0 // ASIC ID for Electrabuzz
-#define MAGNEMITE_ID 0x1a01 // ASIC ID for Magnemite
-
-// MEMORY MAP common to both ELECTRABUZZ and MAGNEMITE
-#define FT1000_REG_DPRAM_ADDR 0x000E // DPADR - Dual Port Ram Indirect Address Register
-#define FT1000_REG_SUP_CTRL 0x0020 // HCTR - Host Control Register
-#define FT1000_REG_SUP_STAT 0x0022 // HSTAT - Host Status Register
-#define FT1000_REG_RESET 0x0024 // HCTR - Host Control Register
-#define FT1000_REG_SUP_ISR 0x0026 // HISR - Host Interrupt Status Register
-#define FT1000_REG_SUP_IMASK 0x0028 // HIMASK - Host Interrupt Mask
-#define FT1000_REG_DOORBELL 0x002a // DBELL - Door Bell Register
-#define FT1000_REG_ASIC_ID 0x002e // ASICID - ASIC Identification Number
- // (Electrabuzz=0 Magnemite=0x1A01)
-
-// MEMORY MAP FOR ELECTRABUZZ ASIC
-
-#define FT1000_REG_UFIFO_STAT 0x0000 // UFSR - Uplink FIFO status register
-#define FT1000_REG_UFIFO_BEG 0x0002 // UFBR - Uplink FIFO beginning register
-#define FT1000_REG_UFIFO_MID 0x0004 // UFMR - Uplink FIFO middle register
-#define FT1000_REG_UFIFO_END 0x0006 // UFER - Uplink FIFO end register
-#define FT1000_REG_DFIFO_STAT 0x0008 // DFSR - Downlink FIFO status register
-#define FT1000_REG_DFIFO 0x000A // DFR - Downlink FIFO Register
-#define FT1000_REG_DPRAM_DATA 0x000C // DPRAM - Dual Port Indirect Data Register
-#define FT1000_REG_WATERMARK 0x0010 // WMARK - Watermark Register
-
-// MEMORY MAP FOR MAGNEMITE
-#define FT1000_REG_MAG_UFDR 0x0000 // UFDR - Uplink FIFO Data Register (32-bits)
-#define FT1000_REG_MAG_UFDRL 0x0000 // UFDRL - Uplink FIFO Data Register low-word (16-bits)
-#define FT1000_REG_MAG_UFDRH 0x0002 // UFDRH - Uplink FIFO Data Register high-word (16-bits)
-#define FT1000_REG_MAG_UFER 0x0004 // UFER - Uplink FIFO End Register
-#define FT1000_REG_MAG_UFSR 0x0006 // UFSR - Uplink FIFO Status Register
-#define FT1000_REG_MAG_DFR 0x0008 // DFR - Downlink FIFO Register (32-bits)
-#define FT1000_REG_MAG_DFRL 0x0008 // DFRL - Downlink FIFO Register low-word (16-bits)
-#define FT1000_REG_MAG_DFRH 0x000a // DFRH - Downlink FIFO Register high-word (16-bits)
-#define FT1000_REG_MAG_DFSR 0x000c // DFSR - Downlink FIFO Status Register
-#define FT1000_REG_MAG_DPDATA 0x0010 // DPDATA - Dual Port RAM Indirect Data Register (32-bits)
-#define FT1000_REG_MAG_DPDATAL 0x0010 // DPDATAL - Dual Port RAM Indirect Data Register low-word (16-bits)
-#define FT1000_REG_MAG_DPDATAH 0x0012 // DPDATAH - Dual Port RAM Indirect Data Register high-word (16-bits)
-#define FT1000_REG_MAG_WATERMARK 0x002c // WMARK - Watermark Register
-
-// Reserved Dual Port RAM offsets for Electrabuzz
-#define FT1000_DPRAM_TX_BASE 0x0002 // Host to PC Card Messaging Area
-#define FT1000_DPRAM_RX_BASE 0x0800 // PC Card to Host Messaging Area
-#define FT1000_FIFO_LEN 0x7FC // total length for DSP FIFO tracking
-#define FT1000_HI_HO 0x7FE // heartbeat with HI/HO
-#define FT1000_DSP_STATUS 0xFFE // dsp status - non-zero is a request to reset dsp
-#define FT1000_DSP_LED 0xFFA // dsp led status for PAD device
-#define FT1000_DSP_CON_STATE 0xFF8 // DSP Connection Status Info
-#define FT1000_DPRAM_FEFE 0x002 // location for dsp ready indicator
-#define FT1000_DSP_TIMER0 0x1FF0 // Timer Field from Basestation
-#define FT1000_DSP_TIMER1 0x1FF2 // Timer Field from Basestation
-#define FT1000_DSP_TIMER2 0x1FF4 // Timer Field from Basestation
-#define FT1000_DSP_TIMER3 0x1FF6 // Timer Field from Basestation
-
-// Reserved Dual Port RAM offsets for Magnemite
-#define FT1000_DPRAM_MAG_TX_BASE 0x0000 // Host to PC Card Messaging Area
-#define FT1000_DPRAM_MAG_RX_BASE 0x0200 // PC Card to Host Messaging Area
-#define FT1000_MAG_FIFO_LEN 0x1FF // total length for DSP FIFO tracking
-#define FT1000_MAG_FIFO_LEN_INDX 0x1 // low-word index
-#define FT1000_MAG_HI_HO 0x1FF // heartbeat with HI/HO
-#define FT1000_MAG_HI_HO_INDX 0x0 // high-word index
-#define FT1000_MAG_DSP_LED 0x3FE // dsp led status for PAD device
-#define FT1000_MAG_DSP_LED_INDX 0x0 // dsp led status for PAD device
-
-#define FT1000_MAG_DSP_CON_STATE 0x3FE // DSP Connection Status Info
-#define FT1000_MAG_DSP_CON_STATE_INDX 0x1 // DSP Connection Status Info
-
-#define FT1000_MAG_DPRAM_FEFE 0x000 // location for dsp ready indicator
-#define FT1000_MAG_DPRAM_FEFE_INDX 0x0 // location for dsp ready indicator
-
-#define FT1000_MAG_DSP_TIMER0 0x3FC // Timer Field from Basestation
-#define FT1000_MAG_DSP_TIMER0_INDX 0x1
-
-#define FT1000_MAG_DSP_TIMER1 0x3FC // Timer Field from Basestation
-#define FT1000_MAG_DSP_TIMER1_INDX 0x0
-
-#define FT1000_MAG_DSP_TIMER2 0x3FD // Timer Field from Basestation
-#define FT1000_MAG_DSP_TIMER2_INDX 0x1
-
-#define FT1000_MAG_DSP_TIMER3 0x3FD // Timer Field from Basestation
-#define FT1000_MAG_DSP_TIMER3_INDX 0x0
-
-#define FT1000_MAG_TOTAL_LEN 0x200
-#define FT1000_MAG_TOTAL_LEN_INDX 0x1
-
-#define FT1000_MAG_PH_LEN 0x200
-#define FT1000_MAG_PH_LEN_INDX 0x0
-
-#define FT1000_MAG_PORT_ID 0x201
-#define FT1000_MAG_PORT_ID_INDX 0x0
-
-#define HOST_INTF_LE 0x0 // Host interface little endian mode
-#define HOST_INTF_BE 0x1 // Host interface big endian mode
-
-// PC Card to Host Doorbell assignments
-#define FT1000_DB_DPRAM_RX 0x0001 // this value indicates that DSP has
- // data for host in DPRAM
-#define FT1000_ASIC_RESET_REQ 0x0004 // DSP requesting host to reset the ASIC
-#define FT1000_DSP_ASIC_RESET 0x0008 // DSP indicating host that it will reset the ASIC
-#define FT1000_DB_COND_RESET 0x0010 // DSP request for a card reset.
-
-// Host to PC Card Doorbell assignments
-#define FT1000_DB_DPRAM_TX 0x0100 // this value indicates that host has
- // data for DSP in DPRAM.
-#define FT1000_ASIC_RESET_DSP 0x0400 // Responds to FT1000_ASIC_RESET_REQ
-#define FT1000_DB_HB 0x1000 // Indicates that supervisor
- // has a heartbeat message for DSP.
-
-#define FT1000_DPRAM_BASE 0x0000 // Dual Port RAM starting offset
-
-#define hi 0x6869 // PC Card heartbeat values
-#define ho 0x686f // PC Card heartbeat values
-
-// Magnemite specific defines
-#define hi_mag 0x6968 // Byte swap hi to avoid additional system call
-#define ho_mag 0x6f68 // Byte swap ho to avoid additional system call
-
-//
-// Bit field definitions for Host Interrupt Status Register
-//
-// Indicate the cause of an interrupt.
-//
-#define ISR_EMPTY 0x00 // no bits set
-#define ISR_DOORBELL_ACK 0x01 // Doorbell acknowledge from DSP
-#define ISR_DOORBELL_PEND 0x02 // Doorbell pending from DSP
-#define ISR_RCV 0x04 // Packet available in Downlink FIFO
-#define ISR_WATERMARK 0x08 // Watermark requirements satisfied
-
-// Bit field definition for Host Interrupt Mask
-#define ISR_MASK_NONE 0x0000 // no bits set
-#define ISR_MASK_DOORBELL_ACK 0x0001 // Doorbell acknowledge mask
-#define ISR_MASK_DOORBELL_PEND 0x0002 // Doorbell pending mask
-#define ISR_MASK_RCV 0x0004 // Downlink Packet available mask
-#define ISR_MASK_WATERMARK 0x0008 // Watermark interrupt mask
-#define ISR_MASK_ALL 0xffff // Mask all interrupts
-
-// Bit field definition for Host Control Register
-#define DSP_RESET_BIT 0x0001 // Bit field to control dsp reset state
- // (0 = out of reset 1 = reset)
-#define ASIC_RESET_BIT 0x0002 // Bit field to control ASIC reset state
- // (0 = out of reset 1 = reset)
-
-// Default interrupt mask (Enable Doorbell pending and Packet available interrupts)
-#define ISR_DEFAULT_MASK 0x7ff9
-
-// Application specific IDs
-#define DSPID 0x20
-#define HOSTID 0x10
-#define DSPAIRID 0x90
-#define DRIVERID 0x00
-#define NETWORKID 0x20
-
-// Size of DPRAM Message
-#define MAX_CMD_SQSIZE 1780
-
-#define ENET_MAX_SIZE 1514
-#define ENET_HEADER_SIZE 14
-
-#define SLOWQ_TYPE 0
-#define FASTQ_TYPE 1
-
-#define MAX_DSP_SESS_REC 1024
-
-#define DSP_QID_OFFSET 4
-#define PSEUDOSZ 16
-#define PSEUDOSZWRD 8
-
-// Maximum number of occurrence of pseudo header errors before resetting PC Card.
-#define MAX_PH_ERR 300
-
-// Driver message types
-#define MEDIA_STATE 0x0010
-#define TIME_UPDATE 0x0020
-#define DSP_PROVISION 0x0030
-#define DSP_INIT_MSG 0x0050
-#define DSP_HIBERNATE 0x0060
-
-#define DSP_STORE_INFO 0x0070
-#define DSP_GET_INFO 0x0071
-#define GET_DRV_ERR_RPT_MSG 0x0073
-#define RSP_DRV_ERR_RPT_MSG 0x0074
-
-// Driver Error Messages for DSP
-#define DSP_HB_INFO 0x7ef0
-#define DSP_FIFO_INFO 0x7ef1
-#define DSP_CONDRESET_INFO 0x7ef2
-#define DSP_CMDLEN_INFO 0x7ef3
-#define DSP_CMDPHCKSUM_INFO 0x7ef4
-#define DSP_PKTPHCKSUM_INFO 0x7ef5
-#define DSP_PKTLEN_INFO 0x7ef6
-#define DSP_USER_RESET 0x7ef7
-#define FIFO_FLUSH_MAXLIMIT 0x7ef8
-#define FIFO_FLUSH_BADCNT 0x7ef9
-#define FIFO_ZERO_LEN 0x7efa
-
-#define HOST_QID_OFFSET 5
-#define QTYPE_OFFSET 13
-
-#define SUCCESS 0x00
-#define FAILURE 0x01
-
-#define MAXIMUM_ASIC_HB_CNT 15
+#define FT1000_DRV_VER 0x01010300
+
+#define DSPVERSZ 4
+#define HWSERNUMSZ 16
+#define SKUSZ 20
+#define EUISZ 8
+#define MODESZ 2
+#define CALVERSZ 2
+#define CALDATESZ 6
+
+/* Pseudo Header structure */
+struct pseudo_hdr {
+ unsigned short length; /* length of msg body */
+ unsigned char source; /* hardware source id */
+ /* Host = 0x10 */
+ /* Dsp = 0x20 */
+ unsigned char destination; /* hardware destination id (refer to source) */
+ unsigned char portdest; /* software destination port id */
+ /* Host = 0x00 */
+ /* Applicaton Broadcast = 0x10 */
+ /* Network Stack = 0x20 */
+ /* Dsp OAM = 0x80 */
+ /* Dsp Airlink = 0x90 */
+ /* Dsp Loader = 0xa0 */
+ /* Dsp MIP = 0xb0 */
+ unsigned char portsrc; /* software source port id (refer to portdest) */
+ unsigned short sh_str_id; /* not used */
+ unsigned char control; /* not used */
+ unsigned char rsvd1;
+ unsigned char seq_num; /* message sequence number */
+ unsigned char rsvd2;
+ unsigned short qos_class; /* not used */
+ unsigned short checksum; /* pseudo header checksum */
+} __packed;
+
+#define ELECTRABUZZ_ID 0 /* ASIC ID for Electrabuzz */
+#define MAGNEMITE_ID 0x1a01 /* ASIC ID for Magnemite */
+
+/* MEMORY MAP common to both ELECTRABUZZ and MAGNEMITE */
+#define FT1000_REG_DPRAM_ADDR 0x000E /* DPADR - Dual Port Ram Indirect Address Register */
+#define FT1000_REG_SUP_CTRL 0x0020 /* HCTR - Host Control Register */
+#define FT1000_REG_SUP_STAT 0x0022 /* HSTAT - Host Status Register */
+#define FT1000_REG_RESET 0x0024 /* HCTR - Host Control Register */
+#define FT1000_REG_SUP_ISR 0x0026 /* HISR - Host Interrupt Status Register */
+#define FT1000_REG_SUP_IMASK 0x0028 /* HIMASK - Host Interrupt Mask */
+#define FT1000_REG_DOORBELL 0x002a /* DBELL - Door Bell Register */
+#define FT1000_REG_ASIC_ID 0x002e /* ASICID - ASIC Identification Number */
+
+/* MEMORY MAP FOR ELECTRABUZZ ASIC */
+#define FT1000_REG_UFIFO_STAT 0x0000 /* UFSR - Uplink FIFO status register */
+#define FT1000_REG_UFIFO_BEG 0x0002 /* UFBR - Uplink FIFO beginning register */
+#define FT1000_REG_UFIFO_MID 0x0004 /* UFMR - Uplink FIFO middle register */
+#define FT1000_REG_UFIFO_END 0x0006 /* UFER - Uplink FIFO end register */
+#define FT1000_REG_DFIFO_STAT 0x0008 /* DFSR - Downlink FIFO status register */
+#define FT1000_REG_DFIFO 0x000A /* DFR - Downlink FIFO Register */
+#define FT1000_REG_DPRAM_DATA 0x000C /* DPRAM - Dual Port Indirect Data Register */
+#define FT1000_REG_WATERMARK 0x0010 /* WMARK - Watermark Register */
+
+/* MEMORY MAP FOR MAGNEMITE */
+#define FT1000_REG_MAG_UFDR 0x0000 /* UFDR - Uplink FIFO Data Register (32-bits) */
+#define FT1000_REG_MAG_UFDRL 0x0000 /* UFDRL - Uplink FIFO Data Register low-word (16-bits) */
+#define FT1000_REG_MAG_UFDRH 0x0002 /* UFDRH - Uplink FIFO Data Register high-word (16-bits) */
+#define FT1000_REG_MAG_UFER 0x0004 /* UFER - Uplink FIFO End Register */
+#define FT1000_REG_MAG_UFSR 0x0006 /* UFSR - Uplink FIFO Status Register */
+#define FT1000_REG_MAG_DFR 0x0008 /* DFR - Downlink FIFO Register (32-bits) */
+#define FT1000_REG_MAG_DFRL 0x0008 /* DFRL - Downlink FIFO Register low-word (16-bits) */
+#define FT1000_REG_MAG_DFRH 0x000a /* DFRH - Downlink FIFO Register high-word (16-bits) */
+#define FT1000_REG_MAG_DFSR 0x000c /* DFSR - Downlink FIFO Status Register */
+#define FT1000_REG_MAG_DPDATA 0x0010 /* DPDATA - Dual Port RAM Indirect Data Register (32-bits) */
+#define FT1000_REG_MAG_DPDATAL 0x0010 /* DPDATAL - Dual Port RAM Indirect Data Register low-word (16-bits) */
+#define FT1000_REG_MAG_DPDATAH 0x0012 /* DPDATAH - Dual Port RAM Indirect Data Register high-word (16-bits) */
+#define FT1000_REG_MAG_WATERMARK 0x002c /* WMARK - Watermark Register */
+
+/* Reserved Dual Port RAM offsets for Electrabuzz */
+#define FT1000_DPRAM_TX_BASE 0x0002 /* Host to PC Card Messaging Area */
+#define FT1000_DPRAM_RX_BASE 0x0800 /* PC Card to Host Messaging Area */
+#define FT1000_FIFO_LEN 0x07FC /* total length for DSP FIFO tracking */
+#define FT1000_HI_HO 0x07FE /* heartbeat with HI/HO */
+#define FT1000_DSP_STATUS 0x0FFE /* dsp status - non-zero is a request to reset dsp */
+#define FT1000_DSP_LED 0x0FFA /* dsp led status for PAD device */
+#define FT1000_DSP_CON_STATE 0x0FF8 /* DSP Connection Status Info */
+#define FT1000_DPRAM_FEFE 0x0002 /* location for dsp ready indicator */
+#define FT1000_DSP_TIMER0 0x1FF0 /* Timer Field from Basestation */
+#define FT1000_DSP_TIMER1 0x1FF2 /* Timer Field from Basestation */
+#define FT1000_DSP_TIMER2 0x1FF4 /* Timer Field from Basestation */
+#define FT1000_DSP_TIMER3 0x1FF6 /* Timer Field from Basestation */
+
+/* Reserved Dual Port RAM offsets for Magnemite */
+#define FT1000_DPRAM_MAG_TX_BASE 0x0000 /* Host to PC Card Messaging Area */
+#define FT1000_DPRAM_MAG_RX_BASE 0x0200 /* PC Card to Host Messaging Area */
+
+#define FT1000_MAG_FIFO_LEN 0x1FF /* total length for DSP FIFO tracking */
+#define FT1000_MAG_FIFO_LEN_INDX 0x1 /* low-word index */
+#define FT1000_MAG_HI_HO 0x1FF /* heartbeat with HI/HO */
+#define FT1000_MAG_HI_HO_INDX 0x0 /* high-word index */
+#define FT1000_MAG_DSP_LED 0x3FE /* dsp led status for PAD device */
+#define FT1000_MAG_DSP_LED_INDX 0x0 /* dsp led status for PAD device */
+#define FT1000_MAG_DSP_CON_STATE 0x3FE /* DSP Connection Status Info */
+#define FT1000_MAG_DSP_CON_STATE_INDX 0x1 /* DSP Connection Status Info */
+#define FT1000_MAG_DPRAM_FEFE 0x000 /* location for dsp ready indicator */
+#define FT1000_MAG_DPRAM_FEFE_INDX 0x0 /* location for dsp ready indicator */
+#define FT1000_MAG_DSP_TIMER0 0x3FC /* Timer Field from Basestation */
+#define FT1000_MAG_DSP_TIMER0_INDX 0x1
+#define FT1000_MAG_DSP_TIMER1 0x3FC /* Timer Field from Basestation */
+#define FT1000_MAG_DSP_TIMER1_INDX 0x0
+#define FT1000_MAG_DSP_TIMER2 0x3FD /* Timer Field from Basestation */
+#define FT1000_MAG_DSP_TIMER2_INDX 0x1
+#define FT1000_MAG_DSP_TIMER3 0x3FD /* Timer Field from Basestation */
+#define FT1000_MAG_DSP_TIMER3_INDX 0x0
+#define FT1000_MAG_TOTAL_LEN 0x200
+#define FT1000_MAG_TOTAL_LEN_INDX 0x1
+#define FT1000_MAG_PH_LEN 0x200
+#define FT1000_MAG_PH_LEN_INDX 0x0
+#define FT1000_MAG_PORT_ID 0x201
+#define FT1000_MAG_PORT_ID_INDX 0x0
+
+#define HOST_INTF_LE 0x0 /* Host interface little endian mode */
+#define HOST_INTF_BE 0x1 /* Host interface big endian mode */
+
+/* PC Card to Host Doorbell assignments */
+#define FT1000_DB_DPRAM_RX 0x0001 /* this value indicates that DSP has data for host in DPRAM */
+#define FT1000_ASIC_RESET_REQ 0x0004 /* DSP requesting host to reset the ASIC */
+#define FT1000_DSP_ASIC_RESET 0x0008 /* DSP indicating host that it will reset the ASIC */
+#define FT1000_DB_COND_RESET 0x0010 /* DSP request for a card reset. */
+
+/* Host to PC Card Doorbell assignments */
+#define FT1000_DB_DPRAM_TX 0x0100 /* this value indicates that host has data for DSP in DPRAM. */
+#define FT1000_ASIC_RESET_DSP 0x0400 /* Responds to FT1000_ASIC_RESET_REQ */
+#define FT1000_DB_HB 0x1000 /* Indicates that supervisor has a heartbeat message for DSP. */
+
+#define FT1000_DPRAM_BASE 0x0000 /* Dual Port RAM starting offset */
+
+#define hi 0x6869 /* PC Card heartbeat values */
+#define ho 0x686f /* PC Card heartbeat values */
+
+/* Magnemite specific defines */
+#define hi_mag 0x6968 /* Byte swap hi to avoid additional system call */
+#define ho_mag 0x6f68 /* Byte swap ho to avoid additional system call */
+
+/* Bit field definitions for Host Interrupt Status Register */
+/* Indicate the cause of an interrupt. */
+#define ISR_EMPTY 0x00 /* no bits set */
+#define ISR_DOORBELL_ACK 0x01 /* Doorbell acknowledge from DSP */
+#define ISR_DOORBELL_PEND 0x02 /* Doorbell pending from DSP */
+#define ISR_RCV 0x04 /* Packet available in Downlink FIFO */
+#define ISR_WATERMARK 0x08 /* Watermark requirements satisfied */
+
+/* Bit field definition for Host Interrupt Mask */
+#define ISR_MASK_NONE 0x0000 /* no bits set */
+#define ISR_MASK_DOORBELL_ACK 0x0001 /* Doorbell acknowledge mask */
+#define ISR_MASK_DOORBELL_PEND 0x0002 /* Doorbell pending mask */
+#define ISR_MASK_RCV 0x0004 /* Downlink Packet available mask */
+#define ISR_MASK_WATERMARK 0x0008 /* Watermark interrupt mask */
+#define ISR_MASK_ALL 0xffff /* Mask all interrupts */
+
+/* Bit field definition for Host Control Register */
+#define DSP_RESET_BIT 0x0001 /* Bit field to control dsp reset state */
+ /* (0 = out of reset 1 = reset) */
+#define ASIC_RESET_BIT 0x0002 /* Bit field to control ASIC reset state */
+ /* (0 = out of reset 1 = reset) */
+
+/* Default interrupt mask (Enable Doorbell pending and Packet available interrupts) */
+#define ISR_DEFAULT_MASK 0x7ff9
+
+/* Application specific IDs */
+#define DSPID 0x20
+#define HOSTID 0x10
+#define DSPAIRID 0x90
+#define DRIVERID 0x00
+#define NETWORKID 0x20
+
+/* Size of DPRAM Message */
+#define MAX_CMD_SQSIZE 1780
+
+#define ENET_MAX_SIZE 1514
+#define ENET_HEADER_SIZE 14
+
+#define SLOWQ_TYPE 0
+#define FASTQ_TYPE 1
+
+#define MAX_DSP_SESS_REC 1024
+
+#define DSP_QID_OFFSET 4
+#define PSEUDOSZ 16
+#define PSEUDOSZWRD 8
+
+/* Maximum number of occurrence of pseudo header errors before resetting PC Card. */
+#define MAX_PH_ERR 300
+
+/* Driver message types */
+#define MEDIA_STATE 0x0010
+#define TIME_UPDATE 0x0020
+#define DSP_PROVISION 0x0030
+#define DSP_INIT_MSG 0x0050
+#define DSP_HIBERNATE 0x0060
+
+#define DSP_STORE_INFO 0x0070
+#define DSP_GET_INFO 0x0071
+#define GET_DRV_ERR_RPT_MSG 0x0073
+#define RSP_DRV_ERR_RPT_MSG 0x0074
+
+/* Driver Error Messages for DSP */
+#define DSP_HB_INFO 0x7ef0
+#define DSP_FIFO_INFO 0x7ef1
+#define DSP_CONDRESET_INFO 0x7ef2
+#define DSP_CMDLEN_INFO 0x7ef3
+#define DSP_CMDPHCKSUM_INFO 0x7ef4
+#define DSP_PKTPHCKSUM_INFO 0x7ef5
+#define DSP_PKTLEN_INFO 0x7ef6
+#define DSP_USER_RESET 0x7ef7
+#define FIFO_FLUSH_MAXLIMIT 0x7ef8
+#define FIFO_FLUSH_BADCNT 0x7ef9
+#define FIFO_ZERO_LEN 0x7efa
+
+#define HOST_QID_OFFSET 5
+#define QTYPE_OFFSET 13
+
+#define SUCCESS 0x00
+#define FAILURE 0x01
+
+#define MAXIMUM_ASIC_HB_CNT 15
struct drv_msg {
struct pseudo_hdr pseudo;
u16 type;
u16 length;
u8 data[0];
-} __attribute__ ((packed));
+} __packed;
struct media_msg {
struct pseudo_hdr pseudo;
@@ -283,81 +254,83 @@ struct media_msg {
u16 length;
u16 state;
u32 ip_addr;
- u32 net_mask;
+ u32 net_mask;
u32 gateway;
u32 dns_1;
u32 dns_2;
-} __attribute__ ((packed));
+} __packed;
struct dsp_init_msg {
- struct pseudo_hdr pseudo;
- u16 type;
- u16 length;
- u8 DspVer[DSPVERSZ]; // DSP version number
- u8 HwSerNum[HWSERNUMSZ]; // Hardware Serial Number
- u8 Sku[SKUSZ]; // SKU
- u8 eui64[EUISZ]; // EUI64
- u8 ProductMode[MODESZ]; // Product Mode (Market/Production)
- u8 RfCalVer[CALVERSZ]; // Rf Calibration version
- u8 RfCalDate[CALDATESZ]; // Rf Calibration date
-} __attribute__ ((packed));
+ struct pseudo_hdr pseudo;
+ u16 type;
+ u16 length;
+ u8 DspVer[DSPVERSZ]; /* DSP version number */
+ u8 HwSerNum[HWSERNUMSZ]; /* Hardware Serial Number */
+ u8 Sku[SKUSZ]; /* SKU */
+ u8 eui64[EUISZ]; /* EUI64 */
+ u8 ProductMode[MODESZ]; /* Product Mode (Market/Production) */
+ u8 RfCalVer[CALVERSZ]; /* Rf Calibration version */
+ u8 RfCalDate[CALDATESZ]; /* Rf Calibration date */
+} __packed;
struct prov_record {
- struct list_head list;
- u8 *pprov_data;
+ struct list_head list;
+ u8 *pprov_data;
};
struct ft1000_info {
- struct net_device_stats stats;
- u16 DrvErrNum;
- u16 AsicID;
- int PktIntfErr;
- int CardReady;
- int registered;
- int mediastate;
- u16 packetseqnum;
- u8 squeseqnum; // sequence number on slow queue
- spinlock_t dpram_lock;
- u16 fifo_cnt;
- u8 DspVer[DSPVERSZ]; // DSP version number
- u8 HwSerNum[HWSERNUMSZ]; // Hardware Serial Number
- u8 Sku[SKUSZ]; // SKU
- u8 eui64[EUISZ]; // EUI64
- time_t ConTm; // Connection Time
- u16 LedStat;
- u16 ConStat;
- u16 ProgConStat;
- u8 ProductMode[MODESZ];
- u8 RfCalVer[CALVERSZ];
- u8 RfCalDate[CALDATESZ];
- u16 DSP_TIME[4];
- struct list_head prov_list;
- u16 DSPInfoBlklen;
+ struct net_device_stats stats;
+ u16 DrvErrNum;
+ u16 AsicID;
+ int PktIntfErr;
+ int CardReady;
+ int registered;
+ int mediastate;
+ u16 packetseqnum;
+ u8 squeseqnum; /* sequence number on slow queue */
+ spinlock_t dpram_lock;
+ u16 fifo_cnt;
+ u8 DspVer[DSPVERSZ]; /* DSP version number */
+ u8 HwSerNum[HWSERNUMSZ]; /* Hardware Serial Number */
+ u8 Sku[SKUSZ]; /* SKU */
+ u8 eui64[EUISZ]; /* EUI64 */
+ time_t ConTm; /* Connection Time */
+ u16 LedStat;
+ u16 ConStat;
+ u16 ProgConStat;
+ u8 ProductMode[MODESZ];
+ u8 RfCalVer[CALVERSZ];
+ u8 RfCalDate[CALDATESZ];
+ u16 DSP_TIME[4];
+ struct list_head prov_list;
+ u16 DSPInfoBlklen;
int (*ft1000_reset)(void *);
- void *link;
- u16 DSPInfoBlk[MAX_DSP_SESS_REC];
- union {
- u16 Rec[MAX_DSP_SESS_REC];
- u32 MagRec[MAX_DSP_SESS_REC/2];
- } DSPSess;
+ void *link;
+ u16 DSPInfoBlk[MAX_DSP_SESS_REC];
+ union {
+ u16 Rec[MAX_DSP_SESS_REC];
+ u32 MagRec[MAX_DSP_SESS_REC/2];
+ } DSPSess;
struct proc_dir_entry *proc_ft1000;
char netdevname[IFNAMSIZ];
};
-extern u16 ft1000_read_dpram (struct net_device *dev, int offset);
+extern u16 ft1000_read_dpram(struct net_device *dev, int offset);
extern void card_bootload(struct net_device *dev);
-extern u16 ft1000_read_dpram_mag_16 (struct net_device *dev, int offset, int Index);
-extern u32 ft1000_read_dpram_mag_32 (struct net_device *dev, int offset);
-void ft1000_write_dpram_mag_32 (struct net_device *dev, int offset, u32 value);
+extern u16 ft1000_read_dpram_mag_16(struct net_device *dev, int offset, int Index);
+extern u32 ft1000_read_dpram_mag_32(struct net_device *dev, int offset);
+void ft1000_write_dpram_mag_32(struct net_device *dev, int offset, u32 value);
/* Read the value of a given ASIC register. */
-static inline u16 ft1000_read_reg (struct net_device *dev, u16 offset) {
- return inw(dev->base_addr + offset);
+static inline u16 ft1000_read_reg(struct net_device *dev, u16 offset)
+{
+ return inw(dev->base_addr + offset);
}
/* Set the value of a given ASIC register. */
-static inline void ft1000_write_reg (struct net_device *dev, u16 offset, u16 value) {
- outw(value, dev->base_addr + offset);
+static inline void ft1000_write_reg(struct net_device *dev, u16 offset, u16 value)
+{
+ outw(value, dev->base_addr + offset);
}
-#endif // _FT1000H_
+#endif
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 27/28] staging: ft1000-pcmcia: remove PSEUDOSZ, use sizeof(struct pseudo_hdr) instead
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (25 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 26/28] staging: ft1000-pcmcia: CodingStyle fixes in ft1000.h Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-06-30 22:03 ` [PATCH 28/28] staging: ft1000-pcmcia: remove support for v5 firmware Ondrej Zary
2011-07-05 17:35 ` [PATCH 00/28] staging: ft1000-pcmcia: various fixes Greg KH
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
PSEUDOSZ seems to define struct pseudo_hdr size.
Remove it and use sizeof(struct pseudo_hdr) directly.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000.h | 2 --
drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c | 8 ++++----
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
index e1aa528..ba6f87d 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000.h
@@ -202,8 +202,6 @@ struct pseudo_hdr {
#define MAX_DSP_SESS_REC 1024
#define DSP_QID_OFFSET 4
-#define PSEUDOSZ 16
-#define PSEUDOSZWRD 8
/* Maximum number of occurrence of pseudo header errors before resetting PC Card. */
#define MAX_PH_ERR 300
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
index 23854e0..990b2af 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_hw.c
@@ -795,7 +795,7 @@ void ft1000_send_cmd (struct net_device *dev, u16 *ptempbuffer, int size, u16 qt
u16 tempword;
unsigned long flags;
- size += PSEUDOSZ;
+ size += sizeof(struct pseudo_hdr);
// check for odd byte and increment to 16-bit word align value
if ((size & 0x0001)) {
size++;
@@ -883,12 +883,12 @@ bool ft1000_receive_cmd(struct net_device *dev, u16 * pbuffer, int maxsz, u16 *p
unsigned long flags;
if (info->AsicID == ELECTRABUZZ_ID) {
- size = ( ft1000_read_dpram(dev, *pnxtph) ) + PSEUDOSZ;
+ size = ( ft1000_read_dpram(dev, *pnxtph) ) + sizeof(struct pseudo_hdr);
} else {
size =
ntohs(ft1000_read_dpram_mag_16
(dev, FT1000_MAG_PH_LEN,
- FT1000_MAG_PH_LEN_INDX)) + PSEUDOSZ;
+ FT1000_MAG_PH_LEN_INDX)) + sizeof(struct pseudo_hdr);
}
if (size > maxsz) {
DEBUG(1,
@@ -1317,7 +1317,7 @@ int ft1000_parse_dpram_msg(struct net_device *dev)
}
DEBUG(1, "FT1000:ft1000_parse_dpram_msg:total length = %d\n",
total_len);
- if ((total_len < MAX_CMD_SQSIZE) && (total_len > PSEUDOSZ)) {
+ if ((total_len < MAX_CMD_SQSIZE) && (total_len > sizeof(struct pseudo_hdr))) {
total_len += nxtph;
cnt = 0;
// ft1000_read_reg will return a value that needs to be byteswap
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [PATCH 28/28] staging: ft1000-pcmcia: remove support for v5 firmware
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (26 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 27/28] staging: ft1000-pcmcia: remove PSEUDOSZ, use sizeof(struct pseudo_hdr) instead Ondrej Zary
@ 2011-06-30 22:03 ` Ondrej Zary
2011-07-05 17:35 ` [PATCH 00/28] staging: ft1000-pcmcia: various fixes Greg KH
28 siblings, 0 replies; 30+ messages in thread
From: Ondrej Zary @ 2011-06-30 22:03 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: Marek Belisko, Kernel development list
Remove support for v5 firmware images as all known firmware images are v6.
Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
---
drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c | 422 ++++++--------------
1 files changed, 129 insertions(+), 293 deletions(-)
diff --git a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
index c8b73c6..c956857 100644
--- a/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
+++ b/drivers/staging/ft1000/ft1000-pcmcia/ft1000_dnld.c
@@ -94,18 +94,6 @@ void put_request_value(struct net_device *dev, long lvalue);
u16 hdr_checksum(struct pseudo_hdr *pHdr);
struct dsp_file_hdr {
- u32 build_date;
- u32 dsp_coff_date;
- u32 loader_code_address;
- u32 loader_code_size;
- u32 loader_code_end;
- u32 dsp_code_address;
- u32 dsp_code_size;
- u32 dsp_code_end;
- u32 reserved[8];
-} __attribute__ ((packed));
-
-struct dsp_file_hdr_5 {
u32 version_id; // Version ID of this image format.
u32 package_id; // Package ID of code release.
u32 build_date; // Date/time stamp when file was built.
@@ -126,15 +114,6 @@ struct dsp_image_info {
u32 run_address; // On chip Start address of DSP code.
u32 image_size; // Size of image.
u32 version; // Embedded version # of DSP code.
-} __attribute__ ((packed));
-
-struct dsp_image_info_v6 {
- u32 coff_date; // Date/time when DSP Coff image was built.
- u32 begin_offset; // Offset in file where image begins.
- u32 end_offset; // Offset in file where image begins.
- u32 run_address; // On chip Start address of DSP code.
- u32 image_size; // Size of image.
- u32 version; // Embedded version # of DSP code.
unsigned short checksum; // Dsp File checksum
unsigned short pad1;
} __attribute__ ((packed));
@@ -312,20 +291,17 @@ int card_download(struct net_device *dev, const u8 *pFileStart, u32 FileLength)
{
struct ft1000_info *info = (struct ft1000_info *) netdev_priv(dev);
int Status = SUCCESS;
- u16 DspWordCnt = 0;
u32 uiState;
u16 handshake;
struct pseudo_hdr *pHdr;
u16 usHdrLength;
- struct dsp_file_hdr *pFileHdr;
long word_length;
u16 request;
u16 temp;
struct prov_record *pprov_record;
u8 *pbuffer;
- struct dsp_file_hdr_5 *pFileHdr5;
- struct dsp_image_info *pDspImageInfo = NULL;
- struct dsp_image_info_v6 *pDspImageInfoV6 = NULL;
+ struct dsp_file_hdr *pFileHdr5;
+ struct dsp_image_info *pDspImageInfoV6 = NULL;
long requested_version;
bool bGoodVersion = 0;
struct drv_msg *pMailBoxData;
@@ -344,36 +320,22 @@ int card_download(struct net_device *dev, const u8 *pFileStart, u32 FileLength)
unsigned long templong;
unsigned long image_chksum = 0;
- //
- // Get version id of file, at first 4 bytes of file, for newer files.
- //
file_version = *(long *)pFileStart;
+ if (file_version != 6) {
+ printk(KERN_ERR "ft1000: unsupported firmware version %ld\n", file_version);
+ Status = FAILURE;
+ }
uiState = STATE_START_DWNLD;
- pFileHdr = (struct dsp_file_hdr *) pFileStart;
- pFileHdr5 = (struct dsp_file_hdr_5 *) pFileStart;
-
- switch (file_version) {
- case 5:
- case 6:
- pUsFile =
- (u16 *) ((long)pFileStart + pFileHdr5->loader_offset);
- pUcFile =
- (u8 *) ((long)pFileStart + pFileHdr5->loader_offset);
-
- pBootEnd =
- (u8 *) ((long)pFileStart + pFileHdr5->loader_code_end);
+ pFileHdr5 = (struct dsp_file_hdr *) pFileStart;
- loader_code_address = pFileHdr5->loader_code_address;
- loader_code_size = pFileHdr5->loader_code_size;
- bGoodVersion = false;
- break;
-
- default:
- Status = FAILURE;
- break;
- }
+ pUsFile = (u16 *) ((long)pFileStart + pFileHdr5->loader_offset);
+ pUcFile = (u8 *) ((long)pFileStart + pFileHdr5->loader_offset);
+ pBootEnd = (u8 *) ((long)pFileStart + pFileHdr5->loader_code_end);
+ loader_code_address = pFileHdr5->loader_code_address;
+ loader_code_size = pFileHdr5->loader_code_size;
+ bGoodVersion = false;
while ((Status == SUCCESS) && (uiState != STATE_DONE_FILE)) {
@@ -431,45 +393,24 @@ int card_download(struct net_device *dev, const u8 *pFileStart, u32 FileLength)
// Provide mutual exclusive access while reading ASIC registers.
spin_lock_irqsave(&info->dpram_lock,
flags);
- if (file_version == 5) {
- /*
- * Position ASIC DPRAM auto-increment pointer.
- */
- ft1000_write_reg(dev,
- FT1000_REG_DPRAM_ADDR,
- DWNLD_PS_HDR_LOC);
-
- for (; word_length > 0; word_length--) { /* In words */
- //temp = *pUsFile;
- //temp = RtlUshortByteSwap(temp);
- ft1000_write_reg(dev,
- FT1000_REG_DPRAM_DATA,
- *pUsFile);
- pUsFile++;
- pUcFile += 2;
- DspWordCnt++;
- }
- } else {
- /*
- * Position ASIC DPRAM auto-increment pointer.
- */
- outw(DWNLD_MAG_PS_HDR_LOC,
+ /*
+ * Position ASIC DPRAM auto-increment pointer.
+ */
+ outw(DWNLD_MAG_PS_HDR_LOC,
+ dev->base_addr +
+ FT1000_REG_DPRAM_ADDR);
+ if (word_length & 0x01)
+ word_length++;
+ word_length = word_length / 2;
+
+ for (; word_length > 0; word_length--) { /* In words */
+ templong = *pUsFile++;
+ templong |=
+ (*pUsFile++ << 16);
+ pUcFile += 4;
+ outl(templong,
dev->base_addr +
- FT1000_REG_DPRAM_ADDR);
- if (word_length & 0x01) {
- word_length++;
- }
- word_length = word_length / 2;
-
- for (; word_length > 0; word_length--) { /* In words */
- templong = *pUsFile++;
- templong |=
- (*pUsFile++ << 16);
- pUcFile += 4;
- outl(templong,
- dev->base_addr +
- FT1000_REG_MAG_DPDATAL);
- }
+ FT1000_REG_MAG_DPDATAL);
}
spin_unlock_irqrestore(&info->
dpram_lock,
@@ -519,24 +460,8 @@ int card_download(struct net_device *dev, const u8 *pFileStart, u32 FileLength)
break;
case REQUEST_DONE_CL:
/* Reposition ptrs to beginning of provisioning section */
- switch (file_version) {
- case 5:
- case 6:
- pUsFile =
- (u16 *) ((long)pFileStart
- +
- pFileHdr5->
- commands_offset);
- pUcFile =
- (u8 *) ((long)pFileStart
- +
- pFileHdr5->
- commands_offset);
- break;
- default:
- Status = FAILURE;
- break;
- }
+ pUsFile = (u16 *) ((long)pFileStart + pFileHdr5->commands_offset);
+ pUcFile = (u8 *) ((long)pFileStart + pFileHdr5->commands_offset);
uiState = STATE_DONE_DWNLD;
break;
case REQUEST_CODE_SEGMENT:
@@ -557,45 +482,24 @@ int card_download(struct net_device *dev, const u8 *pFileStart, u32 FileLength)
Status = FAILURE;
break;
}
- if (file_version == 5) {
- /*
- * Position ASIC DPRAM auto-increment pointer.
- */
- ft1000_write_reg(dev,
- FT1000_REG_DPRAM_ADDR,
- DWNLD_PS_HDR_LOC);
-
- for (; word_length > 0; word_length--) { /* In words */
- //temp = *pUsFile;
- //temp = RtlUshortByteSwap(temp);
- ft1000_write_reg(dev,
- FT1000_REG_DPRAM_DATA,
- *pUsFile);
- pUsFile++;
- pUcFile += 2;
- DspWordCnt++;
- }
- } else {
- /*
- * Position ASIC DPRAM auto-increment pointer.
- */
- outw(DWNLD_MAG_PS_HDR_LOC,
+ /*
+ * Position ASIC DPRAM auto-increment pointer.
+ */
+ outw(DWNLD_MAG_PS_HDR_LOC,
+ dev->base_addr +
+ FT1000_REG_DPRAM_ADDR);
+ if (word_length & 0x01)
+ word_length++;
+ word_length = word_length / 2;
+
+ for (; word_length > 0; word_length--) { /* In words */
+ templong = *pUsFile++;
+ templong |=
+ (*pUsFile++ << 16);
+ pUcFile += 4;
+ outl(templong,
dev->base_addr +
- FT1000_REG_DPRAM_ADDR);
- if (word_length & 0x01) {
- word_length++;
- }
- word_length = word_length / 2;
-
- for (; word_length > 0; word_length--) { /* In words */
- templong = *pUsFile++;
- templong |=
- (*pUsFile++ << 16);
- pUcFile += 4;
- outl(templong,
- dev->base_addr +
- FT1000_REG_MAG_DPDATAL);
- }
+ FT1000_REG_MAG_DPDATAL);
}
break;
@@ -663,45 +567,26 @@ int card_download(struct net_device *dev, const u8 *pFileStart, u32 FileLength)
// Provide mutual exclusive access while reading ASIC registers.
spin_lock_irqsave(&info->dpram_lock,
flags);
- if (file_version == 5) {
- /*
- * Position ASIC DPRAM auto-increment pointer.
- */
- ft1000_write_reg(dev,
- FT1000_REG_DPRAM_ADDR,
- DWNLD_PS_HDR_LOC);
-
- for (; word_length > 0; word_length--) { /* In words */
- ft1000_write_reg(dev,
- FT1000_REG_DPRAM_DATA,
- *pUsFile
- /*temp */
- );
- pUsFile++;
- }
- } else {
- /*
- * Position ASIC DPRAM auto-increment pointer.
- */
- outw(DWNLD_MAG_PS_HDR_LOC,
+ /*
+ * Position ASIC DPRAM auto-increment pointer.
+ */
+ outw(DWNLD_MAG_PS_HDR_LOC,
+ dev->base_addr +
+ FT1000_REG_DPRAM_ADDR);
+ if (word_length & 0x01)
+ word_length++;
+ word_length = word_length / 2;
+
+ for (; word_length > 0; word_length--) { /* In words */
+ templong =
+ ntohs(*pUsFile++);
+ temp =
+ ntohs(*pUsFile++);
+ templong |=
+ (temp << 16);
+ outl(templong,
dev->base_addr +
- FT1000_REG_DPRAM_ADDR);
- if (word_length & 0x01) {
- word_length++;
- }
- word_length = word_length / 2;
-
- for (; word_length > 0; word_length--) { /* In words */
- templong =
- ntohs(*pUsFile++);
- temp =
- ntohs(*pUsFile++);
- templong |=
- (temp << 16);
- outl(templong,
- dev->base_addr +
- FT1000_REG_MAG_DPDATAL);
- }
+ FT1000_REG_MAG_DPDATAL);
}
spin_unlock_irqrestore(&info->
dpram_lock,
@@ -712,117 +597,68 @@ int card_download(struct net_device *dev, const u8 *pFileStart, u32 FileLength)
bGoodVersion = false;
requested_version =
get_request_value(dev);
- if (file_version == 5) {
- pDspImageInfo =
- (struct dsp_image_info *) ((long)
- pFileStart
- +
- sizeof
- (struct dsp_file_hdr_5));
- for (imageN = 0;
- imageN <
- pFileHdr5->nDspImages;
- imageN++) {
- if (pDspImageInfo->
- version ==
- requested_version) {
- bGoodVersion =
- true;
- pUsFile =
- (u16
- *) ((long)
- pFileStart
- +
- pDspImageInfo->
- begin_offset);
- pUcFile =
- (u8
- *) ((long)
- pFileStart
- +
- pDspImageInfo->
- begin_offset);
- pCodeEnd =
- (u8
- *) ((long)
- pFileStart
- +
- pDspImageInfo->
- end_offset);
- run_address =
- pDspImageInfo->
- run_address;
- run_size =
- pDspImageInfo->
- image_size;
- break;
- }
- pDspImageInfo++;
- }
- } else {
- pDspImageInfoV6 =
- (struct dsp_image_info_v6 *) ((long)
- pFileStart
- +
- sizeof
- (struct dsp_file_hdr_5));
- for (imageN = 0;
- imageN <
- pFileHdr5->nDspImages;
- imageN++) {
- temp = (u16)
- (pDspImageInfoV6->
- version);
- templong = temp;
- temp = (u16)
- (pDspImageInfoV6->
- version >> 16);
- templong |=
- (temp << 16);
- if (templong ==
- requested_version) {
- bGoodVersion =
- true;
- pUsFile =
- (u16
- *) ((long)
- pFileStart
- +
- pDspImageInfoV6->
- begin_offset);
- pUcFile =
- (u8
- *) ((long)
- pFileStart
- +
- pDspImageInfoV6->
- begin_offset);
- pCodeEnd =
- (u8
- *) ((long)
- pFileStart
- +
- pDspImageInfoV6->
- end_offset);
- run_address =
- pDspImageInfoV6->
- run_address;
- run_size =
- pDspImageInfoV6->
- image_size;
- image_chksum =
- (u32)
- pDspImageInfoV6->
- checksum;
- DEBUG(0,
- "ft1000_dnld: image_chksum = 0x%8x\n",
- (unsigned
- int)
- image_chksum);
- break;
- }
- pDspImageInfoV6++;
+ pDspImageInfoV6 =
+ (struct dsp_image_info *) ((long)
+ pFileStart
+ +
+ sizeof
+ (struct dsp_file_hdr));
+ for (imageN = 0;
+ imageN <
+ pFileHdr5->nDspImages;
+ imageN++) {
+ temp = (u16)
+ (pDspImageInfoV6->
+ version);
+ templong = temp;
+ temp = (u16)
+ (pDspImageInfoV6->
+ version >> 16);
+ templong |=
+ (temp << 16);
+ if (templong ==
+ requested_version) {
+ bGoodVersion =
+ true;
+ pUsFile =
+ (u16
+ *) ((long)
+ pFileStart
+ +
+ pDspImageInfoV6->
+ begin_offset);
+ pUcFile =
+ (u8
+ *) ((long)
+ pFileStart
+ +
+ pDspImageInfoV6->
+ begin_offset);
+ pCodeEnd =
+ (u8
+ *) ((long)
+ pFileStart
+ +
+ pDspImageInfoV6->
+ end_offset);
+ run_address =
+ pDspImageInfoV6->
+ run_address;
+ run_size =
+ pDspImageInfoV6->
+ image_size;
+ image_chksum =
+ (u32)
+ pDspImageInfoV6->
+ checksum;
+ DEBUG(0,
+ "ft1000_dnld: image_chksum = 0x%8x\n",
+ (unsigned
+ int)
+ image_chksum);
+ break;
}
+ pDspImageInfoV6++;
}
if (!bGoodVersion) {
/*
--
Ondrej Zary
^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: [PATCH 00/28] staging: ft1000-pcmcia: various fixes
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
` (27 preceding siblings ...)
2011-06-30 22:03 ` [PATCH 28/28] staging: ft1000-pcmcia: remove support for v5 firmware Ondrej Zary
@ 2011-07-05 17:35 ` Greg KH
28 siblings, 0 replies; 30+ messages in thread
From: Greg KH @ 2011-07-05 17:35 UTC (permalink / raw)
To: Ondrej Zary; +Cc: Marek Belisko, Kernel development list
On Fri, Jul 01, 2011 at 12:03:29AM +0200, Ondrej Zary wrote:
> Fix various things in ft1000-pcmcia driver.
I think I've applied all of the outstanding patches from you for this
driver. If I've missed anything, please resend them.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2011-07-05 17:35 UTC | newest]
Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-30 22:03 [PATCH 00/28] staging: ft1000-pcmcia: various fixes Ondrej Zary
2011-06-30 22:03 ` [PATCH 01/28] staging: ft1000-pcmcia: don't crash on load Ondrej Zary
2011-06-30 22:03 ` [PATCH 02/28] staging: ft1000-pcmcia: fix compilation with FT_DEBUG enabled Ondrej Zary
2011-06-30 22:03 ` [PATCH 03/28] staging: ft1000-pcmcia: delete ft1000.conf Ondrej Zary
2011-06-30 22:03 ` [PATCH 04/28] staging: ft1000-pcmcia: get rid of ft1000_dev.h Ondrej Zary
2011-06-30 22:03 ` [PATCH 05/28] staging: ft1000-pcmcia: remove PSEUDO_HDR typedefs Ondrej Zary
2011-06-30 22:03 ` [PATCH 06/28] staging: ft1000-pcmcia: remove DRVMSG typedefs Ondrej Zary
2011-06-30 22:03 ` [PATCH 07/28] staging: ft1000-pcmcia: remove MEDIAMSG typedefs Ondrej Zary
2011-06-30 22:03 ` [PATCH 08/28] staging: ft1000-pcmcia: delete unused TIMEMSG typedefs Ondrej Zary
2011-06-30 22:03 ` [PATCH 09/28] staging: ft1000-pcmcia: remove DSPINITMSG typedefs Ondrej Zary
2011-06-30 22:03 ` [PATCH 10/28] staging: ft1000-pcmcia: delete unused DSPHIBERNATE typedefs Ondrej Zary
2011-06-30 22:03 ` [PATCH 11/28] staging: ft1000-pcmcia: delete unused APP_INFO_BLOCK typedefs Ondrej Zary
2011-06-30 22:03 ` [PATCH 12/28] staging: ft1000-pcmcia: remove PROV_RECORD typedefs Ondrej Zary
2011-06-30 22:03 ` [PATCH 13/28] staging: ft1000-pcmcia: remove FT1000_INFO typedefs Ondrej Zary
2011-06-30 22:03 ` [PATCH 14/28] staging: ft1000-pcmcia: delete unused DPRAM_BLK typedefs Ondrej Zary
2011-06-30 22:03 ` [PATCH 15/28] staging: ft1000-pcmcia: delete local_info_t typedef Ondrej Zary
2011-06-30 22:03 ` [PATCH 16/28] staging: ft1000-pcmcia: remove firmware download typedefs Ondrej Zary
2011-06-30 22:03 ` [PATCH 17/28] staging: ft1000-pcmcia: remove unused fields from struct ft1000_info Ondrej Zary
2011-06-30 22:03 ` [PATCH 18/28] staging: ft1000-pcmcia: remove custom defines for standard types Ondrej Zary
2011-06-30 22:03 ` [PATCH 19/28] staging: ft1000-pcmcia: remove useless defines from ft1000_cs.c Ondrej Zary
2011-06-30 22:03 ` [PATCH 20/28] staging: ft1000-pcmcia: remove useless debugging " Ondrej Zary
2011-06-30 22:03 ` [PATCH 21/28] staging: ft1000-pcmcia: remove misleading and template comments " Ondrej Zary
2011-06-30 22:03 ` [PATCH 22/28] staging: ft1000-pcmcia: remove unused ft1000_asic_read and ft1000_asic_write functions Ondrej Zary
2011-06-30 22:03 ` [PATCH 23/28] staging: ft1000-pcmcia: coding style fixes in ft1000_cs.c Ondrej Zary
2011-06-30 22:03 ` [PATCH 24/28] staging: ft1000-pcmcia: remove unused includes from ft1000_cs.c Ondrej Zary
2011-06-30 22:03 ` [PATCH 25/28] staging: ft1000-pcmcia: remove useless ft1000_release() function Ondrej Zary
2011-06-30 22:03 ` [PATCH 26/28] staging: ft1000-pcmcia: CodingStyle fixes in ft1000.h Ondrej Zary
2011-06-30 22:03 ` [PATCH 27/28] staging: ft1000-pcmcia: remove PSEUDOSZ, use sizeof(struct pseudo_hdr) instead Ondrej Zary
2011-06-30 22:03 ` [PATCH 28/28] staging: ft1000-pcmcia: remove support for v5 firmware Ondrej Zary
2011-07-05 17:35 ` [PATCH 00/28] staging: ft1000-pcmcia: various fixes Greg KH
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.