Gabor Juhos
91470edada
ar71xx: add AR934x specific glue for IRQ initialization
...
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>
SVN-Revision: 26510
2011-04-07 20:52:49 +00:00
Gabor Juhos
3b209880bc
ar71xx: add initial support for the AR934x SoCs
...
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>
SVN-Revision: 26509
2011-04-07 20:52:45 +00:00
Felix Fietkau
98c78c13db
ar71xx: enable access to the WAN port PHY on a few devices, adds WAN link detection
...
SVN-Revision: 26394
2011-04-02 00:47:33 +00:00
Felix Fietkau
41ee4a283c
ar71xx: only allow internal access to the ar7240 switch, export the MDIO bus behind the switch instead
...
SVN-Revision: 26393
2011-04-02 00:47:29 +00:00
Felix Fietkau
acbb3e50e7
ar71xx: frequent ethernet mac resets upset the MDIO bus on ar7240, so do not run them on every device open, only on tx timeouts
...
SVN-Revision: 26392
2011-04-02 00:47:25 +00:00
Gabor Juhos
8eb616de82
ar71xx: add support for the TP-Link TL-WA901ND v2 board
...
Patch-by: Jonathan Benett <jbscience87@gmail.com>
SVN-Revision: 26119
2011-03-13 15:08:31 +00:00
Felix Fietkau
5bddd70a37
Revert "ar71xx: add missing gpio_set_debounce function" - wrong target
...
SVN-Revision: 25854
2011-03-03 16:21:23 +00:00
Felix Fietkau
57a14f4e15
ar71xx: add missing gpio_set_debounce function
...
SVN-Revision: 25848
2011-03-03 10:33:35 +00:00
Gabor Juhos
256169cbd0
ar71xx: add rtl8366s initvals for the DIR-825 board
...
SVN-Revision: 25121
2011-01-26 20:35:47 +00:00
Gabor Juhos
67c3e0bf7e
ar71xx: add support for the WNDR3700v2 board
...
Based on a patch by Mark Mentovai <mark@moxienet.com>
SVN-Revision: 25118
2011-01-26 20:35:42 +00:00
Jo-Philipp Wich
18ed5bca9b
fix null pointer access in mach-dir-600-a1.c machine setup ( #8671 )
...
SVN-Revision: 25043
2011-01-18 18:04:50 +00:00
Gabor Juhos
b67bbfe287
ar71xx: fix wlan LED on the TL-WR741 board
...
* Patch from #8630
SVN-Revision: 24963
2011-01-11 08:20:47 +00:00
Gabor Juhos
dd53effe15
ar71xx: fix wrong names of the WPS LED/button
...
Reported-by: Nuno Gonçalves
SVN-Revision: 24961
2011-01-10 18:15:47 +00:00
Gabor Juhos
23a6173099
ar71xx: use gpio_*_cansleep calls in the rb4xx NAND driver
...
SVN-Revision: 24944
2011-01-09 09:29:45 +00:00
Gabor Juhos
0de8689b70
ar71xx: use spinlock in ar71xx_device_{start,stop}
...
SVN-Revision: 24929
2011-01-08 11:28:32 +00:00
Felix Fietkau
6acfae9379
ar71xx: enable ar7240 switch support on the UBNT NanoStation M Fixes broadcast frames on the second ethernet MAC
...
Signed-off-by: Alexander Couzens <lynxis@c-base.org>
SVN-Revision: 24723
2010-12-19 11:56:42 +00:00
Gabor Juhos
cafe08a1b2
ar71xx: remove stray semicolons
...
SVN-Revision: 24651
2010-12-17 17:57:20 +00:00
Gabor Juhos
01c76bf128
ar71xx: fix WLAN LEDs on the DIR-825 board
...
SVN-Revision: 24650
2010-12-17 17:10:21 +00:00
Gabor Juhos
c1d3a23d19
ar71xx: add helper function to setup ath9k LED/GPIO on the AP94 based boards
...
SVN-Revision: 24649
2010-12-17 17:10:19 +00:00
Gabor Juhos
8390b7dc9b
ar71xx: UBNT Secondary MAC address duplicate fix
...
There is Secondary MAC address duplicate problem with some UBNT
RouterStation and RouterStation Pro HW batches as Primary MAC addresses
are not increased by 2 per device in board data. Fix is to use 'Locally
Administrated bit' for Secondary MAC address instead of increasing
Primary MAC addresses by 1 which could overlap with other device
Primary MAC address.
Signed-off-by: Kestutis Barkauskas<keba@devint.net>
SVN-Revision: 24643
2010-12-17 17:10:01 +00:00
Gabor Juhos
a2a5598c00
ar71xx: add wlan led for the TL-WR941ND
...
SVN-Revision: 24612
2010-12-15 19:55:50 +00:00
Gabor Juhos
e421d2575f
ar71xx: UBNT M-Series MAC address fix
...
UBNT M-Series devices have 2 MAC addresses in board data.
Fix is to use both entries from board data instead of one entry.
Signed-off-by: Kestutis Barkauskas<keba@devint.net>
SVN-Revision: 24611
2010-12-15 19:55:47 +00:00
Gabor Juhos
6c1ace2f28
ar71xx: init the LED pin for ath9k on the TL-MR3[24]20 boards
...
SVN-Revision: 24569
2010-12-14 18:01:04 +00:00
Gabor Juhos
a7750dae90
ar71xx: add helper function to setup LED pin and GPIO on the AP91 based boards
...
SVN-Revision: 24568
2010-12-14 18:01:00 +00:00
Gabor Juhos
9f38f9bf76
ar71xx: add missing files for the JA76PF board
...
SVN-Revision: 24444
2010-12-10 19:55:28 +00:00
Gabor Juhos
b680f088ba
ar71xx: add support for the jjPlus JA79PF
...
Patch-by: Cezary Jackiewicz
SVN-Revision: 24440
2010-12-10 17:57:51 +00:00
Gabor Juhos
5b0c83edd9
ar71xx: add support for the TP-LINK TL-MR3220 v1 board
...
SVN-Revision: 24439
2010-12-10 17:57:48 +00:00
Felix Fietkau
8067f3f3cc
ar71xx: work around a PCI controller bug which causes reads to the PCI_COMMAND register to return bogus values - properly fixes ath9k module reload issues
...
SVN-Revision: 24236
2010-12-04 01:32:15 +00:00
Gabor Juhos
9971dfe059
ar71xx: D-Link DIR-825 B1 eth1 MAC address is garbage
...
r22700 contained a copy-and-paste error that set eth0's MAC address
twice and never set eth1's.
Signed-off-by: Mark Mentovai <mark@moxienet.com>
SVN-Revision: 24036
2010-11-19 07:24:00 +00:00
Gabor Juhos
920a34c0ce
ar71xx: drivers/ar71xx_wdt: fix size argument passed to copy_to_user()
...
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23983
2010-11-12 18:52:45 +00:00
Gabor Juhos
3106aea40b
ar71xx: drivers/ag71xx: remove deprecated usage of IRQF_SAMPLE_RANDOM
...
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23982
2010-11-12 18:52:28 +00:00
Gabor Juhos
30ef7d55fc
ar71xx: use pr_* functions in drivers
...
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23981
2010-11-12 18:52:12 +00:00
Gabor Juhos
fddf3b8dac
ar71xx: drivers/rb4xx_nand: remove C++ comment usage
...
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23980
2010-11-12 18:51:55 +00:00
Gabor Juhos
f4d5c885e4
ar71xx: return statements does not need parenthesis
...
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23979
2010-11-12 18:51:38 +00:00
Gabor Juhos
e244e1c7cd
ar71xx: fix inline attribute location
...
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23978
2010-11-12 18:51:21 +00:00
Gabor Juhos
acd8ad4de5
ar71xx: wrap long lines
...
(build errors has been fixed - juhosg)
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23977
2010-11-12 18:51:04 +00:00
Gabor Juhos
eef802855a
ar71xx: fix trailing statements location
...
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23976
2010-11-12 18:50:47 +00:00
Gabor Juhos
500fac1735
ar71xx: fix whitespaces nits
...
(build error has been fixed - juhosg)
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23975
2010-11-12 18:50:29 +00:00
Claudio Mignanti
20b2a4417a
Add support for Ubiquiti UniFi AP
...
SVN-Revision: 23904
2010-11-06 21:08:48 +00:00
Felix Fietkau
91b6c63adc
ar71xx: Set eth1 MAC address from EEPROM for WNDR3700
...
The WNDR3700's art/caldata partition contains three MAC addresses at
offsets 0, 6, and 12, used for eth0/wlan0 (shared), eth1, and wlan1,
respectively. The existing code configures eth1's MAC address by adding
1 to eth0's instead of using the value stored in the EEPROM. This patch
causes the stored value to be used directly. (On my WNDR3700s, the three
stored addresses are all sequential anyway.)
Signed-off-by: Mark Mentovai <mark@moxienet.com>
SVN-Revision: 23876
2010-11-04 18:46:07 +00:00
Felix Fietkau
fc28e1cd7d
ar71xx: fix the wndr3700 antenna group setting for the first wireless chip (thx, Mark Mentovai)
...
SVN-Revision: 23875
2010-11-04 18:39:49 +00:00
Felix Fietkau
b4e2c09b46
ar71xx: improve the wndr3700 quirks - move most of the code out of ath9k and instead allow the platform device to specify gpio overrides - fixes 5ghz signal strength issues
...
SVN-Revision: 23822
2010-11-03 14:55:53 +00:00
Felix Fietkau
f056c054b9
ar71xx: the ar7240 dsa driver is no longer used, remove it.
...
SVN-Revision: 23577
2010-10-21 18:42:28 +00:00
Felix Fietkau
9e2d1a194d
ar71xx: use the new ar7240 switch driver for tl-wa901nd as well
...
SVN-Revision: 23576
2010-10-21 18:42:22 +00:00
Felix Fietkau
6656450c6d
ar71xx: fix more section mismatches
...
SVN-Revision: 23575
2010-10-21 18:42:16 +00:00
Felix Fietkau
8858d90afe
ar71xx: improve 2.6.36 compatibility. also, instead of adding a forward port patch to the 2.6.36 patches, add a backport patch to 2.6.32
...
SVN-Revision: 23574
2010-10-21 18:42:11 +00:00
Jo-Philipp Wich
a680385396
remove remaining references to dev-ap91-eth.h, patch by Stijn Tintel
...
SVN-Revision: 23451
2010-10-14 23:08:10 +00:00
Felix Fietkau
fc035b3cb6
ar71xx: remove dev-ap91-eth.c. switch its only user (RB-750) to the new switch driver
...
SVN-Revision: 23439
2010-10-14 13:41:42 +00:00
Felix Fietkau
3941621dbc
ar71xx: use the new ar7240 switch driver on the DIR-600-A1 as well ( fixes #7563 )
...
SVN-Revision: 23432
2010-10-14 00:14:59 +00:00
Felix Fietkau
b61a804bf7
ar71xx: increase rb4xx nand kernel partition size (patch by danimo)
...
SVN-Revision: 23293
2010-10-07 14:27:34 +00:00
Gabor Juhos
697f5d0bdd
ar71xx: initial support for jjPlus JWAP003
...
Patch-by: Cezary Jackiewicz <cezary@eko.one.pl>
(the GPIODEV code has been removed, the sysfs interface
can be used to control the GPIO lines instead - juhosg)
SVN-Revision: 23165
2010-10-01 07:09:29 +00:00
Felix Fietkau
8511c6b16c
AP96: Fix LAN/WAN setup
...
LAN (eth0) is behind a switch and the fixed speed/duplex was
supposed to be for it, not WAN (eth1).
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
SVN-Revision: 23147
2010-09-28 22:55:14 +00:00
Gabor Juhos
32d12d5e5c
ar71xx: add support for the TL-MR3420 v1 board
...
SVN-Revision: 23136
2010-09-27 14:53:59 +00:00
Gabor Juhos
b831ebdde9
ar71xx: AR724[12] requires different USB setup
...
SVN-Revision: 23135
2010-09-27 14:53:57 +00:00
Gabor Juhos
cda8655910
ar71xx: use the MDIO interface of the 2nd MAC on the ar7241
...
SVN-Revision: 23132
2010-09-27 14:53:49 +00:00
Gabor Juhos
b445943cdf
ar71xx: move ath9k specific PCI fixup into a separate file
...
SVN-Revision: 23131
2010-09-27 14:53:46 +00:00
Gabor Juhos
4ae167959b
ar71xx: use different address in ap91_pci_fixup for the AR724[012] SoCs
...
With this change ath9k can handle the wireless chip on the TL-WR841N v7
board which is based on the AR7241 SoC.
SVN-Revision: 23130
2010-09-27 14:53:43 +00:00
Felix Fietkau
a7bb7dd99e
Add support for Atheros AP96 reference board
...
This is still preliminary and not really tested much. Anyway, this
version seems to be enough to get both wired and wireless
interfaces working. Buttons and leds are also working.
mach-ap96.c is based on mach-wndr3700.c.
Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com>
SVN-Revision: 23125
2010-09-27 08:59:53 +00:00
Felix Fietkau
0c6653c6e2
ar71xx: select AR71XX_DEV_DSA when AR71XX_DEV_AP91_ETH is selected, do not select AR71XX_DEV_AP91_ETH for TL-WA901ND and TL-WR741ND
...
SVN-Revision: 22935
2010-09-05 16:17:06 +00:00
Gabor Juhos
b4336a8e2d
ar71xx: add support for the Zcomax ZCN-1523H-2-8/5-16 boards
...
SVN-Revision: 22882
2010-09-03 18:14:37 +00:00
Gabor Juhos
47f8fd1dde
ar71xx: rewrite SPI drivers for the RB4xx boards
...
* add a new SPI controller driver
* add SPI driver for the CPLD chip
* convert the NAND driver
* enable the mikroSD slot
* enable more LEDs
SVN-Revision: 22863
2010-08-31 20:13:47 +00:00
Gabor Juhos
7bc5a672c1
ar71xx: change mac address initialization
...
SVN-Revision: 22700
2010-08-18 16:00:28 +00:00
Felix Fietkau
523fcf0497
ar71xx: add a new driver for the ar7240 switch using swconfig. hooks directly into the ethernet driver, as MAC resets also require switch reinitializations and the switch is part of the cpu core anyway switch only tl-wr741nd (and other devices using this board file, such as tl-wr841nd) over to using this by default, as other devices are still untested fixes #7563
...
SVN-Revision: 22675
2010-08-16 19:21:57 +00:00
Felix Fietkau
65899cfa49
ar71xx: remove the fifo cfg overrides for the ap91 ethernet code - these values have been wrong on every single device i've tested, falling back to the atheros values seems to be the right thing to do
...
SVN-Revision: 22401
2010-07-27 21:04:43 +00:00
Felix Fietkau
900aaa919b
ar71xx: add support for the tp-link tl-wa901nd devices (patch by Pieter "Fate" Hollants, from #7528 , without the ethernet fifo cfg values)
...
SVN-Revision: 22353
2010-07-22 12:37:44 +00:00
Felix Fietkau
bced5d7d74
ar71xx: set default values for the fifo cfg registers on AR724x
...
SVN-Revision: 22303
2010-07-20 01:54:11 +00:00
Gabor Juhos
4bb11f9a39
generic: move ath5k_platform.h from ar71xx to generic files
...
SVN-Revision: 22189
2010-07-15 07:36:58 +00:00
Gabor Juhos
95e09cccd8
ar71xx: in-flash macs and eeprom for mach-eap7660d
...
This adds in-flash mac-addresses and calibration data for the Senao
EAP7660D board.
Signed-off-by: Daniel Golle <daniel.golle@gmail.com>
SVN-Revision: 22187
2010-07-15 07:36:52 +00:00
Felix Fietkau
a27ea45e76
ar71xx: only reinit the ethernet MAC at .open() on ar724x for now, until we've figured out what part of it causes the issue described in #7563
...
SVN-Revision: 22075
2010-07-06 12:40:07 +00:00
Felix Fietkau
15b209d09f
ag71xx: reset the hardware during open(), this improves recovery from tx timeouts on ar724x considerably
...
SVN-Revision: 22055
2010-07-04 02:15:08 +00:00
Felix Fietkau
89da22d1ea
ag71xx: fix a memory corruption bug that happens if you flood the interface with packets while it's being brought down fixes boot time crashes under load reported by matteo
...
SVN-Revision: 22054
2010-07-04 01:31:33 +00:00
Gabor Juhos
5a28fb88a4
ar71xx: fix leds-rb750 build failure on 2.6.34
...
SVN-Revision: 22016
2010-07-01 14:49:06 +00:00
Gabor Juhos
7bff9c0101
ar71xx: add support for the Senao EAP7660D board
...
This patch adds support for the Senao EAP7660D board to trunk.
Signed-off-by: Daniel Golle <daniel.golle@gmail.com>
SVN-Revision: 21837
2010-06-18 16:22:05 +00:00
Gabor Juhos
08c2e29018
ar71xx: avoid duplicated 'board' parameter in kernel command line
...
SVN-Revision: 21805
2010-06-14 20:02:44 +00:00
Gabor Juhos
9789f0215a
ar71xx: nuke AR71XX_MACH_UBNT_AR71XX machtype
...
SVN-Revision: 21764
2010-06-12 13:20:39 +00:00
Gabor Juhos
adb0a95df1
ar71xx: fix phy_mask for the RB450
...
SVN-Revision: 21743
2010-06-09 19:48:35 +00:00
Gabor Juhos
6ce447427c
ar71xx: fix build error in the rb{4xx,750}_nand drivers on 2.6.34/35
...
SVN-Revision: 21736
2010-06-09 15:31:34 +00:00
Gabor Juhos
d55ebf3a8a
ar71xx: fix phy_mask on the RB433 for the IP17xx driver
...
SVN-Revision: 21728
2010-06-08 20:19:18 +00:00
Gabor Juhos
90e2b1ad6b
ar71xx: fix 2.6.34 build errors
...
SVN-Revision: 21698
2010-06-07 09:18:13 +00:00
Gabor Juhos
115f845e53
ar71xx: fix nbg460n mtd partitions
...
This fixes the NBG460N/550N/550NH mtd partitions.
Signed-off-by: Michael Kurz <michi.kurz@googlemail.com>
SVN-Revision: 21443
2010-05-14 08:37:58 +00:00
Gabor Juhos
fca9b7ebad
ar71xx: remove config partition from the mtd map on the MZK-W300NH board
...
This space can be used to extend the rootfs_data partition.
SVN-Revision: 21173
2010-04-26 18:28:04 +00:00
Gabor Juhos
77b2354fcd
ar71xx: fix firmware partition size on the MZK-W04NU board
...
SVN-Revision: 21172
2010-04-26 18:28:01 +00:00
Felix Fietkau
7966004d99
ag71xx: remove rx alignment code for small packets, it seems to break ipv6 for some reason ( fixes #7236 )
...
SVN-Revision: 21166
2010-04-26 16:39:13 +00:00
Felix Fietkau
9848d38aed
ar71xx: fix a wifi card stability issue
...
when we receive a pci/ahb interrupt, we need to flush pending data for dma
from the device, otherwise the tx path may get stuck if the completion flag
of the dma descriptor is not updated at the time the tx interrupt arrives.
SVN-Revision: 21143
2010-04-24 17:24:11 +00:00
Gabor Juhos
10ed3b23a6
ar71xx: reduce button threshold value on the NBG460 board
...
SVN-Revision: 21076
2010-04-21 19:07:23 +00:00
Gabor Juhos
9933d34770
ar71xx: use KEY_RESTART and KEY_WPS_BUTTON code for the appropriate buttons
...
SVN-Revision: 21075
2010-04-21 19:07:19 +00:00
Gabor Juhos
693ea524c1
ar71xx: adding support for zyxel nbg460n/550n/550nh boards
...
This patch adds support for the zyxel nbg460n/550n/550nh routers.
Currently this only works if a second stage bootloader is also flashed,
as the used switch needs extra initialization.
Signed-off-by: Michael Kurz <michi.kurz@googlemail.com>
SVN-Revision: 20990
2010-04-18 16:24:12 +00:00
Felix Fietkau
1c0e751391
ar71xx: fix up alignment handling
...
- on ar724x, rx buffers can be aligned with an offset of 2, which keeps the ip header aligned
- alignment offset is only added if the ar8216 workaround is not active and the phy driver does not advertise its own packet alignment
- ar71xx and ar91xx can not handle rx alignment offsets, however taking a hit on unaligned exceptions seems to have less overhead than re-aligning the data for large packets
- use memmove to re-align small packets, if necessary
tested on ar9132, ar7240 and ar7242 based devices without ar8216 headers
SVN-Revision: 20892
2010-04-15 23:31:17 +00:00
Gabor Juhos
dd7304ec6d
ar71xx: update phy masks for the Planex boards
...
This avoids probing of the AR8216 chip on the eth0 interface.
Cc: backfire@openwrt.org
SVN-Revision: 20754
2010-04-09 08:40:14 +00:00
Gabor Juhos
d6c0363884
ar71xx: make the AR8216 driver usable on the TEW-632BRP/DIR-615-Cx boards
...
Cc: backfire@openwrt.org
SVN-Revision: 20752
2010-04-09 08:40:09 +00:00
Gabor Juhos
4c29a2c263
ar71xx: ag71xx: avoid unalinged accesses when using the phy specific receive functions
...
Cc: backfire@openwrt.org
SVN-Revision: 20751
2010-04-09 08:40:06 +00:00
Gabor Juhos
4a28844d80
ar71xx: ag71xx: call the phy driver's netif_receive_skb()
...
Ag71xx needs to call the phy's netif_receive_skb() to allow phy drivers
to mangle rx packets. This patch fixes it.
This fixes the header mangling of the AR8216 driver.
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
Cc:backfire@openwrt.org
SVN-Revision: 20750
2010-04-09 08:38:46 +00:00
Felix Fietkau
df463abb18
ar71xx: fix ethernet on final pb92 board (previous value was based on a preliminary version)
...
SVN-Revision: 20725
2010-04-06 00:12:50 +00:00
Jo-Philipp Wich
23bebe33a7
Add support for the ar8316 switch. This patch enhances the ar8216 driver with ar8316 support and fixes some minor issues with the ar8216 driver itself. It should not break anything, but isn't tested on ar8216 devices.
...
[PATCH 2/2] ar71xx: Add the ar8316 driver to rs pro/rb-450g.
Add the ar8216 driver to the ar71xx target, and add network
configurations for the RouterStation Pro and the RouterBoard RB-450G.
SVN-Revision: 20722
2010-04-05 23:03:16 +00:00
Gabor Juhos
c874513cfa
ar71xx: fix broken LAN ports on the boards with AR8216 switch ( closes #7024 )
...
* cc: backfire@openwrt.org
SVN-Revision: 20673
2010-04-03 13:59:08 +00:00
Felix Fietkau
7983e442e1
ar71xx: fix pci on ar7241/ar7242
...
SVN-Revision: 20530
2010-03-28 00:36:37 +00:00
Felix Fietkau
9c0f21a5b9
ar71xx: fix the wan port on pb92
...
SVN-Revision: 20529
2010-03-28 00:36:04 +00:00
Felix Fietkau
2cc215f121
ar71xx: reset the mdio bus on ar7241/ar7242
...
SVN-Revision: 20528
2010-03-28 00:35:44 +00:00
Gabor Juhos
905f2d62f9
ar71xx: update image generation and trx header parsing for the WRT160NL
...
* patch by Bernhard Loos
* note: trailing whitespaces has been removed
SVN-Revision: 20525
2010-03-27 17:38:36 +00:00
Gabor Juhos
b7ca043240
ar71xx: ag71xx: copy received packet to avoid unaligned access in the IP stack
...
SVN-Revision: 20506
2010-03-27 13:05:27 +00:00