[PATCH 10/22] Staging: rtxxx0: unify different RT30xx{Read,Write}RFRegister() flavors

From: Bartlomiej Zolnierkiewicz
Date: Sun Aug 16 2009 - 15:30:54 EST


From: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
Subject: [PATCH] Staging: rtxxx0: unify different RT30xx{Read,Write}RFRegister() flavors

RTMP_IO_{READ,WRITE}32 equals RTUSB{Read,Write}MACRegister
in case of USB chipsets so unify RT30xx and !RT30xx code.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@xxxxxxxxx>
---
drivers/staging/rt2860/common/mlme.c | 111 -------------------------------
drivers/staging/rt2860/rt28xx.h | 3
drivers/staging/rt2860/rtmp.h | 14 ---
drivers/staging/rt2870/common/rtusb_io.c | 25 +++---
drivers/staging/rt2870/rt2870.h | 3
5 files changed, 15 insertions(+), 141 deletions(-)

Index: b/drivers/staging/rt2860/common/mlme.c
===================================================================
--- a/drivers/staging/rt2860/common/mlme.c
+++ b/drivers/staging/rt2860/common/mlme.c
@@ -5636,117 +5636,6 @@ VOID AsicUpdateProtect(
}

#ifdef RT30xx
-/*
- ========================================================================
-
- Routine Description: Write RT30xx RF register through MAC
-
- Arguments:
-
- Return Value:
-
- IRQL =
-
- Note:
-
- ========================================================================
-*/
-NTSTATUS RT30xxWriteRFRegister(
- IN PRTMP_ADAPTER pAd,
- IN UCHAR RegID,
- IN UCHAR Value)
-{
- RF_CSR_CFG_STRUC rfcsr;
- UINT i = 0;
-
- do
- {
- RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);
-
- if (!rfcsr.field.RF_CSR_KICK)
- break;
- i++;
- }
- while ((i < RETRY_LIMIT) && (!RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)));
-
- if ((i == RETRY_LIMIT) || (RTMP_TEST_FLAG(pAd, fRTMP_ADAPTER_NIC_NOT_EXIST)))
- {
- DBGPRINT_RAW(RT_DEBUG_ERROR, ("Retry count exhausted or device removed!!!\n"));
- return STATUS_UNSUCCESSFUL;
- }
-
- rfcsr.field.RF_CSR_WR = 1;
- rfcsr.field.RF_CSR_KICK = 1;
- rfcsr.field.TESTCSR_RFACC_REGNUM = RegID;
- rfcsr.field.RF_CSR_DATA = Value;
-
- RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);
-
- return STATUS_SUCCESS;
-}
-
-
-/*
- ========================================================================
-
- Routine Description: Read RT30xx RF register through MAC
-
- Arguments:
-
- Return Value:
-
- IRQL =
-
- Note:
-
- ========================================================================
-*/
-NTSTATUS RT30xxReadRFRegister(
- IN PRTMP_ADAPTER pAd,
- IN UCHAR RegID,
- IN PUCHAR pValue)
-{
- RF_CSR_CFG_STRUC rfcsr;
- UINT i=0, k=0;
-
- for (i=0; i<MAX_BUSY_COUNT; i++)
- {
- RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);
-
- if (rfcsr.field.RF_CSR_KICK == BUSY)
- {
- continue;
- }
- rfcsr.word = 0;
- rfcsr.field.RF_CSR_WR = 0;
- rfcsr.field.RF_CSR_KICK = 1;
- rfcsr.field.TESTCSR_RFACC_REGNUM = RegID;
- RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);
- for (k=0; k<MAX_BUSY_COUNT; k++)
- {
- RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);
-
- if (rfcsr.field.RF_CSR_KICK == IDLE)
- break;
- }
- if ((rfcsr.field.RF_CSR_KICK == IDLE) &&
- (rfcsr.field.TESTCSR_RFACC_REGNUM == RegID))
- {
- *pValue = (UCHAR)rfcsr.field.RF_CSR_DATA;
- break;
- }
- }
- if (rfcsr.field.RF_CSR_KICK == BUSY)
- {
- DBGPRINT_ERR(("RF read R%d=0x%x fail, i[%d], k[%d]\n", RegID, rfcsr.word,i,k));
- return STATUS_UNSUCCESSFUL;
- }
-
- return STATUS_SUCCESS;
-}
-#endif // RT30xx //
-
-#ifdef RT30xx
// add by johnli, RF power sequence setup
/*
==========================================================================
Index: b/drivers/staging/rt2860/rt28xx.h
===================================================================
--- a/drivers/staging/rt2860/rt28xx.h
+++ b/drivers/staging/rt2860/rt28xx.h
@@ -47,10 +47,11 @@
#define PCI_EECTRL 0x0004
#define PCI_MCUCTRL 0x0008

+typedef int NTSTATUS;
+
#ifdef RT30xx
#define OPT_14 0x114

-typedef int NTSTATUS;
#define RETRY_LIMIT 10
#define STATUS_SUCCESS 0x00
#define STATUS_UNSUCCESSFUL 0x01
Index: b/drivers/staging/rt2860/rtmp.h
===================================================================
--- a/drivers/staging/rt2860/rtmp.h
+++ b/drivers/staging/rt2860/rtmp.h
@@ -6528,7 +6528,6 @@ VOID AsicTurnOnRFClk(
IN PRTMP_ADAPTER pAd,
IN UCHAR Channel);

-#ifdef RT30xx
NTSTATUS RT30xxWriteRFRegister(
IN PRTMP_ADAPTER pAd,
IN UCHAR RegID,
@@ -6539,6 +6538,7 @@ NTSTATUS RT30xxReadRFRegister(
IN UCHAR RegID,
IN PUCHAR pValue);

+#ifdef RT30xx
//2008/09/11:KH add to support efuse<--
UCHAR eFuseReadRegisters(
IN PRTMP_ADAPTER pAd,
@@ -6735,18 +6735,6 @@ NTSTATUS RTUSBWriteRFRegister(
IN PRTMP_ADAPTER pAd,
IN UINT32 Value);

-#ifndef RT30xx
-NTSTATUS RT30xxWriteRFRegister(
- IN PRTMP_ADAPTER pAd,
- IN UCHAR RegID,
- IN UCHAR Value);
-
-NTSTATUS RT30xxReadRFRegister(
- IN PRTMP_ADAPTER pAd,
- IN UCHAR RegID,
- IN PUCHAR pValue);
-#endif
-
NTSTATUS RTUSB_VendorRequest(
IN PRTMP_ADAPTER pAd,
IN UINT32 TransferFlags,
Index: b/drivers/staging/rt2870/common/rtusb_io.c
===================================================================
--- a/drivers/staging/rt2870/common/rtusb_io.c
+++ b/drivers/staging/rt2870/common/rtusb_io.c
@@ -671,11 +671,10 @@ NTSTATUS RTUSBWriteRFRegister(
return STATUS_SUCCESS;
}

-#ifndef RT30xx
/*
========================================================================

- Routine Description: Write RT3070 RF register through MAC
+ Routine Description: Write RT30xx RF register through MAC

Arguments:

@@ -687,7 +686,7 @@ NTSTATUS RTUSBWriteRFRegister(

========================================================================
*/
-NTSTATUS RT30xxWriteRFRegister(
+NTSTATUS RT30xxWriteRFRegister(
IN PRTMP_ADAPTER pAd,
IN UCHAR RegID,
IN UCHAR Value)
@@ -697,7 +696,7 @@ NTSTATUS RT30xxWriteRFRegister(

do
{
- RTUSBReadMACRegister(pAd, RF_CSR_CFG, &rfcsr.word);
+ RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);

if (!rfcsr.field.RF_CSR_KICK)
break;
@@ -716,15 +715,16 @@ NTSTATUS RT30xxWriteRFRegister(
rfcsr.field.TESTCSR_RFACC_REGNUM = RegID;
rfcsr.field.RF_CSR_DATA = Value;

- RTUSBWriteMACRegister(pAd, RF_CSR_CFG, rfcsr.word);
+ RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);

return STATUS_SUCCESS;
}

+
/*
========================================================================

- Routine Description: Read RT3070 RF register through MAC
+ Routine Description: Read RT30xx RF register through MAC

Arguments:

@@ -736,17 +736,17 @@ NTSTATUS RT30xxWriteRFRegister(

========================================================================
*/
-NTSTATUS RT30xxReadRFRegister(
+NTSTATUS RT30xxReadRFRegister(
IN PRTMP_ADAPTER pAd,
IN UCHAR RegID,
IN PUCHAR pValue)
{
RF_CSR_CFG_STRUC rfcsr;
- UINT i=0, k;
+ UINT i=0, k=0;

for (i=0; i<MAX_BUSY_COUNT; i++)
{
- RTUSBReadMACRegister(pAd, RF_CSR_CFG, &rfcsr.word);
+ RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);

if (rfcsr.field.RF_CSR_KICK == BUSY)
{
@@ -756,10 +756,10 @@ NTSTATUS RT30xxReadRFRegister(
rfcsr.field.RF_CSR_WR = 0;
rfcsr.field.RF_CSR_KICK = 1;
rfcsr.field.TESTCSR_RFACC_REGNUM = RegID;
- RTUSBWriteMACRegister(pAd, RF_CSR_CFG, rfcsr.word);
+ RTMP_IO_WRITE32(pAd, RF_CSR_CFG, rfcsr.word);
for (k=0; k<MAX_BUSY_COUNT; k++)
{
- RTUSBReadMACRegister(pAd, RF_CSR_CFG, &rfcsr.word);
+ RTMP_IO_READ32(pAd, RF_CSR_CFG, &rfcsr.word);

if (rfcsr.field.RF_CSR_KICK == IDLE)
break;
@@ -773,13 +773,12 @@ NTSTATUS RT30xxReadRFRegister(
}
if (rfcsr.field.RF_CSR_KICK == BUSY)
{
- DBGPRINT_ERR(("RF read R%d=0x%x fail\n", RegID, rfcsr.word));
+ DBGPRINT_ERR(("RF read R%d=0x%x fail, i[%d], k[%d]\n", RegID, rfcsr.word,i,k));
return STATUS_UNSUCCESSFUL;
}

return STATUS_SUCCESS;
}
-#endif /* RT30xx */

/*
========================================================================
Index: b/drivers/staging/rt2870/rt2870.h
===================================================================
--- a/drivers/staging/rt2870/rt2870.h
+++ b/drivers/staging/rt2870/rt2870.h
@@ -407,9 +407,6 @@ extern UCHAR EpToQueue[6];
//#undef MlmeAllocateMemory
//#undef MlmeFreeMemory

-#ifndef RT30xx
-typedef int NTSTATUS;
-#endif
typedef struct usb_device * PUSB_DEV;

/* MACRO for linux usb */
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/