aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-04-26 10:04:22 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2009-06-19 14:00:39 -0400
commit8179af308bde85838eafa3db304da7370223ab82 (patch)
treea9244f682464b8fac591d86e8407b620effa1454
parentce6ee223f0438355f4b11ace5df2a787e3fb6820 (diff)
Staging: rt2870: remove kernel version compatibility wrappers
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/rt2870/2870_main_dev.c139
-rw-r--r--drivers/staging/rt2870/common/rtusb_bulk.c12
-rw-r--r--drivers/staging/rt2870/rt2870.h24
-rw-r--r--drivers/staging/rt2870/rt_ate.h4
-rw-r--r--drivers/staging/rt2870/rt_linux.c23
-rw-r--r--drivers/staging/rt2870/rt_linux.h18
-rw-r--r--drivers/staging/rt2870/rt_main_dev.c112
-rw-r--r--drivers/staging/rt2870/sta_ioctl.c10
8 files changed, 8 insertions, 334 deletions
diff --git a/drivers/staging/rt2870/2870_main_dev.c b/drivers/staging/rt2870/2870_main_dev.c
index 9d59e3167fe..aa8f1e185bd 100644
--- a/drivers/staging/rt2870/2870_main_dev.c
+++ b/drivers/staging/rt2870/2870_main_dev.c
@@ -77,26 +77,6 @@ MODULE_DEVICE_TABLE(usb, rtusb_usb_id);
77#endif 77#endif
78 78
79 79
80#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
81
82/**************************************************************************/
83/**************************************************************************/
84//tested for kernel 2.4 series
85/**************************************************************************/
86/**************************************************************************/
87static void *rtusb_probe(struct usb_device *dev, UINT interface,
88 const struct usb_device_id *id_table);
89static void rtusb_disconnect(struct usb_device *dev, void *ptr);
90
91struct usb_driver rtusb_driver = {
92 name:"rt2870",
93 probe:rtusb_probe,
94 disconnect:rtusb_disconnect,
95 id_table:rtusb_usb_id,
96 };
97
98#else
99
100#ifdef CONFIG_PM 80#ifdef CONFIG_PM
101static int rt2870_suspend(struct usb_interface *intf, pm_message_t state); 81static int rt2870_suspend(struct usb_interface *intf, pm_message_t state);
102static int rt2870_resume(struct usb_interface *intf); 82static int rt2870_resume(struct usb_interface *intf);
@@ -112,9 +92,6 @@ static int rtusb_probe (struct usb_interface *intf,
112static void rtusb_disconnect(struct usb_interface *intf); 92static void rtusb_disconnect(struct usb_interface *intf);
113 93
114struct usb_driver rtusb_driver = { 94struct usb_driver rtusb_driver = {
115#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15)
116 .owner = THIS_MODULE,
117#endif
118 .name="rt2870", 95 .name="rt2870",
119 .probe=rtusb_probe, 96 .probe=rtusb_probe,
120 .disconnect=rtusb_disconnect, 97 .disconnect=rtusb_disconnect,
@@ -176,7 +153,6 @@ static int rt2870_resume(
176 return 0; 153 return 0;
177} 154}
178#endif // CONFIG_PM // 155#endif // CONFIG_PM //
179#endif // LINUX_VERSION_CODE //
180 156
181 157
182// Init driver module 158// Init driver module
@@ -800,14 +776,7 @@ static void _rtusb_disconnect(struct usb_device *dev, PRTMP_ADAPTER pAd)
800 MC_CardUsed[pAd->MC_RowID] = 0; // not clear MAC address 776 MC_CardUsed[pAd->MC_RowID] = 0; // not clear MAC address
801#endif // MULTIPLE_CARD_SUPPORT // 777#endif // MULTIPLE_CARD_SUPPORT //
802 778
803#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* kernel 2.4 series */
804 while(MOD_IN_USE > 0)
805 {
806 MOD_DEC_USE_COUNT;
807 }
808#else
809 usb_put_dev(dev); 779 usb_put_dev(dev);
810#endif // LINUX_VERSION_CODE //
811 780
812 printk("rtusb_disconnect: pAd == NULL!\n"); 781 printk("rtusb_disconnect: pAd == NULL!\n");
813 return; 782 return;
@@ -829,31 +798,17 @@ static void _rtusb_disconnect(struct usb_device *dev, PRTMP_ADAPTER pAd)
829 unregister_netdev (pAd->net_dev); 798 unregister_netdev (pAd->net_dev);
830 } 799 }
831 udelay(1); 800 udelay(1);
832#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* kernel 2.4 series */
833#else
834 flush_scheduled_work(); 801 flush_scheduled_work();
835#endif // LINUX_VERSION_CODE //
836 udelay(1); 802 udelay(1);
837 803
838 // free net_device memory 804 // free net_device memory
839#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* kernel 2.4 series */
840 kfree(net_dev);
841#else
842 free_netdev(net_dev); 805 free_netdev(net_dev);
843#endif // LINUX_VERSION_CODE //
844 806
845 // free adapter memory 807 // free adapter memory
846 RTMPFreeAdapter(pAd); 808 RTMPFreeAdapter(pAd);
847 809
848 // release a use of the usb device structure 810 // release a use of the usb device structure
849#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* kernel 2.4 series */
850 while(MOD_IN_USE > 0)
851 {
852 MOD_DEC_USE_COUNT;
853 }
854#else
855 usb_put_dev(dev); 811 usb_put_dev(dev);
856#endif // LINUX_VERSION_CODE //
857 udelay(1); 812 udelay(1);
858 813
859 DBGPRINT(RT_DEBUG_ERROR, (" RTUSB disconnect successfully\n")); 814 DBGPRINT(RT_DEBUG_ERROR, (" RTUSB disconnect successfully\n"));
@@ -876,22 +831,6 @@ Return Value:
876Note: 831Note:
877======================================================================== 832========================================================================
878*/ 833*/
879#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* kernel 2.4 series */
880static void *rtusb_probe(struct usb_device *dev, UINT interface,
881 const struct usb_device_id *id)
882{
883 PRTMP_ADAPTER pAd;
884 rt28xx_probe((void *)dev, (void *)id, interface, &pAd);
885 return (void *)pAd;
886}
887
888//Disconnect function is called within exit routine
889static void rtusb_disconnect(struct usb_device *dev, void *ptr)
890{
891 _rtusb_disconnect(dev, ((PRTMP_ADAPTER)ptr));
892}
893
894#else /* kernel 2.6 series */
895static int rtusb_probe (struct usb_interface *intf, 834static int rtusb_probe (struct usb_interface *intf,
896 const struct usb_device_id *id) 835 const struct usb_device_id *id)
897{ 836{
@@ -911,7 +850,6 @@ static void rtusb_disconnect(struct usb_interface *intf)
911 850
912 _rtusb_disconnect(dev, pAd); 851 _rtusb_disconnect(dev, pAd);
913} 852}
914#endif // LINUX_VERSION_CODE //
915 853
916 854
917/* 855/*
@@ -1030,12 +968,8 @@ Note:
1030BOOLEAN RT28XXChipsetCheck( 968BOOLEAN RT28XXChipsetCheck(
1031 IN void *_dev_p) 969 IN void *_dev_p)
1032{ 970{
1033#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* kernel 2.4 series */
1034 struct usb_device *dev_p = (struct usb_device *)_dev_p;
1035#else
1036 struct usb_interface *intf = (struct usb_interface *)_dev_p; 971 struct usb_interface *intf = (struct usb_interface *)_dev_p;
1037 struct usb_device *dev_p = interface_to_usbdev(intf); 972 struct usb_device *dev_p = interface_to_usbdev(intf);
1038#endif // LINUX_VERSION_CODE //
1039 UINT32 i; 973 UINT32 i;
1040 974
1041 975
@@ -1082,19 +1016,11 @@ BOOLEAN RT28XXNetDevInit(
1082 IN struct net_device *net_dev, 1016 IN struct net_device *net_dev,
1083 IN RTMP_ADAPTER *pAd) 1017 IN RTMP_ADAPTER *pAd)
1084{ 1018{
1085#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* kernel 2.4 series */
1086 struct usb_device *dev_p = (struct usb_device *)_dev_p;
1087#else
1088 struct usb_interface *intf = (struct usb_interface *)_dev_p; 1019 struct usb_interface *intf = (struct usb_interface *)_dev_p;
1089 struct usb_device *dev_p = interface_to_usbdev(intf); 1020 struct usb_device *dev_p = interface_to_usbdev(intf);
1090#endif // LINUX_VERSION_CODE //
1091 1021
1092 1022
1093#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* kernel 2.4 series */
1094 pAd->config = dev_p->config;
1095#else
1096 pAd->config = &dev_p->config->desc; 1023 pAd->config = &dev_p->config->desc;
1097#endif // LINUX_VERSION_CODE //
1098 return TRUE; 1024 return TRUE;
1099} 1025}
1100 1026
@@ -1115,70 +1041,6 @@ Return Value:
1115Note: 1041Note:
1116======================================================================== 1042========================================================================
1117*/ 1043*/
1118#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
1119BOOLEAN RT28XXProbePostConfig(
1120 IN void *_dev_p,
1121 IN RTMP_ADAPTER *pAd,
1122 IN INT32 interface)
1123{
1124 struct usb_device *dev_p = (struct usb_device *)_dev_p;
1125 struct usb_interface *intf;
1126 struct usb_interface_descriptor *iface_desc;
1127 struct usb_endpoint_descriptor *endpoint;
1128 ULONG BulkOutIdx;
1129 UINT32 i;
1130
1131
1132 /* get the active interface descriptor */
1133 intf = &dev_p->actconfig->interface[interface];
1134 iface_desc = &intf->altsetting[0];
1135
1136 /* get # of enpoints */
1137 pAd->NumberOfPipes = iface_desc->bNumEndpoints;
1138 DBGPRINT(RT_DEBUG_TRACE, ("NumEndpoints=%d\n", iface_desc->bNumEndpoints));
1139
1140 /* Configure Pipes */
1141 endpoint = &iface_desc->endpoint[0];
1142 BulkOutIdx = 0;
1143
1144 for(i=0; i<pAd->NumberOfPipes; i++)
1145 {
1146 if ((endpoint[i].bmAttributes == USB_ENDPOINT_XFER_BULK) &&
1147 ((endpoint[i].bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN))
1148 {
1149 pAd->BulkInEpAddr = endpoint[i].bEndpointAddress;
1150 pAd->BulkInMaxPacketSize = endpoint[i].wMaxPacketSize;
1151
1152 DBGPRINT_RAW(RT_DEBUG_TRACE,
1153 ("BULK IN MaximumPacketSize = %d\n", pAd->BulkInMaxPacketSize));
1154 DBGPRINT_RAW(RT_DEBUG_TRACE,
1155 ("EP address = 0x%2x \n", endpoint[i].bEndpointAddress));
1156 }
1157 else if ((endpoint[i].bmAttributes == USB_ENDPOINT_XFER_BULK) &&
1158 ((endpoint[i].bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT))
1159 {
1160 // There are 6 bulk out EP. EP6 highest priority.
1161 // EP1-4 is EDCA. EP5 is HCCA.
1162 pAd->BulkOutEpAddr[BulkOutIdx++] = endpoint[i].bEndpointAddress;
1163 pAd->BulkOutMaxPacketSize = endpoint[i].wMaxPacketSize;
1164
1165 DBGPRINT_RAW(RT_DEBUG_TRACE,
1166 ("BULK OUT MaximumPacketSize = %d\n", pAd->BulkOutMaxPacketSize));
1167 DBGPRINT_RAW(RT_DEBUG_TRACE,
1168 ("EP address = 0x%2x \n", endpoint[i].bEndpointAddress));
1169 }
1170 }
1171
1172 if (!(pAd->BulkInEpAddr && pAd->BulkOutEpAddr[0]))
1173 {
1174 printk("Could not find both bulk-in and bulk-out endpoints\n");
1175 return FALSE;
1176 }
1177
1178 return TRUE;
1179}
1180
1181#else
1182BOOLEAN RT28XXProbePostConfig( 1044BOOLEAN RT28XXProbePostConfig(
1183 IN void *_dev_p, 1045 IN void *_dev_p,
1184 IN RTMP_ADAPTER *pAd, 1046 IN RTMP_ADAPTER *pAd,
@@ -1241,7 +1103,6 @@ BOOLEAN RT28XXProbePostConfig(
1241 1103
1242 return TRUE; 1104 return TRUE;
1243} 1105}
1244#endif // LINUX_VERSION_CODE //
1245 1106
1246 1107
1247/* 1108/*
diff --git a/drivers/staging/rt2870/common/rtusb_bulk.c b/drivers/staging/rt2870/common/rtusb_bulk.c
index c46d9166ccf..effd422f57b 100644
--- a/drivers/staging/rt2870/common/rtusb_bulk.c
+++ b/drivers/staging/rt2870/common/rtusb_bulk.c
@@ -52,11 +52,7 @@ void RTUSB_FILL_BULK_URB (struct urb *pUrb,
52 void *pContext) 52 void *pContext)
53{ 53{
54 54
55#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
56 usb_fill_bulk_urb(pUrb, pUsb_Dev, bulkpipe, pTransferBuf, BufSize, (usb_complete_t)Complete, pContext); 55 usb_fill_bulk_urb(pUrb, pUsb_Dev, bulkpipe, pTransferBuf, BufSize, (usb_complete_t)Complete, pContext);
57#else
58 FILL_BULK_URB(pUrb, pUsb_Dev, bulkpipe, pTransferBuf, BufSize, Complete, pContext);
59#endif
60 56
61} 57}
62 58
@@ -95,14 +91,12 @@ VOID RTUSBInitTxDesc(
95 Func, 91 Func,
96 pTxContext); 92 pTxContext);
97 93
98#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
99 if (pTxContext->bAggregatible) 94 if (pTxContext->bAggregatible)
100 pUrb->transfer_dma = (pTxContext->data_dma + TX_BUFFER_NORMSIZE + 2); 95 pUrb->transfer_dma = (pTxContext->data_dma + TX_BUFFER_NORMSIZE + 2);
101 else 96 else
102 pUrb->transfer_dma = pTxContext->data_dma; 97 pUrb->transfer_dma = pTxContext->data_dma;
103 98
104 pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; 99 pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
105#endif
106 100
107} 101}
108 102
@@ -135,10 +129,8 @@ VOID RTUSBInitHTTxDesc(
135 Func, 129 Func,
136 pTxContext); 130 pTxContext);
137 131
138#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
139 pUrb->transfer_dma = (pTxContext->data_dma + pTxContext->NextBulkOutPosition); 132 pUrb->transfer_dma = (pTxContext->data_dma + pTxContext->NextBulkOutPosition);
140 pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; 133 pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
141#endif
142 134
143} 135}
144 136
@@ -168,10 +160,8 @@ VOID RTUSBInitRxDesc(
168 (usb_complete_t)RTUSBBulkRxComplete, 160 (usb_complete_t)RTUSBBulkRxComplete,
169 (void *)pRxContext); 161 (void *)pRxContext);
170 162
171#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
172 pUrb->transfer_dma = pRxContext->data_dma + pAd->NextRxBulkInPosition; 163 pUrb->transfer_dma = pRxContext->data_dma + pAd->NextRxBulkInPosition;
173 pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; 164 pUrb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;
174#endif
175 165
176 166
177} 167}
@@ -956,11 +946,9 @@ VOID RTUSBBulkOutMLMEPacket(
956 // Init Tx context descriptor 946 // Init Tx context descriptor
957 RTUSBInitTxDesc(pAd, pMLMEContext, MGMTPIPEIDX, (usb_complete_t)RTUSBBulkOutMLMEPacketComplete); 947 RTUSBInitTxDesc(pAd, pMLMEContext, MGMTPIPEIDX, (usb_complete_t)RTUSBBulkOutMLMEPacketComplete);
958 948
959#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
960 //For mgmt urb buffer, because we use sk_buff, so we need to notify the USB controller do dma mapping. 949 //For mgmt urb buffer, because we use sk_buff, so we need to notify the USB controller do dma mapping.
961 pUrb->transfer_dma = 0; 950 pUrb->transfer_dma = 0;
962 pUrb->transfer_flags &= (~URB_NO_TRANSFER_DMA_MAP); 951 pUrb->transfer_flags &= (~URB_NO_TRANSFER_DMA_MAP);
963#endif
964 952
965 pUrb = pMLMEContext->pUrb; 953 pUrb = pMLMEContext->pUrb;
966 if((ret = RTUSB_SUBMIT_URB(pUrb))!=0) 954 if((ret = RTUSB_SUBMIT_URB(pUrb))!=0)
diff --git a/drivers/staging/rt2870/rt2870.h b/drivers/staging/rt2870/rt2870.h
index a69cf338e49..c05998b897c 100644
--- a/drivers/staging/rt2870/rt2870.h
+++ b/drivers/staging/rt2870/rt2870.h
@@ -33,7 +33,6 @@
33 33
34/* rtmp_def.h */ 34/* rtmp_def.h */
35// 35//
36#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
37#define BULKAGGRE_ZISE 100 36#define BULKAGGRE_ZISE 100
38#define RT28XX_DRVDATA_SET(_a) usb_set_intfdata(_a, pAd); 37#define RT28XX_DRVDATA_SET(_a) usb_set_intfdata(_a, pAd);
39#define RT28XX_PUT_DEVICE usb_put_dev 38#define RT28XX_PUT_DEVICE usb_put_dev
@@ -41,15 +40,6 @@
41#define RTUSB_SUBMIT_URB(pUrb) usb_submit_urb(pUrb, GFP_ATOMIC) 40#define RTUSB_SUBMIT_URB(pUrb) usb_submit_urb(pUrb, GFP_ATOMIC)
42#define RTUSB_URB_ALLOC_BUFFER(pUsb_Dev, BufSize, pDma_addr) usb_buffer_alloc(pUsb_Dev, BufSize, GFP_ATOMIC, pDma_addr) 41#define RTUSB_URB_ALLOC_BUFFER(pUsb_Dev, BufSize, pDma_addr) usb_buffer_alloc(pUsb_Dev, BufSize, GFP_ATOMIC, pDma_addr)
43#define RTUSB_URB_FREE_BUFFER(pUsb_Dev, BufSize, pTransferBuf, Dma_addr) usb_buffer_free(pUsb_Dev, BufSize, pTransferBuf, Dma_addr) 42#define RTUSB_URB_FREE_BUFFER(pUsb_Dev, BufSize, pTransferBuf, Dma_addr) usb_buffer_free(pUsb_Dev, BufSize, pTransferBuf, Dma_addr)
44#else
45#define BULKAGGRE_ZISE 60
46#define RT28XX_DRVDATA_SET(_a)
47#define RT28XX_PUT_DEVICE(dev_p)
48#define RTUSB_ALLOC_URB(iso) usb_alloc_urb(iso)
49#define RTUSB_SUBMIT_URB(pUrb) usb_submit_urb(pUrb)
50#define RTUSB_URB_ALLOC_BUFFER(pUsb_Dev, BufSize, pDma_addr) kmalloc(BufSize, GFP_ATOMIC)
51#define RTUSB_URB_FREE_BUFFER(pUsb_Dev, BufSize, pTransferBuf, Dma_addr) kfree(pTransferBuf)
52#endif
53 43
54#define RXBULKAGGRE_ZISE 12 44#define RXBULKAGGRE_ZISE 12
55#define MAX_TXBULK_LIMIT (LOCAL_TXBUF_SIZE*(BULKAGGRE_ZISE-1)) 45#define MAX_TXBULK_LIMIT (LOCAL_TXBUF_SIZE*(BULKAGGRE_ZISE-1))
@@ -551,23 +541,9 @@ typedef struct usb_ctrlrequest devctrlrequest;
551#define UNLINK_TIMEOUT_MS 3 541#define UNLINK_TIMEOUT_MS 3
552 542
553/* unlink urb */ 543/* unlink urb */
554#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,7)
555#define RTUSB_UNLINK_URB(pUrb) usb_kill_urb(pUrb) 544#define RTUSB_UNLINK_URB(pUrb) usb_kill_urb(pUrb)
556#else
557#define RTUSB_UNLINK_URB(pUrb) usb_unlink_urb(pUrb)
558#endif
559 545
560// Prototypes of completion funuc. 546// Prototypes of completion funuc.
561#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
562#define RTUSBBulkOutDataPacketComplete(purb, pt_regs) RTUSBBulkOutDataPacketComplete(purb)
563#define RTUSBBulkOutMLMEPacketComplete(pUrb, pt_regs) RTUSBBulkOutMLMEPacketComplete(pUrb)
564#define RTUSBBulkOutNullFrameComplete(pUrb, pt_regs) RTUSBBulkOutNullFrameComplete(pUrb)
565#define RTUSBBulkOutRTSFrameComplete(pUrb, pt_regs) RTUSBBulkOutRTSFrameComplete(pUrb)
566#define RTUSBBulkOutPsPollComplete(pUrb, pt_regs) RTUSBBulkOutPsPollComplete(pUrb)
567#define RTUSBBulkRxComplete(pUrb, pt_regs) RTUSBBulkRxComplete(pUrb)
568#endif
569
570
571VOID RTUSBBulkOutDataPacketComplete(purbb_t purb, struct pt_regs *pt_regs); 547VOID RTUSBBulkOutDataPacketComplete(purbb_t purb, struct pt_regs *pt_regs);
572VOID RTUSBBulkOutMLMEPacketComplete(purbb_t pUrb, struct pt_regs *pt_regs); 548VOID RTUSBBulkOutMLMEPacketComplete(purbb_t pUrb, struct pt_regs *pt_regs);
573VOID RTUSBBulkOutNullFrameComplete(purbb_t pUrb, struct pt_regs *pt_regs); 549VOID RTUSBBulkOutNullFrameComplete(purbb_t pUrb, struct pt_regs *pt_regs);
diff --git a/drivers/staging/rt2870/rt_ate.h b/drivers/staging/rt2870/rt_ate.h
index b618ce3599a..841d1518140 100644
--- a/drivers/staging/rt2870/rt_ate.h
+++ b/drivers/staging/rt2870/rt_ate.h
@@ -92,10 +92,6 @@ do{ int (*org_remote_display)(char *) = NULL; \
92 RTMP_IRQ_UNLOCK((pLock), IrqFlags); 92 RTMP_IRQ_UNLOCK((pLock), IrqFlags);
93 93
94// Prototypes of completion funuc. 94// Prototypes of completion funuc.
95#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
96#define ATE_RTUSBBulkOutDataPacketComplete(purb, pt_regs) ATE_RTUSBBulkOutDataPacketComplete(purb)
97#endif
98
99VOID ATE_RTUSBBulkOutDataPacketComplete( 95VOID ATE_RTUSBBulkOutDataPacketComplete(
100 IN purbb_t purb, 96 IN purbb_t purb,
101 OUT struct pt_regs *pt_regs); 97 OUT struct pt_regs *pt_regs);
diff --git a/drivers/staging/rt2870/rt_linux.c b/drivers/staging/rt2870/rt_linux.c
index e38552c5ccb..a9c8d69e7f2 100644
--- a/drivers/staging/rt2870/rt_linux.c
+++ b/drivers/staging/rt2870/rt_linux.c
@@ -1046,35 +1046,14 @@ err_free_sk_buff:
1046 1046
1047void rtmp_os_thread_init(PUCHAR pThreadName, PVOID pNotify) 1047void rtmp_os_thread_init(PUCHAR pThreadName, PVOID pNotify)
1048{ 1048{
1049
1050#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
1051 daemonize(pThreadName /*"%s",pAd->net_dev->name*/); 1049 daemonize(pThreadName /*"%s",pAd->net_dev->name*/);
1052 1050
1053 allow_signal(SIGTERM); 1051 allow_signal(SIGTERM);
1054 allow_signal(SIGKILL); 1052 allow_signal(SIGKILL);
1055 current->flags |= PF_NOFREEZE; 1053 current->flags |= PF_NOFREEZE;
1056#else
1057 unsigned long flags;
1058
1059 daemonize();
1060 reparent_to_init();
1061 strcpy(current->comm, pThreadName);
1062
1063 siginitsetinv(&current->blocked, sigmask(SIGTERM) | sigmask(SIGKILL));
1064 1054
1065 /* Allow interception of SIGKILL only 1055 /* signal that we've started the thread */
1066 * Don't allow other signals to interrupt the transmission */
1067#if LINUX_VERSION_CODE > KERNEL_VERSION(2,4,22)
1068 spin_lock_irqsave(&current->sigmask_lock, flags);
1069 flush_signals(current);
1070 recalc_sigpending(current);
1071 spin_unlock_irqrestore(&current->sigmask_lock, flags);
1072#endif
1073#endif
1074
1075 /* signal that we've started the thread */
1076 complete(pNotify); 1056 complete(pNotify);
1077
1078} 1057}
1079 1058
1080void RTMP_IndicateMediaState( 1059void RTMP_IndicateMediaState(
diff --git a/drivers/staging/rt2870/rt_linux.h b/drivers/staging/rt2870/rt_linux.h
index 5a6ee6ad0e5..8870e4e8f2e 100644
--- a/drivers/staging/rt2870/rt_linux.h
+++ b/drivers/staging/rt2870/rt_linux.h
@@ -104,8 +104,6 @@ typedef int (*HARD_START_XMIT_FUNC)(struct sk_buff *skb, struct net_device *net_
104#endif // CONFIG_STA_SUPPORT // 104#endif // CONFIG_STA_SUPPORT //
105 105
106 106
107#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
108
109#define RTMP_TIME_AFTER(a,b) \ 107#define RTMP_TIME_AFTER(a,b) \
110 (typecheck(unsigned long, (unsigned long)a) && \ 108 (typecheck(unsigned long, (unsigned long)a) && \
111 typecheck(unsigned long, (unsigned long)b) && \ 109 typecheck(unsigned long, (unsigned long)b) && \
@@ -116,11 +114,7 @@ typedef int (*HARD_START_XMIT_FUNC)(struct sk_buff *skb, struct net_device *net_
116 typecheck(unsigned long, (unsigned long)b) && \ 114 typecheck(unsigned long, (unsigned long)b) && \
117 ((long)(a) - (long)(b) >= 0)) 115 ((long)(a) - (long)(b) >= 0))
118#define RTMP_TIME_BEFORE(a,b) RTMP_TIME_AFTER_EQ(b,a) 116#define RTMP_TIME_BEFORE(a,b) RTMP_TIME_AFTER_EQ(b,a)
119#else
120#define RTMP_TIME_AFTER(a,b) time_after(a, b)
121#endif
122 117
123#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
124#define RT_MOD_INC_USE_COUNT() \ 118#define RT_MOD_INC_USE_COUNT() \
125 if (!try_module_get(THIS_MODULE)) \ 119 if (!try_module_get(THIS_MODULE)) \
126 { \ 120 { \
@@ -129,10 +123,6 @@ typedef int (*HARD_START_XMIT_FUNC)(struct sk_buff *skb, struct net_device *net_
129 } 123 }
130 124
131#define RT_MOD_DEC_USE_COUNT() module_put(THIS_MODULE); 125#define RT_MOD_DEC_USE_COUNT() module_put(THIS_MODULE);
132#else
133#define RT_MOD_INC_USE_COUNT() MOD_INC_USE_COUNT;
134#define RT_MOD_DEC_USE_COUNT() MOD_DEC_USE_COUNT;
135#endif
136 126
137#define OS_HZ HZ 127#define OS_HZ HZ
138 128
@@ -164,19 +154,11 @@ typedef int (*HARD_START_XMIT_FUNC)(struct sk_buff *skb, struct net_device *net_
164#define NDIS_PACKET_TYPE_ALL_MULTICAST 3 154#define NDIS_PACKET_TYPE_ALL_MULTICAST 3
165#endif // CONFIG_STA_SUPPORT // 155#endif // CONFIG_STA_SUPPORT //
166 156
167#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
168typedef struct pid * THREAD_PID; 157typedef struct pid * THREAD_PID;
169#define GET_PID(_v) find_get_pid(_v) 158#define GET_PID(_v) find_get_pid(_v)
170#define GET_PID_NUMBER(_v) pid_nr(_v) 159#define GET_PID_NUMBER(_v) pid_nr(_v)
171#define CHECK_PID_LEGALITY(_pid) if (pid_nr(_pid) >= 0) 160#define CHECK_PID_LEGALITY(_pid) if (pid_nr(_pid) >= 0)
172#define KILL_THREAD_PID(_A, _B, _C) kill_pid(_A, _B, _C) 161#define KILL_THREAD_PID(_A, _B, _C) kill_pid(_A, _B, _C)
173#else
174typedef pid_t THREAD_PID;
175#define GET_PID(_v) _v
176#define GET_PID_NUMBER(_v) _v
177#define CHECK_PID_LEGALITY(_pid) if (_pid >= 0)
178#define KILL_THREAD_PID(_A, _B, _C) kill_proc(_A, _B, _C)
179#endif
180 162
181struct os_lock { 163struct os_lock {
182 spinlock_t lock; 164 spinlock_t lock;
diff --git a/drivers/staging/rt2870/rt_main_dev.c b/drivers/staging/rt2870/rt_main_dev.c
index 48ad41136d0..1abd46d53df 100644
--- a/drivers/staging/rt2870/rt_main_dev.c
+++ b/drivers/staging/rt2870/rt_main_dev.c
@@ -54,11 +54,7 @@ static UINT8 MC_CardMac[MAX_NUM_OF_MULTIPLE_CARD][6];
54 54
55char *mac = ""; // default 00:00:00:00:00:00 55char *mac = ""; // default 00:00:00:00:00:00
56char *hostname = ""; 56char *hostname = "";
57#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,12)
58MODULE_PARM (mac, "s");
59#else
60module_param (mac, charp, 0); 57module_param (mac, charp, 0);
61#endif
62MODULE_PARM_DESC (mac, "rt28xx: wireless mac addr"); 58MODULE_PARM_DESC (mac, "rt28xx: wireless mac addr");
63 59
64 60
@@ -80,13 +76,6 @@ INT __devinit rt28xx_probe(IN void *_dev_p, IN void *_dev_id_p,
80static int rt28xx_init(IN struct net_device *net_dev); 76static int rt28xx_init(IN struct net_device *net_dev);
81INT rt28xx_send_packets(IN struct sk_buff *skb_p, IN struct net_device *net_dev); 77INT rt28xx_send_packets(IN struct sk_buff *skb_p, IN struct net_device *net_dev);
82 78
83#if LINUX_VERSION_CODE <= 0x20402 // Red Hat 7.1
84struct net_device *alloc_netdev(
85 int sizeof_priv,
86 const char *mask,
87 void (*setup)(struct net_device *));
88#endif // LINUX_VERSION_CODE //
89
90static void CfgInitHook(PRTMP_ADAPTER pAd); 79static void CfgInitHook(PRTMP_ADAPTER pAd);
91//static BOOLEAN RT28XXAvailRANameAssign(IN CHAR *name_p); 80//static BOOLEAN RT28XXAvailRANameAssign(IN CHAR *name_p);
92 81
@@ -350,11 +339,7 @@ int rt28xx_close(IN PNET_DEV dev)
350 } 339 }
351 RTMP_IRQ_UNLOCK(&pAd->BulkInLock, IrqFlags); 340 RTMP_IRQ_UNLOCK(&pAd->BulkInLock, IrqFlags);
352 341
353#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,9)
354 msleep(UNLINK_TIMEOUT_MS); //Time in millisecond 342 msleep(UNLINK_TIMEOUT_MS); //Time in millisecond
355#else
356 RTMPusecDelay(UNLINK_TIMEOUT_MS*1000); //Time in microsecond
357#endif
358 i++; 343 i++;
359 } 344 }
360 pAd->wait = NULL; 345 pAd->wait = NULL;
@@ -917,25 +902,11 @@ static NDIS_STATUS rt_ieee80211_if_setup(struct net_device *dev, PRTMP_ADAPTER p
917#endif // MULTIPLE_CARD_SUPPORT // 902#endif // MULTIPLE_CARD_SUPPORT //
918 sprintf(slot_name, "ra%d", i); 903 sprintf(slot_name, "ra%d", i);
919 904
920#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) 905 device = dev_get_by_name(dev_net(dev), slot_name);
921#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24) 906 if (device != NULL)
922#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26) 907 dev_put(device);
923 device = dev_get_by_name(dev_net(dev), slot_name); 908
924#else 909 if (device == NULL)
925 device = dev_get_by_name(dev->nd_net, slot_name);
926#endif
927#else
928 device = dev_get_by_name(slot_name);
929#endif
930 if (device != NULL) dev_put(device);
931#else
932 for (device = dev_base; device != NULL; device = device->next)
933 {
934 if (strncmp(device->name, slot_name, 4) == 0)
935 break;
936 }
937#endif
938 if(device == NULL)
939 break; 910 break;
940 } 911 }
941 912
@@ -1353,14 +1324,10 @@ INT __devinit rt28xx_probe(
1353 INT status; 1324 INT status;
1354 PVOID handle; 1325 PVOID handle;
1355#ifdef RT2870 1326#ifdef RT2870
1356#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) /* kernel 2.4 series */
1357 struct usb_device *dev_p = (struct usb_device *)_dev_p;
1358#else
1359 struct usb_interface *intf = (struct usb_interface *)_dev_p; 1327 struct usb_interface *intf = (struct usb_interface *)_dev_p;
1360 struct usb_device *dev_p = interface_to_usbdev(intf); 1328 struct usb_device *dev_p = interface_to_usbdev(intf);
1361 1329
1362 dev_p = usb_get_dev(dev_p); 1330 dev_p = usb_get_dev(dev_p);
1363#endif // LINUX_VERSION_CODE //
1364#endif // RT2870 // 1331#endif // RT2870 //
1365 1332
1366 1333
@@ -1372,22 +1339,11 @@ INT __devinit rt28xx_probe(
1372// if (RT28XXChipsetCheck(_dev_p) == FALSE) 1339// if (RT28XXChipsetCheck(_dev_p) == FALSE)
1373// goto err_out; 1340// goto err_out;
1374 1341
1375#if LINUX_VERSION_CODE <= 0x20402 // Red Hat 7.1
1376 net_dev = alloc_netdev(sizeof(PRTMP_ADAPTER), "eth%d", ether_setup);
1377#else
1378 net_dev = alloc_etherdev(sizeof(PRTMP_ADAPTER)); 1342 net_dev = alloc_etherdev(sizeof(PRTMP_ADAPTER));
1379#endif
1380 if (net_dev == NULL) 1343 if (net_dev == NULL)
1381 { 1344 {
1382 printk("alloc_netdev failed\n"); 1345 printk("alloc_netdev failed\n");
1383 1346
1384#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
1385#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15)
1386 module_put(THIS_MODULE);
1387#endif //LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15)
1388#else
1389 MOD_DEC_USE_COUNT;
1390#endif
1391 goto err_out; 1347 goto err_out;
1392 } 1348 }
1393 1349
@@ -1395,19 +1351,13 @@ INT __devinit rt28xx_probe(
1395// if (rt_ieee80211_if_setup(net_dev) != NDIS_STATUS_SUCCESS) 1351// if (rt_ieee80211_if_setup(net_dev) != NDIS_STATUS_SUCCESS)
1396// goto err_out; 1352// goto err_out;
1397 1353
1398#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,24)
1399 SET_MODULE_OWNER(net_dev);
1400#endif
1401
1402 netif_stop_queue(net_dev); 1354 netif_stop_queue(net_dev);
1403#ifdef NATIVE_WPA_SUPPLICANT_SUPPORT 1355#ifdef NATIVE_WPA_SUPPLICANT_SUPPORT
1404/* for supporting Network Manager */ 1356/* for supporting Network Manager */
1405/* Set the sysfs physical device reference for the network logical device 1357/* Set the sysfs physical device reference for the network logical device
1406 * if set prior to registration will cause a symlink during initialization. 1358 * if set prior to registration will cause a symlink during initialization.
1407 */ 1359 */
1408#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0))
1409 SET_NETDEV_DEV(net_dev, &(dev_p->dev)); 1360 SET_NETDEV_DEV(net_dev, &(dev_p->dev));
1410#endif
1411#endif // NATIVE_WPA_SUPPLICANT_SUPPORT // 1361#endif // NATIVE_WPA_SUPPLICANT_SUPPORT //
1412 1362
1413 // Allocate RTMP_ADAPTER miniport adapter structure 1363 // Allocate RTMP_ADAPTER miniport adapter structure
@@ -1431,13 +1381,8 @@ INT __devinit rt28xx_probe(
1431// RT28XXAvailRANameAssign(net_dev->name); 1381// RT28XXAvailRANameAssign(net_dev->name);
1432 1382
1433 // Post config 1383 // Post config
1434#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
1435 if (RT28XXProbePostConfig(_dev_p, pAd, argc) == FALSE)
1436 goto err_out_unmap;
1437#else
1438 if (RT28XXProbePostConfig(_dev_p, pAd, 0) == FALSE) 1384 if (RT28XXProbePostConfig(_dev_p, pAd, 0) == FALSE)
1439 goto err_out_unmap; 1385 goto err_out_unmap;
1440#endif // LINUX_VERSION_CODE //
1441 1386
1442#ifdef CONFIG_STA_SUPPORT 1387#ifdef CONFIG_STA_SUPPORT
1443 pAd->OpMode = OPMODE_STA; 1388 pAd->OpMode = OPMODE_STA;
@@ -1482,20 +1427,12 @@ err_out_unmap:
1482 RT28XX_UNMAP(); 1427 RT28XX_UNMAP();
1483 1428
1484err_out_free_netdev: 1429err_out_free_netdev:
1485#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) 1430 free_netdev(net_dev);
1486 free_netdev(net_dev);
1487#else
1488 kfree(net_dev);
1489#endif
1490 1431
1491err_out: 1432err_out:
1492 RT28XX_PUT_DEVICE(dev_p); 1433 RT28XX_PUT_DEVICE(dev_p);
1493 1434
1494#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0) 1435 return -ENODEV; /* probe fail */
1495 return (LONG)NULL;
1496#else
1497 return -ENODEV; /* probe fail */
1498#endif // LINUX_VERSION_CODE //
1499} /* End of rt28xx_probe */ 1436} /* End of rt28xx_probe */
1500 1437
1501 1438
@@ -1624,41 +1561,6 @@ INT rt28xx_send_packets(
1624 1561
1625 1562
1626 1563
1627#if LINUX_VERSION_CODE <= 0x20402 // Red Hat 7.1
1628//static struct net_device *alloc_netdev(int sizeof_priv, const char *mask, void (*setup)(struct net_device *)) //sample
1629struct net_device *alloc_netdev(
1630 int sizeof_priv,
1631 const char *mask,
1632 void (*setup)(struct net_device *))
1633{
1634 struct net_device *dev;
1635 INT alloc_size;
1636
1637
1638 /* ensure 32-byte alignment of the private area */
1639 alloc_size = sizeof (*dev) + sizeof_priv + 31;
1640
1641 dev = (struct net_device *) kmalloc(alloc_size, GFP_KERNEL);
1642 if (dev == NULL)
1643 {
1644 DBGPRINT(RT_DEBUG_ERROR,
1645 ("alloc_netdev: Unable to allocate device memory.\n"));
1646 return NULL;
1647 }
1648
1649 memset(dev, 0, alloc_size);
1650
1651 if (sizeof_priv)
1652 dev->priv = (void *) (((long)(dev + 1) + 31) & ~31);
1653
1654 setup(dev);
1655 strcpy(dev->name, mask);
1656
1657 return dev;
1658}
1659#endif // LINUX_VERSION_CODE //
1660
1661
1662void CfgInitHook(PRTMP_ADAPTER pAd) 1564void CfgInitHook(PRTMP_ADAPTER pAd)
1663{ 1565{
1664 pAd->bBroadComHT = TRUE; 1566 pAd->bBroadComHT = TRUE;
diff --git a/drivers/staging/rt2870/sta_ioctl.c b/drivers/staging/rt2870/sta_ioctl.c
index 04cf5e5732c..be63e9b48cf 100644
--- a/drivers/staging/rt2870/sta_ioctl.c
+++ b/drivers/staging/rt2870/sta_ioctl.c
@@ -49,15 +49,9 @@ extern ULONG RTDebugLevel;
49 49
50#define GROUP_KEY_NO 4 50#define GROUP_KEY_NO 4
51 51
52#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,27)
53#define IWE_STREAM_ADD_EVENT(_A, _B, _C, _D, _E) iwe_stream_add_event(_A, _B, _C, _D, _E) 52#define IWE_STREAM_ADD_EVENT(_A, _B, _C, _D, _E) iwe_stream_add_event(_A, _B, _C, _D, _E)
54#define IWE_STREAM_ADD_POINT(_A, _B, _C, _D, _E) iwe_stream_add_point(_A, _B, _C, _D, _E) 53#define IWE_STREAM_ADD_POINT(_A, _B, _C, _D, _E) iwe_stream_add_point(_A, _B, _C, _D, _E)
55#define IWE_STREAM_ADD_VALUE(_A, _B, _C, _D, _E, _F) iwe_stream_add_value(_A, _B, _C, _D, _E, _F) 54#define IWE_STREAM_ADD_VALUE(_A, _B, _C, _D, _E, _F) iwe_stream_add_value(_A, _B, _C, _D, _E, _F)
56#else
57#define IWE_STREAM_ADD_EVENT(_A, _B, _C, _D, _E) iwe_stream_add_event(_B, _C, _D, _E)
58#define IWE_STREAM_ADD_POINT(_A, _B, _C, _D, _E) iwe_stream_add_point(_B, _C, _D, _E)
59#define IWE_STREAM_ADD_VALUE(_A, _B, _C, _D, _E, _F) iwe_stream_add_value(_B, _C, _D, _E, _F)
60#endif
61 55
62extern UCHAR CipherWpa2Template[]; 56extern UCHAR CipherWpa2Template[];
63extern UCHAR CipherWpaPskTkip[]; 57extern UCHAR CipherWpaPskTkip[];
@@ -679,11 +673,9 @@ int rt_ioctl_siwmode(struct net_device *dev,
679 case IW_MODE_INFRA: 673 case IW_MODE_INFRA:
680 Set_NetworkType_Proc(pAdapter, "Infra"); 674 Set_NetworkType_Proc(pAdapter, "Infra");
681 break; 675 break;
682#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
683 case IW_MODE_MONITOR: 676 case IW_MODE_MONITOR:
684 Set_NetworkType_Proc(pAdapter, "Monitor"); 677 Set_NetworkType_Proc(pAdapter, "Monitor");
685 break; 678 break;
686#endif
687 default: 679 default:
688 DBGPRINT(RT_DEBUG_TRACE, ("===>rt_ioctl_siwmode::SIOCSIWMODE (unknown %d)\n", *mode)); 680 DBGPRINT(RT_DEBUG_TRACE, ("===>rt_ioctl_siwmode::SIOCSIWMODE (unknown %d)\n", *mode));
689 return -EINVAL; 681 return -EINVAL;
@@ -724,12 +716,10 @@ int rt_ioctl_giwmode(struct net_device *dev,
724 *mode = IW_MODE_ADHOC; 716 *mode = IW_MODE_ADHOC;
725 else if (INFRA_ON(pAdapter)) 717 else if (INFRA_ON(pAdapter))
726 *mode = IW_MODE_INFRA; 718 *mode = IW_MODE_INFRA;
727#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,20))
728 else if (MONITOR_ON(pAdapter)) 719 else if (MONITOR_ON(pAdapter))
729 { 720 {
730 *mode = IW_MODE_MONITOR; 721 *mode = IW_MODE_MONITOR;
731 } 722 }
732#endif
733 else 723 else
734 *mode = IW_MODE_AUTO; 724 *mode = IW_MODE_AUTO;
735 725