lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090628141931.8761.88183.sendpatchset@localhost.localdomain>
Date:	Sun, 28 Jun 2009 16:19:31 +0200
From:	Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
To:	"Greg Kroah-Hartman" <gregkh@...e.de>
Cc:	Bartlomiej Zolnierkiewicz <bzolnier@...il.com>,
	linux-kernel@...r.kernel.org
Subject: [PATCH 08/18] Staging: rtl8187se: remove unused radio frontends

From: Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
Subject: [PATCH] Staging: rtl8187se: remove unused radio frontends

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@...il.com>
---
 drivers/staging/rtl8187se/Makefile        |    4 
 drivers/staging/rtl8187se/r8180_core.c    |    4 
 drivers/staging/rtl8187se/r8180_gct.c     |  296 ----
 drivers/staging/rtl8187se/r8180_gct.h     |   25 
 drivers/staging/rtl8187se/r8180_max2820.c |  171 --
 drivers/staging/rtl8187se/r8180_max2820.h |   21 
 drivers/staging/rtl8187se/r8180_rtl8255.c | 1807 ------------------------------
 drivers/staging/rtl8187se/r8180_rtl8255.h |   19 
 drivers/staging/rtl8187se/r8180_sa2400.c  |  233 ---
 drivers/staging/rtl8187se/r8180_sa2400.h  |   26 
 drivers/staging/rtl8187se/r8180_wx.c      |    1 
 drivers/staging/rtl8187se/r8185b_init.c   |    4 
 12 files changed, 2611 deletions(-)

Index: b/drivers/staging/rtl8187se/Makefile
===================================================================
--- a/drivers/staging/rtl8187se/Makefile
+++ b/drivers/staging/rtl8187se/Makefile
@@ -20,13 +20,9 @@ EXTRA_CFLAGS += -DENABLE_LPS
 
 rtl8187se-objs :=			\
 		r8180_core.o		\
-		r8180_sa2400.o		\
 		r8180_93cx6.o		\
 		r8180_wx.o		\
-		r8180_max2820.o		\
-		r8180_gct.o		\
 		r8180_rtl8225.o		\
-		r8180_rtl8255.o		\
 		r8180_rtl8225z2.o	\
 		r8185b_init.o		\
 		r8180_dm.o		\
Index: b/drivers/staging/rtl8187se/r8180_core.c
===================================================================
--- a/drivers/staging/rtl8187se/r8180_core.c
+++ b/drivers/staging/rtl8187se/r8180_core.c
@@ -54,11 +54,7 @@
 //#include <asm/uaccess.h>
 #include "r8180_hw.h"
 #include "r8180.h"
-#include "r8180_sa2400.h"  /* PHILIPS Radio frontend */
-#include "r8180_max2820.h" /* MAXIM Radio frontend */
-#include "r8180_gct.h"     /* GCT Radio frontend */
 #include "r8180_rtl8225.h" /* RTL8225 Radio frontend */
-#include "r8180_rtl8255.h" /* RTL8255 Radio frontend */
 #include "r8180_93cx6.h"   /* Card EEPROM */
 #include "r8180_wx.h"
 #include "r8180_dm.h"
Index: b/drivers/staging/rtl8187se/r8180_gct.c
===================================================================
--- a/drivers/staging/rtl8187se/r8180_gct.c
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
-   This files contains GCT radio frontend programming routines.
-
-   This is part of rtl8180 OpenSource driver
-   Copyright (C) Andrea Merello 2004-2005  <andreamrl@...cali.it>
-   Released under the terms of GPL (General Public Licence)
-
-   Parts of this driver are based on the GPL part of the
-   official realtek driver
-
-   Parts of this driver are based on the rtl8180 driver skeleton
-   from Patric Schenke & Andres Salomon
-
-   Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver.
-
-   Code from Rtw8180 NetBSD driver by David Young has been really useful to
-   understand some things and gets some ideas
-
-   Code from rtl8181 project has been useful to me to understand some things.
-
-   Some code from 'Deuce' work
-
-   We want to tanks the Authors of such projects and the Ndiswrapper
-   project Authors.
-*/
-
-
-#include "r8180.h"
-#include "r8180_hw.h"
-#include "r8180_gct.h"
-
-
-//#define DEBUG_GCT
-
-/* the following experiment are just experiments.
- * this means if you enable them you can have every kind
- * of result, included damage the RF chip, so don't
- * touch them if you don't know what you are doing.
- * In any case, if you do it, do at your own risk
- */
-
-//#define GCT_EXPERIMENT1  //improve RX sensivity
-
-//#define GCT_EXPERIMENT2
-
-//#define GCT_EXPERIMENT3  //iprove a bit RX signal quality ?
-
-//#define GCT_EXPERIMENT4 //maybe solve some brokeness with experiment1 ?
-
-//#define GCT_EXPERIMENT5
-
-//#define GCT_EXPERIMENT6  //not good
-
-
-u32 gct_chan[] = {
-	0x0,	//dummy channel 0
-	0x0, //1
-	0x1, //2
-	0x2, //3
-	0x3, //4
-	0x4, //5
-	0x5, //6
-	0x6, //7
-	0x7, //8
-	0x8, //9
-	0x9, //10
-	0xa, //11
-	0xb, //12
-	0xc, //13
-	0xd, //14
-};
-
-int gct_encode[16] = {
-	0, 8, 4, 0xC,
-	2, 0xA, 6, 0xE,
-	1, 9, 5, 0xD,
-	3, 0xB, 7, 0xF
-};
-
-void gct_rf_stabilize(struct net_device *dev)
-{
-	force_pci_posting(dev);
-	mdelay(3); //for now use a great value.. we may optimize in future
-}
-
-
-void write_gct(struct net_device *dev, u8 adr, u32 data)
-{
-//	struct r8180_priv *priv = ieee80211_priv(dev);
-	u32 phy_config;
-
-	phy_config =  gct_encode[(data & 0xf00) >> 8];
-	phy_config |= gct_encode[(data & 0xf0) >> 4 ] << 4;
-	phy_config |= gct_encode[(data & 0xf)       ] << 8;
-	phy_config |= gct_encode[(adr >> 1) & 0xf   ] << 12;
-	phy_config |=            (adr & 1 )           << 16;
-	phy_config |= gct_encode[(data & 0xf000)>>12] << 24;
-
-	phy_config |= 0x90000000; // MAC will bang bits to the chip
-
-
-	write_nic_dword(dev,PHY_CONFIG,phy_config);
-#ifdef DEBUG_GCT
-	DMESG("Writing GCT: %x (adr %x)",phy_config,adr);
-#endif
-	gct_rf_stabilize(dev);
-}
-
-
-
-void gct_write_phy_antenna(struct net_device *dev,short ch)
-{
-	struct r8180_priv *priv = ieee80211_priv(dev);
-	u8 ant;
-
-	ant = GCT_ANTENNA;
-	if(priv->antb) /*default antenna is antenna B */
-		ant |= BB_ANTENNA_B;
-	if(ch == 14)
-		ant |= BB_ANTATTEN_CHAN14;
-	write_phy(dev,0x10,ant);
-	//DMESG("BB antenna %x ",ant);
-}
-
-
-void gct_rf_set_chan(struct net_device *dev, short ch)
-{
-	struct r8180_priv *priv = ieee80211_priv(dev);
-	u32 txpw = 0xff & priv->chtxpwr[ch];
-	u32 chan = gct_chan[ch];
-
-	//write_phy(dev,3,txpw);
-#ifdef DEBUG_GCT
-	DMESG("Gct set channel");
-#endif
-	/* set TX power */
-	write_gct(dev,0x15,0);
- 	write_gct(dev,6, txpw);
-	write_gct(dev,0x15, 0x10);
-	write_gct(dev,0x15,0);
-
-	/*set frequency*/
-	write_gct(dev,7, 0);
-      	write_gct(dev,0xB, chan);
-      	write_gct(dev,7, 0x1000);
-
-#ifdef DEBUG_GCT
-	DMESG("Gct set channel > write phy antenna");
-#endif
-
-
-	gct_write_phy_antenna(dev,ch);
-
-}
-
-
-void gct_rf_close(struct net_device *dev)
-{
-	u32 anaparam;
-
-	anaparam = read_nic_dword(dev,ANAPARAM);
-	anaparam &= 0x000fffff;
-	anaparam |= 0x3f900000;
-	rtl8180_set_anaparam(dev, anaparam);
-
-	write_gct(dev, 0x7, 0);
-	write_gct(dev, 0x1f, 0x45);
-	write_gct(dev, 0x1f, 0x5);
-	write_gct(dev, 0x0, 0x8e4);
-}
-
-
-void gct_rf_init(struct net_device *dev)
-{
-	struct r8180_priv *priv = ieee80211_priv(dev);
-	//u32 anaparam;
-
-
-	write_nic_byte(dev,PHY_DELAY,0x6);	//this is general
-	write_nic_byte(dev,CARRIER_SENSE_COUNTER,0x4c); //this is general
-
-	//DMESG("%x", read_nic_dword(dev,ANAPARAM));
-	/* we should set anaparm here*/
-	//rtl8180_set_anaparam(dev,anaparam);
-
-	write_gct(dev,0x1f,0);
-	write_gct(dev,0x1f,0);
-	write_gct(dev,0x1f,0x40);
-	write_gct(dev,0x1f,0x60);
-	write_gct(dev,0x1f,0x61);
-	write_gct(dev,0x1f,0x61);
-	write_gct(dev,0x0,0xae4);
-	write_gct(dev,0x1f,0x1);
-	write_gct(dev,0x1f,0x41);
-	write_gct(dev,0x1f,0x61);
-	write_gct(dev,0x1,0x1a23);
-	write_gct(dev,0x2,0x4971);
-	write_gct(dev,0x3,0x41de);
-	write_gct(dev,0x4,0x2d80);
-#ifdef GCT_EXPERIMENT1
-	//write_gct(dev,0x5,0x6810);  // from zydas driver. sens+ but quite slow
-	//write_gct(dev,0x5,0x681f);  //good+ (somewhat stable, better sens, performance decent)
-	write_gct(dev,0x5,0x685f);  //good performances, not sure sens is really so beeter
-	//write_gct(dev,0x5,0x687f);  //good performances, maybe sens is not improved
-	//write_gct(dev,0x5,0x689f);  //like above
-	//write_gct(dev,0x5,0x685e);  //bad
-	//write_gct(dev,0x5,0x68ff);  //good+ (somewhat stable, better sens(?), performance decent)
-	//write_gct(dev,0x5,0x68f0);  //bad
-	//write_gct(dev,0x5,0x6cff);  //sens+ but not so good
-	//write_gct(dev,0x5,0x6dff);  //sens+,apparentely very good but broken
-	//write_gct(dev,0x5,0x65ff);  //sens+,good
-	//write_gct(dev,0x5,0x78ff);  //sens + but almost broken
-	//write_gct(dev,0x5,0x7810);  //- //snes + but broken
-	//write_gct(dev,0x5,0x781f);  //-- //sens +
-	//write_gct(dev,0x5,0x78f0);  //low sens
-#else
-	write_gct(dev,0x5,0x61ff);   //best performance but weak sensitivity
-#endif
-#ifdef GCT_EXPERIMENT2
-	write_gct(dev,0x6,0xe);
-#else
-	write_gct(dev,0x6,0x0);
-#endif
-	write_gct(dev,0x7,0x0);
-	write_gct(dev,0x8,0x7533);
-	write_gct(dev,0x9,0xc401);
-	write_gct(dev,0xa,0x0);
-	write_gct(dev,0xc,0x1c7);
-	write_gct(dev,0xd,0x29d3);
-	write_gct(dev,0xe,0x2e8);
-	write_gct(dev,0x10,0x192);
-#ifdef GCT_EXPERIMENT3
-	write_gct(dev,0x11,0x246);
-#else
-	write_gct(dev,0x11,0x248);
-#endif
-	write_gct(dev,0x12,0x0);
-	write_gct(dev,0x13,0x20c4);
-#ifdef GCT_EXPERIMENT4
-	write_gct(dev,0x14,0xf488);
-#else
-	write_gct(dev,0x14,0xf4fc);
-#endif
-#ifdef GCT_EXPERIMENT5
-	write_gct(dev,0x15,0xb152);
-#else
-	write_gct(dev,0x15,0x0);
-#endif
-#ifdef GCT_EXPERIMENT6
-	write_gct(dev,0x1e,0x1);
-#endif
-	write_gct(dev,0x16,0x1500);
-
-	write_gct(dev,0x7,0x1000);
-	/*write_gct(dev,0x15,0x0);
-	write_gct(dev,0x6,0x15);
-	write_gct(dev,0x15,0x8);
-	write_gct(dev,0x15,0x0);
-*/
-	write_phy(dev,0,0xa8);
-
-/*	write_gct(dev,0x15,0x0);
-	write_gct(dev,0x6,0x12);
-	write_gct(dev,0x15,0x8);
-	write_gct(dev,0x15,0x0);
-*/
-	write_phy(dev,3,0x0);
-	write_phy(dev,4,0xc0); /* lna det*/
-	write_phy(dev,5,0x90);
-	write_phy(dev,6,0x1e);
-	write_phy(dev,7,0x64);
-
-#ifdef DEBUG_GCT
-	DMESG("Gct init> write phy antenna");
-#endif
-
-	gct_write_phy_antenna(dev,priv->chan);
-
-	write_phy(dev,0x11,0x88);
-	if(!priv->diversity)
-		write_phy(dev,0x12,0xc0);
-	else
-		write_phy(dev,0x12,0x40);
-
-	write_phy(dev,0x13,0x90 | priv->cs_treshold );
-
-	write_phy(dev,0x19,0x0);
-	write_phy(dev,0x1a,0xa0);
-	write_phy(dev,0x1b,0x44);
-
-#ifdef DEBUG_GCT
-	DMESG("Gct init > set channel2");
-#endif
-
-	gct_rf_set_chan(dev,priv->chan);
-}
Index: b/drivers/staging/rtl8187se/r8180_gct.h
===================================================================
--- a/drivers/staging/rtl8187se/r8180_gct.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
-	This is part of rtl8180 OpenSource driver - v 0.20
-	Copyright (C) Andrea Merello 2004  <andreamrl@...cali.it>
-	Released under the terms of GPL (General Public Licence)
-
-	Parts of this driver are based on the GPL part of the official realtek driver
-	Parts of this driver are based on the rtl8180 driver skeleton from Patric Schenke & Andres Salomon
-	Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver
-
-	We want to tanks the Authors of such projects and the Ndiswrapper project Authors.
-*/
-
-#define GCT_ANTENNA 0xA3
-
-
-// we use the untouched eeprom value- cross your finger ;-)
-#define GCT_ANAPARAM_PWR1_ON ??
-#define GCT_ANAPARAM_PWR0_ON ??
-
-
-
-void gct_rf_init(struct net_device *dev);
-void gct_rf_set_chan(struct net_device *dev,short ch);
-
-void gct_rf_close(struct net_device *dev);
Index: b/drivers/staging/rtl8187se/r8180_max2820.c
===================================================================
--- a/drivers/staging/rtl8187se/r8180_max2820.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
-   This files contains MAXIM MAX2820 radio frontend programming routines.
-
-   This is part of rtl8180 OpenSource driver
-   Copyright (C) Andrea Merello 2004-2005  <andreamrl@...cali.it>
-   Released under the terms of GPL (General Public Licence)
-
-   Parts of this driver are based on the GPL part of the
-   official realtek driver
-
-   Parts of this driver are based on the rtl8180 driver skeleton
-   from Patric Schenke & Andres Salomon
-
-   Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver.
-
-   NetBSD rtl8180 driver from Dave Young has been really useful to
-   understand how to program the MAXIM radio. Thanks a lot!!!
-
-   'The Deuce' tested this and fixed some bugs.
-
-   Code from rtl8181 project has been useful to me to understand some things.
-
-   We want to tanks the Authors of such projects and the Ndiswrapper
-   project Authors.
-*/
-
-
-#include "r8180.h"
-#include "r8180_hw.h"
-#include "r8180_max2820.h"
-
-
-//#define DEBUG_MAXIM
-
-u32 maxim_chan[] = {
-	0,	//dummy channel 0
-	12, //1
-	17, //2
-	22, //3
-	27, //4
-	32, //5
-	37, //6
-	42, //7
-	47, //8
-	52, //9
-	57, //10
-	62, //11
-	67, //12
-	72, //13
-	84, //14
-};
-
-void write_maxim(struct net_device *dev,u8 adr, u32 data) {
-	u32 temp;
-	temp =  0x90 + (data & 0xf);
-	temp <<= 16;
-	temp += adr;
-	temp <<= 8;
-	temp += (data >> 4) & 0xff;
-#ifdef DEBUG_MAXIM
-	DMESG("write_maxim: %08x", temp);
-#endif
-	write_nic_dword(dev, PHY_CONFIG, temp);
-	force_pci_posting(dev);
-	mdelay(1);
-}
-
-
-void maxim_write_phy_antenna(struct net_device *dev,short ch)
-{
-	struct r8180_priv *priv = ieee80211_priv(dev);
-	u8 ant;
-
-	ant = MAXIM_ANTENNA;
-	if(priv->antb) /*default antenna is antenna B */
-		ant |= BB_ANTENNA_B;
-	if(ch == 14)
-		ant |= BB_ANTATTEN_CHAN14;
-	write_phy(dev,0x10,ant);
-	//DMESG("BB antenna %x ",ant);
-}
-
-
-void maxim_rf_set_chan(struct net_device *dev, short ch)
-{
-	struct r8180_priv *priv = ieee80211_priv(dev);
-	u32 txpw = 0xff & priv->chtxpwr[ch];
-	u32 chan = maxim_chan[ch];
-
-	/*While philips SA2400 drive the PA bias
-	 *seems that for MAXIM we delegate this
-	 *to the BB
-	 */
-
-	//write_maxim(dev,5,txpw);
-	write_phy(dev,3,txpw);
-
-	maxim_write_phy_antenna(dev,ch);
-	write_maxim(dev,3,chan);
-}
-
-
-void maxim_rf_close(struct net_device *dev)
-{
-	write_phy(dev, 3, 0x8);
-	write_maxim(dev, 1, 0);
-}
-
-
-void maxim_rf_init(struct net_device *dev)
-{
-	struct r8180_priv *priv = ieee80211_priv(dev);
-	u32 anaparam;
-
-	write_nic_byte(dev,PHY_DELAY,0x6);	//this is general
-	write_nic_byte(dev,CARRIER_SENSE_COUNTER,0x4c); //this is general
-
-	/*these are maxim specific*/
-	anaparam = read_nic_dword(dev,ANAPARAM);
-	anaparam = anaparam &~ (ANAPARAM_TXDACOFF_SHIFT);
-	anaparam = anaparam &~ANAPARAM_PWR1_MASK;
-	anaparam = anaparam &~ANAPARAM_PWR0_MASK;
-	anaparam |= (MAXIM_ANAPARAM_PWR1_ON<<ANAPARAM_PWR1_SHIFT);
-	anaparam |= (MAXIM_ANAPARAM_PWR0_ON<<ANAPARAM_PWR0_SHIFT);
-
-	//rtl8180_set_anaparam(dev,anaparam);
-
-	/* MAXIM from netbsd driver */
-
-	write_maxim(dev,0, 7); /* test mode as indicated in datasheet*/
-	write_maxim(dev,1, 0x1e); /* enable register*/
-	write_maxim(dev,2, 1); /* synt register */
-
-
-	maxim_rf_set_chan(dev,priv->chan);
-
-	write_maxim(dev,4, 0x313); /* rx register*/
-
-	/* PA is driven directly by the BB, we keep the MAXIM bias
-	 * at the highest value in the boubt tha pleacing it to lower
-	 * values may introduce some further attenuation somewhere..
-	 */
-
-	write_maxim(dev,5, 0xf);
-
-
-	/*baseband configuration*/
-	write_phy(dev,0,0x88); //sys1
-	write_phy(dev,3,0x8); //txagc
-	write_phy(dev,4,0xf8); // lnadet
-	write_phy(dev,5,0x90); // ifagcinit
-	write_phy(dev,6,0x1a); // ifagclimit
-	write_phy(dev,7,0x64); // ifagcdet
-
-	/*Should be done something more here??*/
-
-	maxim_write_phy_antenna(dev,priv->chan);
-
-	write_phy(dev,0x11,0x88); //trl
-	if(priv->diversity)
-		write_phy(dev,0x12,0xc7);
-	else
-		write_phy(dev,0x12,0x47);
-
-	write_phy(dev,0x13,0x9b);
-
-	write_phy(dev,0x19,0x0); //CHESTLIM
-	write_phy(dev,0x1a,0x9f); //CHSQLIM
-
-	maxim_rf_set_chan(dev,priv->chan);
-}
Index: b/drivers/staging/rtl8187se/r8180_max2820.h
===================================================================
--- a/drivers/staging/rtl8187se/r8180_max2820.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-	This is part of rtl8180 OpenSource driver
-	Copyright (C) Andrea Merello 2004-2005  <andreamrl@...cali.it>
-	Released under the terms of GPL (General Public Licence)
-
-	Parts of this driver are based on the GPL part of the official realtek driver
-	Parts of this driver are based on the rtl8180 driver skeleton from Patric Schenke & Andres Salomon
-	Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver
-
-	We want to tanks the Authors of such projects and the Ndiswrapper project Authors.
-*/
-
-#define MAXIM_ANTENNA 0xb3
-#define MAXIM_ANAPARAM_PWR1_ON 0x8
-#define MAXIM_ANAPARAM_PWR0_ON 0x0
-
-
-void maxim_rf_init(struct net_device *dev);
-void maxim_rf_set_chan(struct net_device *dev,short ch);
-
-void maxim_rf_close(struct net_device *dev);
Index: b/drivers/staging/rtl8187se/r8180_rtl8255.c
===================================================================
--- a/drivers/staging/rtl8187se/r8180_rtl8255.c
+++ /dev/null
@@ -1,1807 +0,0 @@
-/*
-  This is part of the rtl8180-sa2400 driver
-  released under the GPL (See file COPYING for details).
-  Copyright (c) 2005 Andrea Merello <andreamrl@...cali.it>
-
-  This files contains programming code for the rtl8255
-  radio frontend.
-
-  *Many* thanks to Realtek Corp. for their great support!
-
-*/
-
-#define BAND_A 1
-#define BAND_BG 2
-
-#include "r8180.h"
-#include "r8180_hw.h"
-#include "r8180_rtl8255.h"
-
-u32 rtl8255_chan[] = {
-	0,	//dummy channel 0
-	0x13, //1
-	0x115, //2
-	0x217, //3
-	0x219, //4
-	0x31b, //5
-	0x41d, //6
-	0x41f, //7
-	0x621, //8
-	0x623, //9
-	0x625, //10
-	0x627, //11
-	0x829, //12
-	0x82b, //13
-	0x92f, // 14
-};
-
-static short rtl8255_gain_2G[]={
-	0x33, 0x17, 0x7c, 0xc5,//-78
-	0x43, 0x17, 0x7a, 0xc5,//-74
-	0x53, 0x17, 0x78, 0xc5,//-70
-	0x63, 0x17, 0x76, 0xc5,//-66
-};
-
-
-static short rtl8255_agc[]={
-	0x1, 0x1, 0x1, 0x1, 0x1,         0x1, 0x1, 0x1, 0x1, 0x1,
-
-	0x1, 0x1, 0x2, 0x2, 0x3,         0x3, 0x4, 0x4, 0x5, 0x5,
-	0x6, 0x6, 0x7, 0x7, 0x8,         0x8, 0x9, 0x9, 0xa, 0xa,
-	0xb, 0xb, 0xc, 0xc, 0xd,         0xd, 0xe, 0xe, 0xf, 0xf,
-
-	0x10, 0x10, 0x11, 0x11, 0x12,    0x12, 0x13, 0x13, 0x14, 0x14,
-	0x15, 0x15, 0x16, 0x16, 0x17,    0x17, 0x18, 0x18, 0x19, 0x19,
-	0x1a, 0x1a, 0x1b, 0x1b, 0x1c,    0x1c, 0x1d, 0x1d, 0x1e, 0x1e,
-	0x1f, 0x1f,
-
-	0x20, 0x20, 0x21, 0x21, 0x22,    0x22, 0x23, 0x23, 0x24, 0x24,
-	0x25, 0x25, 0x26, 0x26, 0x27,    0x27, 0x28, 0x28, 0x29, 0x29,
-	0x2a, 0x2a,
-
-	0x2a, 0x2a, 0x2a, 0x2a, 0x2a,    0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
-	0x2a, 0x2a, 0x2a, 0x2a, 0x2a,    0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
-	0x2a, 0x2a, 0x2a, 0x2a, 0x2a,    0x2a, 0x2a, 0x2a, 0x2a, 0x2a,
-	0x2a, 0x2a, 0x2a, 0x2a
-
-};
-
-void rtl8255_set_gain(struct net_device *dev, short gain)
-{
-
-//	struct r8180_priv *priv = ieee80211_priv(dev);
-
-	write_phy_ofdm(dev, 0x0d, rtl8255_gain_2G[gain * 4]);
-	write_phy_ofdm(dev, 0x23, rtl8255_gain_2G[gain * 4 + 1]);
-	write_phy_ofdm(dev, 0x1b, rtl8255_gain_2G[gain * 4 + 2]);
-	write_phy_ofdm(dev, 0x1d, rtl8255_gain_2G[gain * 4 + 3]);
-	//rtl8225_set_gain_usb(dev, gain);
-}
-
-void write_rtl8255_reg0c(struct net_device *dev, u32 d1, u32 d2, u32 d3, u32 d4,
-u32 d5, u32 d6, u32 d7, u32 d8, u32 d9, u32 d10)
-{
-	int i,j;
-	u16 out,select;
-	u8 bit;
-	u32 bangdata;
-//	struct r8180_priv *priv = ieee80211_priv(dev);
-
-	write_nic_word(dev,RFPinsEnable,
-		(read_nic_word(dev,RFPinsEnable) | 0x7));
-
-	select = read_nic_word(dev, RFPinsSelect);
-
-	write_nic_word(dev, RFPinsSelect, select | 0x7 | SW_CONTROL_GPIO);
-
-	out = read_nic_word(dev, RFPinsOutput) & 0xfff3;
-
-	write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN );//| 0x1fff);
-
-	force_pci_posting(dev);
-	udelay(2);
-
-	write_nic_word(dev, RFPinsOutput, out);
-
-	force_pci_posting(dev);
-	udelay(2);
-
-	for(j=0;j<10;j++)
-	{
-		switch(j)
-		{
-			case 9:
-			bangdata = d10 | 0x0c;
-			break;
-			case 8:
-			bangdata = d9;
-			break;
-			case 7:
-			bangdata = d8;
-			break;
-			case 6:
-			bangdata = d7;
-			break;
-			case 5:
-			bangdata = d6;
-			break;
-			case 4:
-			bangdata = d5;
-			break;
-			case 3:
-			bangdata = d4;
-			break;
-			case 2:
-			bangdata = d3;
-			break;
-			case 1:
-			bangdata = d2;
-			break;
-			case 0:
-			bangdata = d1;
-			break;
-			default:
-			bangdata=0xbadc0de; /* avoid gcc complaints */
-			break;
-		}
-
-		for(i=31; i>=0;i--){
-
-			bit = (bangdata & (1<<i)) >> i;
-
-			write_nic_word(dev, RFPinsOutput, bit | out);
-			force_pci_posting(dev);
-			udelay(1);
-			write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK);
-			force_pci_posting(dev);
-			udelay(1);
-		//	write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK);
-			i--;
-			bit = (bangdata & (1<<i)) >> i;
-
-			write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK);
-			force_pci_posting(dev);
-			udelay(1);
-		//	write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK);
-			write_nic_word(dev, RFPinsOutput, bit | out);
-			force_pci_posting(dev);
-			udelay(1);
-		}
-	}
-
-	write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN);
-	force_pci_posting(dev);
-	udelay(10);
-
-//	write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN);
-	write_nic_word(dev, RFPinsSelect, select | SW_CONTROL_GPIO);
-//	rtl8185_rf_pins_enable(dev);
-
-}
-
-void write_rtl8255(struct net_device *dev, u8 adr, u16 data)
-{
-	int i;
-	u16 out,select;
-	u8 bit;
-	u32 bangdata = (data << 4) | (adr & 0xf);
-//	struct r8180_priv *priv = ieee80211_priv(dev);
-
-	out = read_nic_word(dev, RFPinsOutput) & 0xfff3;
-
-	write_nic_word(dev,RFPinsEnable,
-		(read_nic_word(dev,RFPinsEnable) | 0x7));
-
-	select = read_nic_word(dev, RFPinsSelect);
-
-	write_nic_word(dev, RFPinsSelect, select | 0x7 | SW_CONTROL_GPIO);
-
-	force_pci_posting(dev);
-	udelay(10);
-
-	write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN );//| 0x1fff);
-
-	force_pci_posting(dev);
-	udelay(2);
-
-	write_nic_word(dev, RFPinsOutput, out);
-
-	force_pci_posting(dev);
-	udelay(10);
-
-
-	for(i=15; i>=0;i--){
-
-		bit = (bangdata & (1<<i)) >> i;
-
-		write_nic_word(dev, RFPinsOutput, bit | out);
-		write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK);
-		write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK);
-		i--;
-		bit = (bangdata & (1<<i)) >> i;
-
-		write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK);
-		write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK);
-		write_nic_word(dev, RFPinsOutput, bit | out);
-	}
-
-
-	write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN);
-
-	force_pci_posting(dev);
-	udelay(10);
-
-	write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN);
-	write_nic_word(dev, RFPinsSelect, select | SW_CONTROL_GPIO);
-
-	rtl8185_rf_pins_enable(dev);
-}
-
-void rtl8255_rf_close(struct net_device *dev)
-{
-
-//	rtl8180_set_anaparam(dev, RTL8225_ANAPARAM_OFF);
-//	rtl8185_set_anaparam2(dev, RTL8225_ANAPARAM2_OFF);
-}
-
-void rtl8255_SetTXPowerLevel(struct net_device *dev, short ch)
-{
-	struct r8180_priv *priv = ieee80211_priv(dev);
-
-	u8 cck_power_level = 0xff & priv->chtxpwr[ch];
-	u8 ofdm_power_level = 0xff & priv->chtxpwr_ofdm[ch];
-	write_nic_byte(dev, TX_GAIN_OFDM, ofdm_power_level);
-	write_nic_byte(dev, TX_GAIN_CCK, cck_power_level);
-	force_pci_posting(dev);
-	mdelay(1);
-	//write_nic_byte(dev, TX_AGC_CONTROL,4);
-}
-
-void rtl8255_rf_set_chan(struct net_device *dev, short ch)
-{
-	//write_rtl8225(dev, 0x7, rtl8225_chan[1]);
-	write_rtl8255(dev, 0x5, 0x65);
-	write_rtl8255(dev, 0x6, rtl8255_chan[ch]);
-	write_rtl8255(dev, 0x7, 0x7c);
-	write_rtl8255(dev, 0x8, 0x6);
-
-
-	force_pci_posting(dev);
-	set_current_state(TASK_INTERRUPTIBLE);
-	schedule_timeout(HZ);
-//	rtl8225_set_mode_B(dev);
-
-	rtl8255_SetTXPowerLevel(dev, ch);
-	/* FIXME FIXME FIXME */
-}
-
-void rtl8255_init_BGband(struct net_device *dev)
-{
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804187cf, 0x40000027,
-		0x92402ac0, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc00);
-	write_rtl8255(dev, 0x4, 0xe00);
-	write_rtl8255(dev, 0x4, 0xc00);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x800);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa00);
-	write_rtl8255(dev, 0x4, 0x800);
-	write_rtl8255(dev, 0x4, 0x400);
-	write_rtl8255(dev, 0x3, 0x26);
-	write_rtl8255(dev, 0x2, 0x27);
-	write_rtl8255(dev, 0x4, 0x600);
-	write_rtl8255(dev, 0x4, 0x400);
-	write_rtl8255(dev, 0x4, 0x400);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x600);
-	write_rtl8255(dev, 0x4, 0x400);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804187ce, 0x80000027,
-		0x92402ac0, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc01);
-	write_rtl8255(dev, 0x4, 0xe01);
-	write_rtl8255(dev, 0x4, 0xc01);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x801);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa01);
-	write_rtl8255(dev, 0x4, 0x801);
-	write_rtl8255(dev, 0x4, 0x401);
-	write_rtl8255(dev, 0x3, 0x26);
-	write_rtl8255(dev, 0x2, 0x27);
-	write_rtl8255(dev, 0x4, 0x601);
-	write_rtl8255(dev, 0x4, 0x401);
-	write_rtl8255(dev, 0x4, 0x401);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x601);
-	write_rtl8255(dev, 0x4, 0x401);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80418bdf, 0x40000027,
-		0x92402ac4, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc02);
-	write_rtl8255(dev, 0x4, 0xe02);
-	write_rtl8255(dev, 0x4, 0xc02);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x802);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa02);
-	write_rtl8255(dev, 0x4, 0x802);
-	write_rtl8255(dev, 0x4, 0x402);
-	write_rtl8255(dev, 0x3, 0x26);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x602);
-	write_rtl8255(dev, 0x4, 0x402);
-	write_rtl8255(dev, 0x4, 0x402);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x602);
-	write_rtl8255(dev, 0x4, 0x402);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80418bbf, 0x40000027,
-		0x92402ac4, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc03);
-	write_rtl8255(dev, 0x4, 0xe03);
-	write_rtl8255(dev, 0x4, 0xc03);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x803);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa03);
-	write_rtl8255(dev, 0x4, 0x803);
-	write_rtl8255(dev, 0x4, 0x403);
-	write_rtl8255(dev, 0x3, 0x26);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x603);
-	write_rtl8255(dev, 0x4, 0x403);
-	write_rtl8255(dev, 0x4, 0x403);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x603);
-	write_rtl8255(dev, 0x4, 0x403);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80418b9f, 0x40000027,
-		0x92402ac8, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc04);
-	write_rtl8255(dev, 0x4, 0xe04);
-	write_rtl8255(dev, 0x4, 0xc04);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x804);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa04);
-	write_rtl8255(dev, 0x4, 0x804);
-	write_rtl8255(dev, 0x4, 0x404);
-	write_rtl8255(dev, 0x3, 0x26);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x604);
-	write_rtl8255(dev, 0x4, 0x404);
-	write_rtl8255(dev, 0x4, 0x404);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x604);
-	write_rtl8255(dev, 0x4, 0x404);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804183df, 0x40000027,
-		0x92402ac8, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc05);
-	write_rtl8255(dev, 0x4, 0xe05);
-	write_rtl8255(dev, 0x4, 0xc05);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x805);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa05);
-	write_rtl8255(dev, 0x4, 0x805);
-	write_rtl8255(dev, 0x4, 0x405);
-	write_rtl8255(dev, 0x3, 0x26);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x605);
-	write_rtl8255(dev, 0x4, 0x405);
-	write_rtl8255(dev, 0x4, 0x405);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x605);
-	write_rtl8255(dev, 0x4, 0x405);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804183cf, 0x27,
-		0x92402acc, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc06);
-	write_rtl8255(dev, 0x4, 0xe06);
-	write_rtl8255(dev, 0x4, 0xc06);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x806);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa06);
-	write_rtl8255(dev, 0x4, 0x806);
-	write_rtl8255(dev, 0x4, 0x406);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x606);
-	write_rtl8255(dev, 0x4, 0x406);
-	write_rtl8255(dev, 0x4, 0x406);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x606);
-	write_rtl8255(dev, 0x4, 0x406);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804183af, 0x27,
-		0x92402acc, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc07);
-	write_rtl8255(dev, 0x4, 0xe07);
-	write_rtl8255(dev, 0x4, 0xc07);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x807);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa07);
-	write_rtl8255(dev, 0x4, 0x807);
-	write_rtl8255(dev, 0x4, 0x407);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x607);
-	write_rtl8255(dev, 0x4, 0x407);
-	write_rtl8255(dev, 0x4, 0x407);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x607);
-	write_rtl8255(dev, 0x4, 0x407);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804083d7, 0x40000027,
-		0x92402ad0, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc08);
-	write_rtl8255(dev, 0x4, 0xe08);
-	write_rtl8255(dev, 0x4, 0xc08);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x808);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa08);
-	write_rtl8255(dev, 0x4, 0x808);
-	write_rtl8255(dev, 0x4, 0x408);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x608);
-	write_rtl8255(dev, 0x4, 0x408);
-	write_rtl8255(dev, 0x4, 0x408);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x608);
-	write_rtl8255(dev, 0x4, 0x408);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804083c7, 0x27,
-		0x92402ad0, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc09);
-	write_rtl8255(dev, 0x4, 0xe09);
-	write_rtl8255(dev, 0x4, 0xc09);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x809);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa09);
-	write_rtl8255(dev, 0x4, 0x809);
-	write_rtl8255(dev, 0x4, 0x409);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x609);
-	write_rtl8255(dev, 0x4, 0x409);
-	write_rtl8255(dev, 0x4, 0x409);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x609);
-	write_rtl8255(dev, 0x4, 0x409);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804043d7, 0x40000027,
-		0x92402ad4, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc0a);
-	write_rtl8255(dev, 0x4, 0xe0a);
-	write_rtl8255(dev, 0x4, 0xc0a);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x80a);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa0a);
-	write_rtl8255(dev, 0x4, 0x80a);
-	write_rtl8255(dev, 0x4, 0x40a);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x60a);
-	write_rtl8255(dev, 0x4, 0x40a);
-	write_rtl8255(dev, 0x4, 0x40a);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x60a);
-	write_rtl8255(dev, 0x4, 0x40a);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804043d7, 0x40000027,
-		0x92402ad4, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc0b);
-	write_rtl8255(dev, 0x4, 0xe0b);
-	write_rtl8255(dev, 0x4, 0xc0b);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x80b);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa0b);
-	write_rtl8255(dev, 0x4, 0x80b);
-	write_rtl8255(dev, 0x4, 0x40b);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x60b);
-	write_rtl8255(dev, 0x4, 0x40b);
-	write_rtl8255(dev, 0x4, 0x40b);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x60b);
-	write_rtl8255(dev, 0x4, 0x40b);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804043c7, 0x27,
-		0x92402ad8, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc0c);
-	write_rtl8255(dev, 0x4, 0xe0c);
-	write_rtl8255(dev, 0x4, 0xc0c);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x80c);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa0c);
-	write_rtl8255(dev, 0x4, 0x80c);
-	write_rtl8255(dev, 0x4, 0x40c);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x60c);
-	write_rtl8255(dev, 0x4, 0x40c);
-	write_rtl8255(dev, 0x4, 0x40c);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x60c);
-	write_rtl8255(dev, 0x4, 0x40c);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804043a7, 0x27,
-		0x92402ad8, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc0d);
-	write_rtl8255(dev, 0x4, 0xe0d);
-	write_rtl8255(dev, 0x4, 0xc0d);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x80d);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa0d);
-	write_rtl8255(dev, 0x4, 0x80d);
-	write_rtl8255(dev, 0x4, 0x40d);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x60d);
-	write_rtl8255(dev, 0x4, 0x40d);
-	write_rtl8255(dev, 0x4, 0x40d);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x60d);
-	write_rtl8255(dev, 0x4, 0x40d);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404387, 0x27,
-		0x92402aa8, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc0e);
-	write_rtl8255(dev, 0x4, 0xe0e);
-	write_rtl8255(dev, 0x4, 0xc0e);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x80e);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa0e);
-	write_rtl8255(dev, 0x4, 0x80e);
-	write_rtl8255(dev, 0x4, 0x40e);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x60e);
-	write_rtl8255(dev, 0x4, 0x40e);
-	write_rtl8255(dev, 0x4, 0x40e);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x60e);
-	write_rtl8255(dev, 0x4, 0x40e);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804041c7, 0x27,
-		0x92402aa8, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc0f);
-	write_rtl8255(dev, 0x4, 0xe0f);
-	write_rtl8255(dev, 0x4, 0xc0f);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x80f);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa0f);
-	write_rtl8255(dev, 0x4, 0x80f);
-	write_rtl8255(dev, 0x4, 0x40f);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x60f);
-	write_rtl8255(dev, 0x4, 0x40f);
-	write_rtl8255(dev, 0x4, 0x40f);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x60f);
-	write_rtl8255(dev, 0x4, 0x40f);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804041a7, 0x27,
-		0x92402aac, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc10);
-	write_rtl8255(dev, 0x4, 0xe10);
-	write_rtl8255(dev, 0x4, 0xc10);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x810);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa10);
-	write_rtl8255(dev, 0x4, 0x810);
-	write_rtl8255(dev, 0x4, 0x410);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x610);
-	write_rtl8255(dev, 0x4, 0x410);
-	write_rtl8255(dev, 0x4, 0x410);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x610);
-	write_rtl8255(dev, 0x4, 0x410);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404187, 0x27,
-		0x92402aac, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc11);
-	write_rtl8255(dev, 0x4, 0xe11);
-	write_rtl8255(dev, 0x4, 0xc11);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x811);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa11);
-	write_rtl8255(dev, 0x4, 0x811);
-	write_rtl8255(dev, 0x4, 0x411);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x611);
-	write_rtl8255(dev, 0x4, 0x411);
-	write_rtl8255(dev, 0x4, 0x411);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x611);
-	write_rtl8255(dev, 0x4, 0x411);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404186, 0x80000027,
-		0x92402ab0, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc12);
-	write_rtl8255(dev, 0x4, 0xe12);
-	write_rtl8255(dev, 0x4, 0xc12);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x812);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa12);
-	write_rtl8255(dev, 0x4, 0x812);
-	write_rtl8255(dev, 0x4, 0x412);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x612);
-	write_rtl8255(dev, 0x4, 0x412);
-	write_rtl8255(dev, 0x4, 0x412);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x612);
-	write_rtl8255(dev, 0x4, 0x412);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404186, 0x27,
-		0x92402ab0, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc13);
-	write_rtl8255(dev, 0x4, 0xe13);
-	write_rtl8255(dev, 0x4, 0xc13);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x813);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa13);
-	write_rtl8255(dev, 0x4, 0x813);
-	write_rtl8255(dev, 0x4, 0x413);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x613);
-	write_rtl8255(dev, 0x4, 0x413);
-	write_rtl8255(dev, 0x4, 0x413);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x613);
-	write_rtl8255(dev, 0x4, 0x413);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404146, 0x27,
-		0x92402ab4, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc14);
-	write_rtl8255(dev, 0x4, 0xe14);
-	write_rtl8255(dev, 0x4, 0xc14);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x814);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa14);
-	write_rtl8255(dev, 0x4, 0x814);
-	write_rtl8255(dev, 0x4, 0x414);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x614);
-	write_rtl8255(dev, 0x4, 0x414);
-	write_rtl8255(dev, 0x4, 0x414);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x614);
-	write_rtl8255(dev, 0x4, 0x414);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404126, 0x27,
-		0x92402ab4, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc15);
-	write_rtl8255(dev, 0x4, 0xe15);
-	write_rtl8255(dev, 0x4, 0xc15);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x815);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa15);
-	write_rtl8255(dev, 0x4, 0x815);
-	write_rtl8255(dev, 0x4, 0x415);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x615);
-	write_rtl8255(dev, 0x4, 0x415);
-	write_rtl8255(dev, 0x4, 0x415);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x615);
-	write_rtl8255(dev, 0x4, 0x415);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404106, 0x27,
-		0x92402ab8, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc16);
-	write_rtl8255(dev, 0x4, 0xe16);
-	write_rtl8255(dev, 0x4, 0xc16);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x816);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa16);
-	write_rtl8255(dev, 0x4, 0x816);
-	write_rtl8255(dev, 0x4, 0x416);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x616);
-	write_rtl8255(dev, 0x4, 0x416);
-	write_rtl8255(dev, 0x4, 0x416);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x616);
-	write_rtl8255(dev, 0x4, 0x416);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404105, 0x27,
-		0x92402ab8, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc17);
-	write_rtl8255(dev, 0x4, 0xe17);
-	write_rtl8255(dev, 0x4, 0xc17);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x817);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa17);
-	write_rtl8255(dev, 0x4, 0x817);
-	write_rtl8255(dev, 0x4, 0x417);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x617);
-	write_rtl8255(dev, 0x4, 0x417);
-	write_rtl8255(dev, 0x4, 0x417);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x617);
-	write_rtl8255(dev, 0x4, 0x417);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404104, 0x80000027,
-		0x92402a88, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc18);
-	write_rtl8255(dev, 0x4, 0xe18);
-	write_rtl8255(dev, 0x4, 0xc18);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x818);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa18);
-	write_rtl8255(dev, 0x4, 0x818);
-	write_rtl8255(dev, 0x4, 0x418);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x618);
-	write_rtl8255(dev, 0x4, 0x418);
-	write_rtl8255(dev, 0x4, 0x418);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x618);
-	write_rtl8255(dev, 0x4, 0x418);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404104, 0x27,
-		0x92402a88, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc19);
-	write_rtl8255(dev, 0x4, 0xe19);
-	write_rtl8255(dev, 0x4, 0xc19);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x819);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa19);
-	write_rtl8255(dev, 0x4, 0x819);
-	write_rtl8255(dev, 0x4, 0x419);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x619);
-	write_rtl8255(dev, 0x4, 0x419);
-	write_rtl8255(dev, 0x4, 0x419);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x619);
-	write_rtl8255(dev, 0x4, 0x419);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404044, 0x27,
-		0x92402a8c, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc1a);
-	write_rtl8255(dev, 0x4, 0xe1a);
-	write_rtl8255(dev, 0x4, 0xc1a);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x81a);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa1a);
-	write_rtl8255(dev, 0x4, 0x81a);
-	write_rtl8255(dev, 0x4, 0x41a);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x61a);
-	write_rtl8255(dev, 0x4, 0x41a);
-	write_rtl8255(dev, 0x4, 0x41a);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x61a);
-	write_rtl8255(dev, 0x4, 0x41a);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404024, 0x27,
-		0x92402a8c, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc1b);
-	write_rtl8255(dev, 0x4, 0xe1b);
-	write_rtl8255(dev, 0x4, 0xc1b);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x81b);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa1b);
-	write_rtl8255(dev, 0x4, 0x81b);
-	write_rtl8255(dev, 0x4, 0x41b);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x61b);
-	write_rtl8255(dev, 0x4, 0x41b);
-	write_rtl8255(dev, 0x4, 0x41b);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x61b);
-	write_rtl8255(dev, 0x4, 0x41b);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404004, 0x27,
-		0x92402a90, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc1c);
-	write_rtl8255(dev, 0x4, 0xe1c);
-	write_rtl8255(dev, 0x4, 0xc1c);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x81c);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa1c);
-	write_rtl8255(dev, 0x4, 0x81c);
-	write_rtl8255(dev, 0x4, 0x41c);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x61c);
-	write_rtl8255(dev, 0x4, 0x41c);
-	write_rtl8255(dev, 0x4, 0x41c);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x61c);
-	write_rtl8255(dev, 0x4, 0x41c);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404001, 0x27,
-		0x92402a90, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc1d);
-	write_rtl8255(dev, 0x4, 0xe1d);
-	write_rtl8255(dev, 0x4, 0xc1d);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x81d);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa1d);
-	write_rtl8255(dev, 0x4, 0x81d);
-	write_rtl8255(dev, 0x4, 0x41d);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x61d);
-	write_rtl8255(dev, 0x4, 0x41d);
-	write_rtl8255(dev, 0x4, 0x41d);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x61d);
-	write_rtl8255(dev, 0x4, 0x41d);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a94, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc1e);
-	write_rtl8255(dev, 0x4, 0xe1e);
-	write_rtl8255(dev, 0x4, 0xc1e);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x81e);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa1e);
-	write_rtl8255(dev, 0x4, 0x81e);
-	write_rtl8255(dev, 0x4, 0x41e);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x61e);
-	write_rtl8255(dev, 0x4, 0x41e);
-	write_rtl8255(dev, 0x4, 0x41e);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x61e);
-	write_rtl8255(dev, 0x4, 0x41e);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x27,
-		0x92402a94, 0xf0009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc1f);
-	write_rtl8255(dev, 0x4, 0xe1f);
-	write_rtl8255(dev, 0x4, 0xc1f);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x81f);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa1f);
-	write_rtl8255(dev, 0x4, 0x81f);
-	write_rtl8255(dev, 0x4, 0x41f);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x61f);
-	write_rtl8255(dev, 0x4, 0x41f);
-	write_rtl8255(dev, 0x4, 0x41f);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x61f);
-	write_rtl8255(dev, 0x4, 0x41f);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404020, 0x80000027,
-		0x92402a98, 0xf8009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc20);
-	write_rtl8255(dev, 0x4, 0xe20);
-	write_rtl8255(dev, 0x4, 0xc20);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x820);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa20);
-	write_rtl8255(dev, 0x4, 0x820);
-	write_rtl8255(dev, 0x4, 0x420);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x620);
-	write_rtl8255(dev, 0x4, 0x420);
-	write_rtl8255(dev, 0x4, 0x420);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x620);
-	write_rtl8255(dev, 0x4, 0x420);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404020, 0x27,
-		0x92402a98, 0xf8009, 0x28000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc21);
-	write_rtl8255(dev, 0x4, 0xe21);
-	write_rtl8255(dev, 0x4, 0xc21);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x821);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa21);
-	write_rtl8255(dev, 0x4, 0x821);
-	write_rtl8255(dev, 0x4, 0x421);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x621);
-	write_rtl8255(dev, 0x4, 0x421);
-	write_rtl8255(dev, 0x4, 0x421);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x621);
-	write_rtl8255(dev, 0x4, 0x421);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a68, 0xf0009, 0x10028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc22);
-	write_rtl8255(dev, 0x4, 0xe22);
-	write_rtl8255(dev, 0x4, 0xc22);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x822);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa22);
-	write_rtl8255(dev, 0x4, 0x822);
-	write_rtl8255(dev, 0x4, 0x422);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x622);
-	write_rtl8255(dev, 0x4, 0x422);
-	write_rtl8255(dev, 0x4, 0x422);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x622);
-	write_rtl8255(dev, 0x4, 0x422);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404010, 0x80000027,
-		0x92402a68, 0xf0009, 0x20028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc23);
-	write_rtl8255(dev, 0x4, 0xe23);
-	write_rtl8255(dev, 0x4, 0xc23);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x823);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa23);
-	write_rtl8255(dev, 0x4, 0x823);
-	write_rtl8255(dev, 0x4, 0x423);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x623);
-	write_rtl8255(dev, 0x4, 0x423);
-	write_rtl8255(dev, 0x4, 0x423);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x623);
-	write_rtl8255(dev, 0x4, 0x423);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404010, 0x80000027,
-		0x92402a6c, 0xf0009, 0x30028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc24);
-	write_rtl8255(dev, 0x4, 0xe24);
-	write_rtl8255(dev, 0x4, 0xc24);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x824);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa24);
-	write_rtl8255(dev, 0x4, 0x824);
-	write_rtl8255(dev, 0x4, 0x424);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x624);
-	write_rtl8255(dev, 0x4, 0x424);
-	write_rtl8255(dev, 0x4, 0x424);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x624);
-	write_rtl8255(dev, 0x4, 0x424);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404010, 0x80000027,
-		0x92402a6c, 0xf0009, 0x40028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc25);
-	write_rtl8255(dev, 0x4, 0xe25);
-	write_rtl8255(dev, 0x4, 0xc25);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x825);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa25);
-	write_rtl8255(dev, 0x4, 0x825);
-	write_rtl8255(dev, 0x4, 0x425);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x625);
-	write_rtl8255(dev, 0x4, 0x425);
-	write_rtl8255(dev, 0x4, 0x425);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x625);
-	write_rtl8255(dev, 0x4, 0x425);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a70, 0xf0009, 0x60028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc26);
-	write_rtl8255(dev, 0x4, 0xe26);
-	write_rtl8255(dev, 0x4, 0xc26);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x826);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa26);
-	write_rtl8255(dev, 0x4, 0x826);
-	write_rtl8255(dev, 0x4, 0x426);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x626);
-	write_rtl8255(dev, 0x4, 0x426);
-	write_rtl8255(dev, 0x4, 0x426);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x626);
-	write_rtl8255(dev, 0x4, 0x426);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404031, 0x40000027,
-		0x92402a70, 0xf0011, 0x60028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc27);
-	write_rtl8255(dev, 0x4, 0xe27);
-	write_rtl8255(dev, 0x4, 0xc27);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x827);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa27);
-	write_rtl8255(dev, 0x4, 0x827);
-	write_rtl8255(dev, 0x4, 0x427);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x627);
-	write_rtl8255(dev, 0x4, 0x427);
-	write_rtl8255(dev, 0x4, 0x427);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x627);
-	write_rtl8255(dev, 0x4, 0x427);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404011, 0x40000027,
-		0x92402a74, 0xf0011, 0x60028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc28);
-	write_rtl8255(dev, 0x4, 0xe28);
-	write_rtl8255(dev, 0x4, 0xc28);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x828);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa28);
-	write_rtl8255(dev, 0x4, 0x828);
-	write_rtl8255(dev, 0x4, 0x428);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x628);
-	write_rtl8255(dev, 0x4, 0x428);
-	write_rtl8255(dev, 0x4, 0x428);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x628);
-	write_rtl8255(dev, 0x4, 0x428);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404010, 0xc0000027,
-		0x92402a74, 0xf0011, 0x60028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc29);
-	write_rtl8255(dev, 0x4, 0xe29);
-	write_rtl8255(dev, 0x4, 0xc29);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x829);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa29);
-	write_rtl8255(dev, 0x4, 0x829);
-	write_rtl8255(dev, 0x4, 0x429);
-	write_rtl8255(dev, 0x3, 0x25);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x629);
-	write_rtl8255(dev, 0x4, 0x429);
-	write_rtl8255(dev, 0x4, 0x429);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x629);
-	write_rtl8255(dev, 0x4, 0x429);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a78, 0xf0011, 0x60028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc2a);
-	write_rtl8255(dev, 0x4, 0xe2a);
-	write_rtl8255(dev, 0x4, 0xc2a);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x82a);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa2a);
-	write_rtl8255(dev, 0x4, 0x82a);
-	write_rtl8255(dev, 0x4, 0x42a);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x62a);
-	write_rtl8255(dev, 0x4, 0x42a);
-	write_rtl8255(dev, 0x4, 0x42a);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x62a);
-	write_rtl8255(dev, 0x4, 0x42a);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a78, 0xf0011, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc2b);
-	write_rtl8255(dev, 0x4, 0xe2b);
-	write_rtl8255(dev, 0x4, 0xc2b);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x82b);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa2b);
-	write_rtl8255(dev, 0x4, 0x82b);
-	write_rtl8255(dev, 0x4, 0x42b);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x62b);
-	write_rtl8255(dev, 0x4, 0x42b);
-	write_rtl8255(dev, 0x4, 0x42b);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x62b);
-	write_rtl8255(dev, 0x4, 0x42b);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a48, 0xf0019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc2c);
-	write_rtl8255(dev, 0x4, 0xe2c);
-	write_rtl8255(dev, 0x4, 0xc2c);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x82c);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa2c);
-	write_rtl8255(dev, 0x4, 0x82c);
-	write_rtl8255(dev, 0x4, 0x42c);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x62c);
-	write_rtl8255(dev, 0x4, 0x42c);
-	write_rtl8255(dev, 0x4, 0x42c);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x62c);
-	write_rtl8255(dev, 0x4, 0x42c);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a48, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc2d);
-	write_rtl8255(dev, 0x4, 0xe2d);
-	write_rtl8255(dev, 0x4, 0xc2d);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x82d);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa2d);
-	write_rtl8255(dev, 0x4, 0x82d);
-	write_rtl8255(dev, 0x4, 0x42d);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x62d);
-	write_rtl8255(dev, 0x4, 0x42d);
-	write_rtl8255(dev, 0x4, 0x42d);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x62d);
-	write_rtl8255(dev, 0x4, 0x42d);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a4c, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc2e);
-	write_rtl8255(dev, 0x4, 0xe2e);
-	write_rtl8255(dev, 0x4, 0xc2e);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x82e);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa2e);
-	write_rtl8255(dev, 0x4, 0x82e);
-	write_rtl8255(dev, 0x4, 0x42e);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x62e);
-	write_rtl8255(dev, 0x4, 0x42e);
-	write_rtl8255(dev, 0x4, 0x42e);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x62e);
-	write_rtl8255(dev, 0x4, 0x42e);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a4c, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc2f);
-	write_rtl8255(dev, 0x4, 0xe2f);
-	write_rtl8255(dev, 0x4, 0xc2f);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x82f);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa2f);
-	write_rtl8255(dev, 0x4, 0x82f);
-	write_rtl8255(dev, 0x4, 0x42f);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x62f);
-	write_rtl8255(dev, 0x4, 0x42f);
-	write_rtl8255(dev, 0x4, 0x42f);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x62f);
-	write_rtl8255(dev, 0x4, 0x42f);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a50, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc30);
-	write_rtl8255(dev, 0x4, 0xe30);
-	write_rtl8255(dev, 0x4, 0xc30);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x830);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa30);
-	write_rtl8255(dev, 0x4, 0x830);
-	write_rtl8255(dev, 0x4, 0x430);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x630);
-	write_rtl8255(dev, 0x4, 0x430);
-	write_rtl8255(dev, 0x4, 0x430);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x630);
-	write_rtl8255(dev, 0x4, 0x430);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a50, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc31);
-	write_rtl8255(dev, 0x4, 0xe31);
-	write_rtl8255(dev, 0x4, 0xc31);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x831);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa31);
-	write_rtl8255(dev, 0x4, 0x831);
-	write_rtl8255(dev, 0x4, 0x431);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x631);
-	write_rtl8255(dev, 0x4, 0x431);
-	write_rtl8255(dev, 0x4, 0x431);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x631);
-	write_rtl8255(dev, 0x4, 0x431);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a54, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc32);
-	write_rtl8255(dev, 0x4, 0xe32);
-	write_rtl8255(dev, 0x4, 0xc32);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x832);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa32);
-	write_rtl8255(dev, 0x4, 0x832);
-	write_rtl8255(dev, 0x4, 0x432);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x632);
-	write_rtl8255(dev, 0x4, 0x432);
-	write_rtl8255(dev, 0x4, 0x432);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x632);
-	write_rtl8255(dev, 0x4, 0x432);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a54, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc33);
-	write_rtl8255(dev, 0x4, 0xe33);
-	write_rtl8255(dev, 0x4, 0xc33);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x833);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa33);
-	write_rtl8255(dev, 0x4, 0x833);
-	write_rtl8255(dev, 0x4, 0x433);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x633);
-	write_rtl8255(dev, 0x4, 0x433);
-	write_rtl8255(dev, 0x4, 0x433);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x633);
-	write_rtl8255(dev, 0x4, 0x433);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a58, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc34);
-	write_rtl8255(dev, 0x4, 0xe34);
-	write_rtl8255(dev, 0x4, 0xc34);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x834);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa34);
-	write_rtl8255(dev, 0x4, 0x834);
-	write_rtl8255(dev, 0x4, 0x434);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x634);
-	write_rtl8255(dev, 0x4, 0x434);
-	write_rtl8255(dev, 0x4, 0x434);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x634);
-	write_rtl8255(dev, 0x4, 0x434);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a58, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc35);
-	write_rtl8255(dev, 0x4, 0xe35);
-	write_rtl8255(dev, 0x4, 0xc35);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x835);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa35);
-	write_rtl8255(dev, 0x4, 0x835);
-	write_rtl8255(dev, 0x4, 0x435);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x4, 0x635);
-	write_rtl8255(dev, 0x4, 0x435);
-	write_rtl8255(dev, 0x4, 0x435);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x635);
-	write_rtl8255(dev, 0x4, 0x435);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a24, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc36);
-	write_rtl8255(dev, 0x4, 0xe36);
-	write_rtl8255(dev, 0x4, 0xc36);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x836);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa36);
-	write_rtl8255(dev, 0x4, 0x836);
-	write_rtl8255(dev, 0x4, 0x436);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x25);
-	write_rtl8255(dev, 0x4, 0x636);
-	write_rtl8255(dev, 0x4, 0x436);
-	write_rtl8255(dev, 0x4, 0x436);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x636);
-	write_rtl8255(dev, 0x4, 0x436);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a24, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc37);
-	write_rtl8255(dev, 0x4, 0xe37);
-	write_rtl8255(dev, 0x4, 0xc37);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x837);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa37);
-	write_rtl8255(dev, 0x4, 0x837);
-	write_rtl8255(dev, 0x4, 0x437);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x25);
-	write_rtl8255(dev, 0x4, 0x637);
-	write_rtl8255(dev, 0x4, 0x437);
-	write_rtl8255(dev, 0x4, 0x437);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x637);
-	write_rtl8255(dev, 0x4, 0x437);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a28, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc38);
-	write_rtl8255(dev, 0x4, 0xe38);
-	write_rtl8255(dev, 0x4, 0xc38);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x838);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa38);
-	write_rtl8255(dev, 0x4, 0x838);
-	write_rtl8255(dev, 0x4, 0x438);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x25);
-	write_rtl8255(dev, 0x4, 0x638);
-	write_rtl8255(dev, 0x4, 0x438);
-	write_rtl8255(dev, 0x4, 0x438);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x638);
-	write_rtl8255(dev, 0x4, 0x438);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a28, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc39);
-	write_rtl8255(dev, 0x4, 0xe39);
-	write_rtl8255(dev, 0x4, 0xc39);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x839);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa39);
-	write_rtl8255(dev, 0x4, 0x839);
-	write_rtl8255(dev, 0x4, 0x439);
-	write_rtl8255(dev, 0x3, 0x24);
-	write_rtl8255(dev, 0x2, 0x25);
-	write_rtl8255(dev, 0x4, 0x639);
-	write_rtl8255(dev, 0x4, 0x439);
-	write_rtl8255(dev, 0x4, 0x439);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x639);
-	write_rtl8255(dev, 0x4, 0x439);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a00, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc3a);
-	write_rtl8255(dev, 0x4, 0xe3a);
-	write_rtl8255(dev, 0x4, 0xc3a);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x83a);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa3a);
-	write_rtl8255(dev, 0x4, 0x83a);
-	write_rtl8255(dev, 0x4, 0x43a);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0x63a);
-	write_rtl8255(dev, 0x4, 0x43a);
-	write_rtl8255(dev, 0x4, 0x43a);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x63a);
-	write_rtl8255(dev, 0x4, 0x43a);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a00, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc3b);
-	write_rtl8255(dev, 0x4, 0xe3b);
-	write_rtl8255(dev, 0x4, 0xc3b);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x83b);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa3b);
-	write_rtl8255(dev, 0x4, 0x83b);
-	write_rtl8255(dev, 0x4, 0x43b);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0x63b);
-	write_rtl8255(dev, 0x4, 0x43b);
-	write_rtl8255(dev, 0x4, 0x43b);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x63b);
-	write_rtl8255(dev, 0x4, 0x43b);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a00, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc3c);
-	write_rtl8255(dev, 0x4, 0xe3c);
-	write_rtl8255(dev, 0x4, 0xc3c);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x83c);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa3c);
-	write_rtl8255(dev, 0x4, 0x83c);
-	write_rtl8255(dev, 0x4, 0x43c);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0x63c);
-	write_rtl8255(dev, 0x4, 0x43c);
-	write_rtl8255(dev, 0x4, 0x43c);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x63c);
-	write_rtl8255(dev, 0x4, 0x43c);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a00, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc3d);
-	write_rtl8255(dev, 0x4, 0xe3d);
-	write_rtl8255(dev, 0x4, 0xc3d);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x83d);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa3d);
-	write_rtl8255(dev, 0x4, 0x83d);
-	write_rtl8255(dev, 0x4, 0x43d);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0x63d);
-	write_rtl8255(dev, 0x4, 0x43d);
-	write_rtl8255(dev, 0x4, 0x43d);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x63d);
-	write_rtl8255(dev, 0x4, 0x43d);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a00, 0xf8019, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc3e);
-	write_rtl8255(dev, 0x4, 0xe3e);
-	write_rtl8255(dev, 0x4, 0xc3e);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x83e);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa3e);
-	write_rtl8255(dev, 0x4, 0x83e);
-	write_rtl8255(dev, 0x4, 0x43e);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0x63e);
-	write_rtl8255(dev, 0x4, 0x43e);
-	write_rtl8255(dev, 0x4, 0x43e);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x63e);
-	write_rtl8255(dev, 0x4, 0x43e);
-	write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027,
-		0x92402a00, 0xf8011, 0x70028000, 0xc00, 0x0);
-	write_rtl8255(dev, 0x1, 0x807);
-	write_rtl8255(dev, 0x4, 0xc3f);
-	write_rtl8255(dev, 0x4, 0xe3f);
-	write_rtl8255(dev, 0x4, 0xc3f);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255(dev, 0x4, 0x83f);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0xa3f);
-	write_rtl8255(dev, 0x4, 0x83f);
-	write_rtl8255(dev, 0x4, 0x43f);
-	write_rtl8255(dev, 0x3, 0x0);
-	write_rtl8255(dev, 0x2, 0x0);
-	write_rtl8255(dev, 0x4, 0x63f);
-	write_rtl8255(dev, 0x4, 0x43f);
-	write_rtl8255(dev, 0x4, 0x43f);
-	write_rtl8255(dev, 0x3, 0x100);
-	write_rtl8255(dev, 0x4, 0x63f);
-	write_rtl8255(dev, 0x4, 0x43f);
-	write_rtl8255(dev, 0x4, 0x0);
-	write_rtl8255(dev, 0x1, 0x0);
-	write_rtl8255_reg0c(dev, 0x3539, 0x70000c03, 0xfef46178, 0x408000, 0x403307,
-		0x924f80c0, 0xf955c, 0x8400, 0x429200, 0x1ce20);
-	write_rtl8255(dev, 0x1, 0x1c7);
-	write_rtl8255(dev, 0x2, 0x26);
-	write_rtl8255(dev, 0x3, 0x27);
-	write_rtl8255(dev, 0x1, 0x47);
-	write_rtl8255(dev, 0x4, 0x98c);
-	write_rtl8255(dev, 0x5, 0x65);
-	write_rtl8255(dev, 0x6, 0x13);
-	write_rtl8255(dev, 0x7, 0x7c);
-	write_rtl8255(dev, 0x8, 0x6);
-	write_rtl8255(dev, 0x8, 0x7);
-	write_rtl8255(dev, 0x8, 0x6);
-	write_rtl8255(dev, 0x9, 0xce2);
-	write_rtl8255(dev, 0xb, 0x1c5);
-	write_rtl8255(dev, 0xd, 0xd7f);
-	write_rtl8255(dev, 0xe, 0x369);
-	write_rtl8255(dev, 0xa, 0xd56);
-	write_rtl8255(dev, 0xa, 0xd57);
-	mdelay(20);
-	write_rtl8255(dev, 0xd, 0xd7e);
-
-}
-
-
-void rtl8255_set_band_param(struct net_device *dev, short band)
-{
-	if(band != BAND_A){
-		write_nic_dword(dev, 0x94, 0x3dc00002);
-		write_nic_dword(dev, 0x88, 0x00100040);
-
-		write_phy_cck(dev, 0x13, 0xd0);
-
-		write_phy_cck(dev, 0x41, 0x9d);
-		write_nic_dword(dev, 0x8c, 0x00082205);
-		write_nic_byte(dev, 0xb4, 0x66);
-	}
-}
-
-void rtl8255_rf_init(struct net_device *dev)
-{
-	struct r8180_priv *priv = ieee80211_priv(dev);
-	int i;
-	u16 brsr;
-//	short channel /*= priv->chan*/ = 1;
-	priv->chan = 1;
-
-	write_nic_word(dev, RFPinsOutput, 0x80);
-	write_nic_word(dev, RFPinsSelect, 0x80 | SW_CONTROL_GPIO);
-	write_nic_word(dev, RFPinsEnable, 0x80);
-	write_nic_word(dev, RFPinsSelect, SW_CONTROL_GPIO);
-
-	write_nic_dword(dev, RF_TIMING, 0x000f800f);
-
-	brsr = read_nic_word(dev, BRSR);
-
-	write_nic_word(dev, 0x2c, 0xffff);
-
-
-	rtl8180_set_anaparam(dev, RTL8255_ANAPARAM_ON);
-	rtl8185_set_anaparam2(dev, RTL8255_ANAPARAM2_ON);
-
-	write_nic_dword(dev, 0x94, 0x11c00002);
-
-	write_nic_dword(dev, RF_PARA, 0x100040);
-
-	rtl8185_rf_pins_enable(dev);
-
-	rtl8255_init_BGband(dev);
-	rtl8255_set_band_param(dev,BAND_BG);
-
-	write_phy_cck(dev, 0x0, 0x98);
-	write_phy_cck(dev, 0x3, 0x20);
-	write_phy_cck(dev, 0x4, 0x2e);
-	write_phy_cck(dev, 0x5, 0x12);
-	write_phy_cck(dev, 0x6, 0xfc);
-	write_phy_cck(dev, 0x7, 0xd8);
-	write_phy_cck(dev, 0x8, 0x2e);
-	write_phy_cck(dev, 0x10, 0xd3);
-	write_phy_cck(dev, 0x11, 0x88);
-	write_phy_cck(dev, 0x12, 0x47);
-	write_phy_cck(dev, 0x13, 0xd0); /* Ver C & D & 8187*/
-
-	write_phy_cck(dev, 0x19, 0x0);
-	write_phy_cck(dev, 0x1a, 0xa0);
-	write_phy_cck(dev, 0x1b, 0x8);
-	write_phy_cck(dev, 0x40, 0x86); /* CCK Carrier Sense Threshold */
-	write_phy_cck(dev, 0x41, 0x9d); /* Energy Threshold */
-	//write_phy_cck(dev, 0x42, 0x0);
-	write_phy_cck(dev, 0x43, 0x8);
-
-	write_nic_byte(dev, TESTR,0x8);
-
-	for(i=0;i<128;i++){
-		write_phy_ofdm(dev, 0x4b, rtl8255_agc[i]);
-		write_phy_ofdm(dev, 0x4a, (u8)i+ 0x80);
-	}
-
-
-	write_phy_ofdm(dev, 0x0, 0x1);
-	write_phy_ofdm(dev, 0x1, 0x2);
-	write_phy_ofdm(dev, 0x2, 0x43);
-	write_phy_ofdm(dev, 0x3, 0x0);
-	write_phy_ofdm(dev, 0x4, 0x0);
-	write_phy_ofdm(dev, 0x5, 0x0);
-	write_phy_ofdm(dev, 0x6, 0x40);
-	write_phy_ofdm(dev, 0x7, 0x0);
-	write_phy_ofdm(dev, 0x8, 0x40);
-	write_phy_ofdm(dev, 0x9, 0xfe);
-	write_phy_ofdm(dev, 0xa, 0x9);
-	write_phy_ofdm(dev, 0xb, 0x80);
-	write_phy_ofdm(dev, 0xc, 0x1);
-	write_phy_ofdm(dev, 0xd, 0x43);
-	write_phy_ofdm(dev, 0xe, 0xd3);
-	write_phy_ofdm(dev, 0xf, 0x38);
-	write_phy_ofdm(dev, 0x10, 0x4);
-	write_phy_ofdm(dev, 0x11, 0x06);/*agc resp time 700*/
-	write_phy_ofdm(dev, 0x12, 0x20);
-	write_phy_ofdm(dev, 0x13, 0x20);
-	write_phy_ofdm(dev, 0x14, 0x0);
-	write_phy_ofdm(dev, 0x15, 0x40);
-	write_phy_ofdm(dev, 0x16, 0x0);
-	write_phy_ofdm(dev, 0x17, 0x40);
-	write_phy_ofdm(dev, 0x18, 0xef);
-	write_phy_ofdm(dev, 0x19, 0x25);
-	write_phy_ofdm(dev, 0x1a, 0x20);
-	write_phy_ofdm(dev, 0x1b, 0x7a);
-	write_phy_ofdm(dev, 0x1c, 0x84);
-	write_phy_ofdm(dev, 0x1e, 0x95);
-	write_phy_ofdm(dev, 0x1f, 0x75);
-	write_phy_ofdm(dev, 0x20, 0x1f);
-	write_phy_ofdm(dev, 0x21, 0x17);
-	write_phy_ofdm(dev, 0x22, 0x16);
-	write_phy_ofdm(dev, 0x23, 0x70); //FIXME maybe not needed
-	write_phy_ofdm(dev, 0x24, 0x70);
-	write_phy_ofdm(dev, 0x25, 0x0);
-	write_phy_ofdm(dev, 0x26, 0x10);
-	write_phy_ofdm(dev, 0x27, 0x88);
-
-
-	write_nic_dword(dev, 0x94, 0x3dc00002); //BAND DEPEND.
-//	write_nic_dword(dev, 0x94, 0x15c00002); //BAND DEPEND.
-
-	write_phy_cck(dev, 0x4, 0x18);
-	write_phy_cck(dev, 0x43, 0x18);
-	write_phy_cck(dev, 0x6, 0xdc);
-	write_phy_cck(dev, 0x44, 0x2b);
-	write_phy_cck(dev, 0x45, 0x2b);
-	write_phy_cck(dev, 0x46, 0x25);
-	write_phy_cck(dev, 0x47, 0x15);
-	write_phy_cck(dev, 0x48, 0x0);
-	write_phy_cck(dev, 0x49, 0x0);
-	write_phy_cck(dev, 0x4a, 0x0);
-	write_phy_cck(dev, 0x4b, 0x0);
-//	write_phy_cck(dev, 0x4c, 0x5);
-
-	//rtl8255_set_gain(dev, 1); /* FIXME this '1' is random */
-
-	rtl8255_SetTXPowerLevel(dev, priv->chan);
-
-	write_phy_cck(dev, 0x10, 0x93 |0x4); /* Rx ant B, 0xd3 for A */
-	write_phy_ofdm(dev, 0x26, 0x90); /* Rx ant B, 0x10 for A */
-
-	rtl8185_tx_antenna(dev, 0x3); /* TX ant B, 0x0 for A*/
-	/* make sure is waken up! */
-	rtl8180_set_anaparam(dev, RTL8255_ANAPARAM_ON);
-	rtl8185_set_anaparam2(dev, RTL8255_ANAPARAM2_ON);
-
-	rtl8255_set_band_param(dev,BAND_BG);
-
-	write_phy_cck(dev, 0x41, 0x9d);
-
-	rtl8255_set_gain(dev, 4);
-	//rtl8255_set_energy_threshold(dev);
-	write_phy_cck(dev, 0x41, 0x9d);
-	rtl8255_rf_set_chan(dev, priv->chan);
-
-	write_nic_word(dev, BRSR, brsr);
-}
-
Index: b/drivers/staging/rtl8187se/r8180_rtl8255.h
===================================================================
--- a/drivers/staging/rtl8187se/r8180_rtl8255.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
-  This is part of the rtl8180-sa2400 driver
-  released under the GPL (See file COPYING for details).
-  Copyright (c) 2005 Andrea Merello <andreamrl@...cali.it>
-
-  This files contains programming code for the rtl8255
-  radio frontend.
-
-  *Many* thanks to Realtek Corp. for their great support!
-
-*/
-
-#define RTL8255_ANAPARAM_ON 0xa0000b59
-#define RTL8255_ANAPARAM2_ON 0x840cf311
-
-
-void rtl8255_rf_init(struct net_device *dev);
-void rtl8255_rf_set_chan(struct net_device *dev,short ch);
-void rtl8255_rf_close(struct net_device *dev);
Index: b/drivers/staging/rtl8187se/r8180_sa2400.c
===================================================================
--- a/drivers/staging/rtl8187se/r8180_sa2400.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
-   This files contains PHILIPS SA2400 radio frontend programming routines.
-
-   This is part of rtl8180 OpenSource driver
-   Copyright (C) Andrea Merello 2004-2005  <andreamrl@...cali.it>
-   Released under the terms of GPL (General Public Licence)
-
-   Parts of this driver are based on the GPL part of the
-   official realtek driver
-
-   Parts of this driver are based on the rtl8180 driver skeleton
-   from Patric Schenke & Andres Salomon
-
-   Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver.
-
-   Code at http://che.ojctech.com/~dyoung/rtw/ has been useful to me to
-   understand some things.
-
-   Code from rtl8181 project has been useful to me to understand some things.
-
-   We want to tanks the Authors of such projects and the Ndiswrapper
-   project Authors.
-*/
-
-
-#include "r8180.h"
-#include "r8180_hw.h"
-#include "r8180_sa2400.h"
-
-
-//#define DEBUG_SA2400
-
-u32 sa2400_chan[] = {
-	0x0,	//dummy channel 0
-	0x00096c, //1
-	0x080970, //2
-	0x100974, //3
-	0x180978, //4
-	0x000980, //5
-	0x080984, //6
-	0x100988, //7
-	0x18098c, //8
-	0x000994, //9
-	0x080998, //10
-	0x10099c, //11
-	0x1809a0, //12
-	0x0009a8, //13
-	0x0009b4, //14
-};
-
-
-void rf_stabilize(struct net_device *dev)
-{
-	force_pci_posting(dev);
-	mdelay(3); //for now use a great value.. we may optimize in future
-}
-
-
-void write_sa2400(struct net_device *dev,u8 adr, u32 data)
-{
-//	struct r8180_priv *priv = ieee80211_priv(dev);
-	u32 phy_config;
-
-        // philips sa2400 expects 24 bits data
-
-	/*if(adr == 4 && priv->digphy){
-		phy_config=0x60000000;
-	}else{
-		phy_config=0xb0000000;
-	}*/
-
-	phy_config = 0xb0000000; // MAC will bang bits to the sa2400
-
-	phy_config |= (((u32)(adr&0xf))<< 24);
-	phy_config |= (data & 0xffffff);
-	write_nic_dword(dev,PHY_CONFIG,phy_config);
-#ifdef DEBUG_SA2400
-	DMESG("Writing sa2400: %x (adr %x)",phy_config,adr);
-#endif
-	rf_stabilize(dev);
-}
-
-
-
-void sa2400_write_phy_antenna(struct net_device *dev,short ch)
-{
-	struct r8180_priv *priv = ieee80211_priv(dev);
-	u8 ant;
-
-	ant = SA2400_ANTENNA;
-	if(priv->antb) /*default antenna is antenna B */
-		ant |= BB_ANTENNA_B;
-	if(ch == 14)
-		ant |= BB_ANTATTEN_CHAN14;
-	write_phy(dev,0x10,ant);
-	//DMESG("BB antenna %x ",ant);
-}
-
-
-/* from the rtl8181 embedded driver */
-short sa2400_rf_set_sens(struct net_device *dev, short sens)
-{
-	u8 finetune = 0;
-	if ((sens > 85) || (sens < 54)) return -1;
-
-	write_sa2400(dev,5,0x1dfb | (sens-54) << 15 |(finetune<<20));  // AGC	0xc9dfb
-
-	return 0;
-}
-
-
-void sa2400_rf_set_chan(struct net_device *dev, short ch)
-{
-	struct r8180_priv *priv = ieee80211_priv(dev);
-	u32 txpw = 0xff & priv->chtxpwr[ch];
-	u32 chan = sa2400_chan[ch];
-
-	write_sa2400(dev,7,txpw);
-	//write_phy(dev,0x10,0xd1);
-	sa2400_write_phy_antenna(dev,ch);
-	write_sa2400(dev,0,chan);
-	write_sa2400(dev,1,0xbb50);
-	write_sa2400(dev,2,0x80);
-	write_sa2400(dev,3,0);
-}
-
-
-void sa2400_rf_close(struct net_device *dev)
-{
-	write_sa2400(dev, 4, 0);
-}
-
-
-void sa2400_rf_init(struct net_device *dev)
-{
-	struct r8180_priv *priv = ieee80211_priv(dev);
-	u32 anaparam;
-	u8 firdac;
-
-	write_nic_byte(dev,PHY_DELAY,0x6);	//this is general
-	write_nic_byte(dev,CARRIER_SENSE_COUNTER,0x4c); //this is general
-
-	/*these are philips sa2400 specific*/
-	anaparam = read_nic_dword(dev,ANAPARAM);
-	anaparam = anaparam &~ (1<<ANAPARAM_TXDACOFF_SHIFT);
-
-	anaparam = anaparam &~ANAPARAM_PWR1_MASK;
-	anaparam = anaparam &~ANAPARAM_PWR0_MASK;
-	if(priv->digphy){
-		anaparam |= (SA2400_DIG_ANAPARAM_PWR1_ON<<ANAPARAM_PWR1_SHIFT);
-		anaparam |= (SA2400_ANAPARAM_PWR0_ON<<ANAPARAM_PWR0_SHIFT);
-	}else{
-		anaparam |= (SA2400_ANA_ANAPARAM_PWR1_ON<<ANAPARAM_PWR1_SHIFT);
-	}
-
-	rtl8180_set_anaparam(dev,anaparam);
-
-	firdac = (priv->digphy) ? (1<<SA2400_REG4_FIRDAC_SHIFT) : 0;
-	write_sa2400(dev,0,sa2400_chan[priv->chan]);
-	write_sa2400(dev,1,0xbb50);
-	write_sa2400(dev,2,0x80);
-	write_sa2400(dev,3,0);
-	write_sa2400(dev,4,0x19340 | firdac);
-	write_sa2400(dev,5,0xc9dfb);  // AGC
-	write_sa2400(dev,4,0x19348 | firdac);  //calibrates VCO
-
-	if(priv->digphy)
-		write_sa2400(dev,4,0x1938c); /*???*/
-
-	write_sa2400(dev,4,0x19340 | firdac);
-
-	write_sa2400(dev,0,sa2400_chan[priv->chan]);
-	write_sa2400(dev,1,0xbb50);
-	write_sa2400(dev,2,0x80);
-	write_sa2400(dev,3,0);
-	write_sa2400(dev,4,0x19344 | firdac); //calibrates filter
-
-	/* new from rtl8180 embedded driver (rtl8181 project) */
-	write_sa2400(dev,6,0x13ff | (1<<23)); // MANRX
-	write_sa2400(dev,8,0); //VCO
-
-	if(!priv->digphy)
-	{
-		rtl8180_set_anaparam(dev, anaparam | \
-				     (1<<ANAPARAM_TXDACOFF_SHIFT));
-
-		rtl8180_conttx_enable(dev);
-
-		write_sa2400(dev, 4, 0x19341); // calibrates DC
-
-		/* a 5us sleep is required here,
-		   we rely on the 3ms delay introduced in write_sa2400
-		*/
-		write_sa2400(dev, 4, 0x19345);
-		/* a 20us sleep is required here,
-		   we rely on the 3ms delay introduced in write_sa2400
-		*/
-		rtl8180_conttx_disable(dev);
-
-		rtl8180_set_anaparam(dev, anaparam);
-	}
-	/* end new */
-
-	write_sa2400(dev,4,0x19341 | firdac ); //RTX MODE
-
-	// Set tx power level !?
-
-
-	/*baseband configuration*/
-	write_phy(dev,0,0x98);
-	write_phy(dev,3,0x38);
-	write_phy(dev,4,0xe0);
-	write_phy(dev,5,0x90);
-	write_phy(dev,6,0x1a);
-	write_phy(dev,7,0x64);
-
-	/*Should be done something more here??*/
-
-	sa2400_write_phy_antenna(dev,priv->chan);
-
-	write_phy(dev,0x11,0x80);
-	if(priv->diversity)
-		write_phy(dev,0x12,0xc7);
-	else
-		write_phy(dev,0x12,0x47);
-
-	write_phy(dev,0x13,0x90 | priv->cs_treshold );
-
-	write_phy(dev,0x19,0x0);
-	write_phy(dev,0x1a,0xa0);
-
-	sa2400_rf_set_chan(dev,priv->chan);
-}
Index: b/drivers/staging/rtl8187se/r8180_sa2400.h
===================================================================
--- a/drivers/staging/rtl8187se/r8180_sa2400.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-	This is part of rtl8180 OpenSource driver - v 0.7
-	Copyright (C) Andrea Merello 2004  <andreamrl@...cali.it>
-	Released under the terms of GPL (General Public Licence)
-
-	Parts of this driver are based on the GPL part of the official realtek driver
-	Parts of this driver are based on the rtl8180 driver skeleton from Patric Schenke & Andres Salomon
-	Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver
-
-	We want to tanks the Authors of such projects and the Ndiswrapper project Authors.
-*/
-
-#define SA2400_ANTENNA 0x91
-#define SA2400_DIG_ANAPARAM_PWR1_ON 0x8
-#define SA2400_ANA_ANAPARAM_PWR1_ON 0x28
-#define SA2400_ANAPARAM_PWR0_ON 0x3
-
-#define SA2400_RF_MAX_SENS 85
-#define SA2400_RF_DEF_SENS 80
-
-#define SA2400_REG4_FIRDAC_SHIFT 7
-
-void sa2400_rf_init(struct net_device *dev);
-void sa2400_rf_set_chan(struct net_device *dev,short ch);
-short sa2400_rf_set_sens(struct net_device *dev,short sens);
-void sa2400_rf_close(struct net_device *dev);
Index: b/drivers/staging/rtl8187se/r8180_wx.c
===================================================================
--- a/drivers/staging/rtl8187se/r8180_wx.c
+++ b/drivers/staging/rtl8187se/r8180_wx.c
@@ -20,7 +20,6 @@
 
 #include "r8180.h"
 #include "r8180_hw.h"
-#include "r8180_sa2400.h"
 
 #include "ieee80211/dot11d.h"
 
Index: b/drivers/staging/rtl8187se/r8185b_init.c
===================================================================
--- a/drivers/staging/rtl8187se/r8185b_init.c
+++ b/drivers/staging/rtl8187se/r8185b_init.c
@@ -22,11 +22,7 @@ Notes:
 #include <linux/spinlock.h>
 #include "r8180_hw.h"
 #include "r8180.h"
-#include "r8180_sa2400.h"  /* PHILIPS Radio frontend */
-#include "r8180_max2820.h" /* MAXIM Radio frontend */
-#include "r8180_gct.h"     /* GCT Radio frontend */
 #include "r8180_rtl8225.h" /* RTL8225 Radio frontend */
-#include "r8180_rtl8255.h" /* RTL8255 Radio frontend */
 #include "r8180_93cx6.h"   /* Card EEPROM */
 #include "r8180_wx.h"
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ