| Gertjan van Wingerde | 4c99f3e | 2008-09-28 15:11:38 +0200 | [diff] [blame] | 1 | menuconfig RT2X00 | 
| Ivo van Doorn | 5dc5340 | 2008-10-29 17:19:08 +0100 | [diff] [blame] | 2 | 	tristate "Ralink driver support" | 
| John W. Linville | 133d7c6 | 2009-10-28 16:29:30 -0400 | [diff] [blame] | 3 | 	depends on MAC80211 | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 4 | 	---help--- | 
| Luis R. Rodriguez | 3317289 | 2009-07-28 08:03:42 -0700 | [diff] [blame] | 5 | 	  This will enable the support for the Ralink drivers, | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 6 | 	  developed in the rt2x00 project <http://rt2x00.serialmonkey.com>. | 
 | 7 |  | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 8 | 	  These drivers make use of the mac80211 stack. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 9 |  | 
 | 10 | 	  When building one of the individual drivers, the rt2x00 library | 
 | 11 | 	  will also be created. That library (when the driver is built as | 
| Pavel Machek | 4737f09 | 2009-06-05 00:44:53 +0200 | [diff] [blame] | 12 | 	  a module) will be called rt2x00lib. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 13 |  | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 14 | 	  Additionally PCI and USB libraries will also be build depending | 
 | 15 | 	  on the types of drivers being selected, these libraries will be | 
| Pavel Machek | 4737f09 | 2009-06-05 00:44:53 +0200 | [diff] [blame] | 16 | 	  called rt2x00pci and rt2x00usb. | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 17 |  | 
| Randy Dunlap | 0d84d78 | 2008-02-10 10:52:52 -0800 | [diff] [blame] | 18 | if RT2X00 | 
 | 19 |  | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 20 | config RT2400PCI | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 21 | 	tristate "Ralink rt2400 (PCI/PCMCIA) support" | 
| Randy Dunlap | 0d84d78 | 2008-02-10 10:52:52 -0800 | [diff] [blame] | 22 | 	depends on PCI | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 23 | 	select RT2X00_LIB_PCI | 
 | 24 | 	select EEPROM_93CX6 | 
 | 25 | 	---help--- | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 26 | 	  This adds support for rt2400 wireless chipset family. | 
 | 27 | 	  Supported chips: RT2460. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 28 |  | 
| Pavel Machek | 4737f09 | 2009-06-05 00:44:53 +0200 | [diff] [blame] | 29 | 	  When compiled as a module, this driver will be called rt2400pci. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 30 |  | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 31 | config RT2500PCI | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 32 | 	tristate "Ralink rt2500 (PCI/PCMCIA) support" | 
| Randy Dunlap | 0d84d78 | 2008-02-10 10:52:52 -0800 | [diff] [blame] | 33 | 	depends on PCI | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 34 | 	select RT2X00_LIB_PCI | 
 | 35 | 	select EEPROM_93CX6 | 
 | 36 | 	---help--- | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 37 | 	  This adds support for rt2500 wireless chipset family. | 
 | 38 | 	  Supported chips: RT2560. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 39 |  | 
| Pavel Machek | 4737f09 | 2009-06-05 00:44:53 +0200 | [diff] [blame] | 40 | 	  When compiled as a module, this driver will be called rt2500pci. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 41 |  | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 42 | config RT61PCI | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 43 | 	tristate "Ralink rt2501/rt61 (PCI/PCMCIA) support" | 
| Randy Dunlap | 0d84d78 | 2008-02-10 10:52:52 -0800 | [diff] [blame] | 44 | 	depends on PCI | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 45 | 	select RT2X00_LIB_PCI | 
 | 46 | 	select RT2X00_LIB_FIRMWARE | 
| Ivo van Doorn | 61e754f | 2008-08-04 16:38:02 +0200 | [diff] [blame] | 47 | 	select RT2X00_LIB_CRYPTO | 
| Ivo van Doorn | a7f3a06 | 2008-03-09 22:44:54 +0100 | [diff] [blame] | 48 | 	select CRC_ITU_T | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 49 | 	select EEPROM_93CX6 | 
 | 50 | 	---help--- | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 51 | 	  This adds support for rt2501 wireless chipset family. | 
 | 52 | 	  Supported chips: RT2561, RT2561S & RT2661. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 53 |  | 
| Pavel Machek | 4737f09 | 2009-06-05 00:44:53 +0200 | [diff] [blame] | 54 | 	  When compiled as a module, this driver will be called rt61pci. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 55 |  | 
| Ivo van Doorn | a9b3a9f | 2009-10-15 22:04:14 +0200 | [diff] [blame] | 56 | config RT2800PCI | 
| Gertjan van Wingerde | a6a8d66e | 2010-11-13 19:10:31 +0100 | [diff] [blame] | 57 | 	tristate "Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support" | 
| Gertjan van Wingerde | 72c7296 | 2010-11-13 19:10:54 +0100 | [diff] [blame] | 58 | 	depends on PCI || RALINK_RT288X || RALINK_RT305X | 
| Bartlomiej Zolnierkiewicz | 8929742 | 2009-11-04 18:36:24 +0100 | [diff] [blame] | 59 | 	select RT2800_LIB | 
| Gertjan van Wingerde | 72c7296 | 2010-11-13 19:10:54 +0100 | [diff] [blame] | 60 | 	select RT2X00_LIB_PCI if PCI | 
 | 61 | 	select RT2X00_LIB_SOC if RALINK_RT288X || RALINK_RT305X | 
| Ivo van Doorn | a9b3a9f | 2009-10-15 22:04:14 +0200 | [diff] [blame] | 62 | 	select RT2X00_LIB_HT | 
 | 63 | 	select RT2X00_LIB_FIRMWARE | 
 | 64 | 	select RT2X00_LIB_CRYPTO | 
 | 65 | 	select CRC_CCITT | 
 | 66 | 	select EEPROM_93CX6 | 
 | 67 | 	---help--- | 
| Gertjan van Wingerde | a6a8d66e | 2010-11-13 19:10:31 +0100 | [diff] [blame] | 68 | 	  This adds support for rt27xx/rt28xx/rt30xx wireless chipset family. | 
 | 69 | 	  Supported chips: RT2760, RT2790, RT2860, RT2880, RT2890, RT3052, | 
 | 70 | 			   RT3090, RT3091 & RT3092 | 
| Bartlomiej Zolnierkiewicz | f44eafa | 2009-11-04 18:32:10 +0100 | [diff] [blame] | 71 |  | 
| Ivo van Doorn | a9b3a9f | 2009-10-15 22:04:14 +0200 | [diff] [blame] | 72 | 	  When compiled as a module, this driver will be called "rt2800pci.ko". | 
 | 73 |  | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 74 | if RT2800PCI | 
 | 75 |  | 
| Gertjan van Wingerde | f93bc9b | 2010-11-13 19:09:50 +0100 | [diff] [blame] | 76 | config RT2800PCI_RT33XX | 
| Gertjan van Wingerde | ccd3caa | 2011-04-18 15:33:00 +0200 | [diff] [blame] | 77 | 	bool "rt2800pci - Include support for rt33xx devices" | 
 | 78 | 	default y | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 79 | 	---help--- | 
| Gertjan van Wingerde | f93bc9b | 2010-11-13 19:09:50 +0100 | [diff] [blame] | 80 | 	  This adds support for rt33xx wireless chipset family to the | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 81 | 	  rt2800pci driver. | 
| Gertjan van Wingerde | f93bc9b | 2010-11-13 19:09:50 +0100 | [diff] [blame] | 82 | 	  Supported chips: RT3390 | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 83 |  | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 84 | config RT2800PCI_RT35XX | 
| Gertjan van Wingerde | 46af584 | 2010-11-13 19:10:10 +0100 | [diff] [blame] | 85 | 	bool "rt2800pci - Include support for rt35xx devices (EXPERIMENTAL)" | 
 | 86 | 	depends on EXPERIMENTAL | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 87 | 	default n | 
 | 88 | 	---help--- | 
 | 89 | 	  This adds support for rt35xx wireless chipset family to the | 
 | 90 | 	  rt2800pci driver. | 
 | 91 | 	  Supported chips: RT3060, RT3062, RT3562, RT3592 | 
 | 92 |  | 
 | 93 | 	  Support for these devices is non-functional at the moment and is | 
 | 94 | 	  intended for testers and developers. | 
 | 95 |  | 
| RA-Shiang Tu | 60687ba | 2011-02-20 13:57:46 +0100 | [diff] [blame] | 96 | config RT2800PCI_RT53XX | 
 | 97 |        bool "rt2800-pci - Include support for rt53xx devices (EXPERIMENTAL)" | 
 | 98 |        depends on EXPERIMENTAL | 
| Gertjan van Wingerde | ea81966 | 2011-04-18 15:33:20 +0200 | [diff] [blame^] | 99 |        default y | 
| RA-Shiang Tu | 60687ba | 2011-02-20 13:57:46 +0100 | [diff] [blame] | 100 |        ---help--- | 
 | 101 |          This adds support for rt53xx wireless chipset family to the | 
 | 102 |          rt2800pci driver. | 
 | 103 |          Supported chips: RT5390 | 
 | 104 |  | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 105 | endif | 
 | 106 |  | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 107 | config RT2500USB | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 108 | 	tristate "Ralink rt2500 (USB) support" | 
| Randy Dunlap | 0d84d78 | 2008-02-10 10:52:52 -0800 | [diff] [blame] | 109 | 	depends on USB | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 110 | 	select RT2X00_LIB_USB | 
| Ivo van Doorn | dddfb47 | 2008-12-02 18:20:42 +0100 | [diff] [blame] | 111 | 	select RT2X00_LIB_CRYPTO | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 112 | 	---help--- | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 113 | 	  This adds support for rt2500 wireless chipset family. | 
 | 114 | 	  Supported chips: RT2571 & RT2572. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 115 |  | 
| Pavel Machek | 4737f09 | 2009-06-05 00:44:53 +0200 | [diff] [blame] | 116 | 	  When compiled as a module, this driver will be called rt2500usb. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 117 |  | 
 | 118 | config RT73USB | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 119 | 	tristate "Ralink rt2501/rt73 (USB) support" | 
| Randy Dunlap | 0d84d78 | 2008-02-10 10:52:52 -0800 | [diff] [blame] | 120 | 	depends on USB | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 121 | 	select RT2X00_LIB_USB | 
 | 122 | 	select RT2X00_LIB_FIRMWARE | 
| Ivo van Doorn | 906c110 | 2008-08-04 16:38:24 +0200 | [diff] [blame] | 123 | 	select RT2X00_LIB_CRYPTO | 
| Ivo van Doorn | a7f3a06 | 2008-03-09 22:44:54 +0100 | [diff] [blame] | 124 | 	select CRC_ITU_T | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 125 | 	---help--- | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 126 | 	  This adds support for rt2501 wireless chipset family. | 
 | 127 | 	  Supported chips: RT2571W, RT2573 & RT2671. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 128 |  | 
| Pavel Machek | 4737f09 | 2009-06-05 00:44:53 +0200 | [diff] [blame] | 129 | 	  When compiled as a module, this driver will be called rt73usb. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 130 |  | 
| Ivo van Doorn | d53d9e6 | 2009-04-26 15:47:48 +0200 | [diff] [blame] | 131 | config RT2800USB | 
| Gertjan van Wingerde | a6a8d66e | 2010-11-13 19:10:31 +0100 | [diff] [blame] | 132 | 	tristate "Ralink rt27xx/rt28xx/rt30xx (USB) support" | 
| Gertjan van Wingerde | 46af584 | 2010-11-13 19:10:10 +0100 | [diff] [blame] | 133 | 	depends on USB | 
| Bartlomiej Zolnierkiewicz | 8929742 | 2009-11-04 18:36:24 +0100 | [diff] [blame] | 134 | 	select RT2800_LIB | 
| Ivo van Doorn | d53d9e6 | 2009-04-26 15:47:48 +0200 | [diff] [blame] | 135 | 	select RT2X00_LIB_USB | 
 | 136 | 	select RT2X00_LIB_HT | 
 | 137 | 	select RT2X00_LIB_FIRMWARE | 
 | 138 | 	select RT2X00_LIB_CRYPTO | 
 | 139 | 	select CRC_CCITT | 
 | 140 | 	---help--- | 
| Gertjan van Wingerde | a6a8d66e | 2010-11-13 19:10:31 +0100 | [diff] [blame] | 141 | 	  This adds support for rt27xx/rt28xx/rt30xx wireless chipset family. | 
 | 142 | 	  Supported chips: RT2770, RT2870 & RT3070, RT3071 & RT3072 | 
| Bartlomiej Zolnierkiewicz | 71eafe3 | 2009-11-04 18:31:58 +0100 | [diff] [blame] | 143 |  | 
| Ivo van Doorn | d53d9e6 | 2009-04-26 15:47:48 +0200 | [diff] [blame] | 144 | 	  When compiled as a module, this driver will be called "rt2800usb.ko". | 
 | 145 |  | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 146 | if RT2800USB | 
 | 147 |  | 
| Gertjan van Wingerde | f93bc9b | 2010-11-13 19:09:50 +0100 | [diff] [blame] | 148 | config RT2800USB_RT33XX | 
| Gertjan van Wingerde | ccd3caa | 2011-04-18 15:33:00 +0200 | [diff] [blame] | 149 | 	bool "rt2800usb - Include support for rt33xx devices" | 
 | 150 | 	default y | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 151 | 	---help--- | 
| Gertjan van Wingerde | f93bc9b | 2010-11-13 19:09:50 +0100 | [diff] [blame] | 152 | 	  This adds support for rt33xx wireless chipset family to the | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 153 | 	  rt2800usb driver. | 
| Gertjan van Wingerde | f93bc9b | 2010-11-13 19:09:50 +0100 | [diff] [blame] | 154 | 	  Supported chips: RT3370 | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 155 |  | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 156 | config RT2800USB_RT35XX | 
| Gertjan van Wingerde | 46af584 | 2010-11-13 19:10:10 +0100 | [diff] [blame] | 157 | 	bool "rt2800usb - Include support for rt35xx devices (EXPERIMENTAL)" | 
 | 158 | 	depends on EXPERIMENTAL | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 159 | 	default n | 
 | 160 | 	---help--- | 
 | 161 | 	  This adds support for rt35xx wireless chipset family to the | 
 | 162 | 	  rt2800usb driver. | 
 | 163 | 	  Supported chips: RT3572 | 
 | 164 |  | 
 | 165 | 	  Support for these devices is non-functional at the moment and is | 
 | 166 | 	  intended for testers and developers. | 
 | 167 |  | 
 | 168 | config RT2800USB_UNKNOWN | 
 | 169 | 	bool "rt2800usb - Include support for unknown (USB) devices" | 
 | 170 | 	default n | 
 | 171 | 	---help--- | 
| Gertjan van Wingerde | 46af584 | 2010-11-13 19:10:10 +0100 | [diff] [blame] | 172 | 	  This adds support for rt2800usb devices that are known to | 
 | 173 | 	  have a rt28xx family compatible chipset, but for which the exact | 
 | 174 | 	  chipset is unknown. | 
| Gertjan van Wingerde | de1ebdc | 2010-02-14 12:52:05 +0100 | [diff] [blame] | 175 |  | 
 | 176 | 	  Support status for these devices is unknown, and enabling these | 
 | 177 | 	  devices may or may not work. | 
 | 178 |  | 
 | 179 | endif | 
 | 180 |  | 
| Bartlomiej Zolnierkiewicz | 8929742 | 2009-11-04 18:36:24 +0100 | [diff] [blame] | 181 | config RT2800_LIB | 
 | 182 | 	tristate | 
 | 183 |  | 
| Gertjan van Wingerde | 4c99f3e | 2008-09-28 15:11:38 +0200 | [diff] [blame] | 184 | config RT2X00_LIB_PCI | 
 | 185 | 	tristate | 
 | 186 | 	select RT2X00_LIB | 
 | 187 |  | 
| Ivo van Doorn | 5d78d34 | 2009-10-15 21:38:19 +0200 | [diff] [blame] | 188 | config RT2X00_LIB_SOC | 
 | 189 | 	tristate | 
 | 190 | 	select RT2X00_LIB | 
 | 191 |  | 
| Gertjan van Wingerde | 4c99f3e | 2008-09-28 15:11:38 +0200 | [diff] [blame] | 192 | config RT2X00_LIB_USB | 
 | 193 | 	tristate | 
 | 194 | 	select RT2X00_LIB | 
 | 195 |  | 
 | 196 | config RT2X00_LIB | 
 | 197 | 	tristate | 
 | 198 |  | 
| Ivo van Doorn | 35f00cf | 2009-04-26 16:09:32 +0200 | [diff] [blame] | 199 | config RT2X00_LIB_HT | 
 | 200 | 	boolean | 
 | 201 |  | 
| Gertjan van Wingerde | 4c99f3e | 2008-09-28 15:11:38 +0200 | [diff] [blame] | 202 | config RT2X00_LIB_FIRMWARE | 
 | 203 | 	boolean | 
 | 204 | 	select FW_LOADER | 
 | 205 |  | 
 | 206 | config RT2X00_LIB_CRYPTO | 
 | 207 | 	boolean | 
 | 208 |  | 
| Gertjan van Wingerde | 4c99f3e | 2008-09-28 15:11:38 +0200 | [diff] [blame] | 209 | config RT2X00_LIB_LEDS | 
 | 210 | 	boolean | 
 | 211 | 	default y if (RT2X00_LIB=y && LEDS_CLASS=y) || (RT2X00_LIB=m && LEDS_CLASS!=n) | 
 | 212 |  | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 213 | config RT2X00_LIB_DEBUGFS | 
 | 214 | 	bool "Ralink debugfs support" | 
 | 215 | 	depends on RT2X00_LIB && MAC80211_DEBUGFS | 
 | 216 | 	---help--- | 
 | 217 | 	  Enable creation of debugfs files for the rt2x00 drivers. | 
 | 218 | 	  These debugfs files support both reading and writing of the | 
| Ivo van Doorn | 3a4d3af | 2008-04-21 19:01:40 +0200 | [diff] [blame] | 219 | 	  most important register types of the rt2x00 hardware. | 
| Ivo van Doorn | 95ea362 | 2007-09-25 17:57:13 -0700 | [diff] [blame] | 220 |  | 
 | 221 | config RT2X00_DEBUG | 
 | 222 | 	bool "Ralink debug output" | 
 | 223 | 	depends on RT2X00_LIB | 
 | 224 | 	---help--- | 
 | 225 | 	  Enable debugging output for all rt2x00 modules | 
 | 226 |  | 
| Randy Dunlap | 0d84d78 | 2008-02-10 10:52:52 -0800 | [diff] [blame] | 227 | endif |