This patch deactivates the statistics, adds a missing lock
initialization and fixes a waring.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41511
Old OpenWrt releases were using network configs that are not valid
anymore. They were specifying ports tagging in a different way (or were
not tagging CPU at all) and were using VID 0 which is a reserved value.
Modifying network configuration to apply all needed changes would be
pretty tricky. Script /etc/init.d/netconfig that generates new config is
quite complex itself.
So instead let's save the most important settings, regenerate config
from the scratch and restore values. This should work for 99% of users.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 41500
Realview is mostly used as a QEMU development platform, which will provide a
built-in DHCP server to NAT or bridge the connection outside of the emulated
environment.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 41495
This is not needed since our toolchain produces the expected binaries for the
target CPU.
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 41494
New make target in lantiq to use UbinizeImage and SysupgradeNand.
Only enabled for BTHOMEHUBV2B for the moment but should be useable
for other lantiq nand boards.
Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
SVN-Revision: 41474
After r41444 wifi working on WRTnode. Tested.
Signed-off-by: Cezary Jackiewicz <cezary.jackiewicz@gmail.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 41452
This patch adds support for the MikroTik RouterBOARD SXT Lite.
The new RB911L series is also supported as a result.
v2 of this patch fixes the wmac offset to match what is on the sticker.
v3 refreshes the patch against r41148 and defines the power led as the status led in diag.sh
v4 refreshes the patch against r41353 and fixes the patch path issue to make git am work correctly
v5 selects the kernel config option in the mikrotik profile rather than in the main ar71xx config
Signed-off-by: Matthew Reeve <mreeve@tenxnetworks.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 41450
Enable LANTIQ_PHY and LANTIQ_XRX200 only in XRX200 subtarget.
These drivers are not needed for ASE, Danube and AR9.
As side effect PHY11G and PHY22F firmwares are not included in the
kernel image, which saves 64 KB.
Signed off by: José Vázquez Fernández <ppvazquezfer@gmail.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 41449
The Livebox 1 support is currently broken. Fixed with this patch
Fixes:
- Redboot partitioning broken: fixed
- Replaced custom ephy reset with platform code
- USB code breaks the building process: fixed
- Led colors
- Removed unneded EHCI code since bcm6348 only has OHCI
Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>
[jogo: drop unneded parts since merge, fixup to apply to current head]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 41424
This adds support for Comtrend WAP-5813n.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
[jogo: refresh patches]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 41421
Some fixes for Telsey CPVA502+ bcm6348 routers:
- reset the external PHY (eth1) with proper platform code, not using a led definiton
- eth1 is an external phy, not a switch, deleted forced link speed
- fixed led color
Patch made for 3.14 kernel patches.
Signed-off-by: Daniel Gonzalez <dgcbueu@gmail.com>
[jogo: also fix 3.14, refresh patches]
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 41420
Spotted by several buildbots.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
Patchwork: http://patchwork.openwrt.org/patch/5768/
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 41391
205-fix-headers_install.patch is obseleted by upstream commit 3246a0352e3d58380b9386570f1db1faf7edf8a8
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 41351
This enables the procd nand upgrade for ZyXEL NBG 6716. Also the ubi config
is cleaned up to match the wndr4300.
Signed-off-by: André Valentin <avalentin@marcant.net>
SVN-Revision: 41346
- Support set VLAN ID of each vlan.
- Support untag feature.
- Replace register address with C MACRO.
- There are 8 ports for MT7530 actually.
Signed-off-by: Xiongfei Guo <xfguo@credosemi.com>
SVN-Revision: 41331
add missing kernelnames to Makefile because those files are needed in 'target/linux/mpc83xx/image/Makefile'. Without them a compilation for mpc83xx is not possible - the buildbot stops with the error "No such file or directory"
Signed-off-by: Claudio Thomas <ct@xmodus-systems.de>
SVN-Revision: 41330
We do not need global access to it, so move it from arch include to the
mtd subdir.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41321
Pass I/O memory regions (flash read and MMR) via platform device
resources array and use them inside spiflash driver.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41320
Moving the start of IO mem to 0x10000000 leads to allocation conflict
with SPI flash memory region, which starts at 0x08000000.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41319
We should not detect actual flash size during board initialization to
find board config at the end of the flash, just use large enough mapping
size (currently 128 mbit). If mapping size is larger than the actual
flash size, than flash will simply be mapped multiple times. This change
simplifies code by removing duplication and saves about 200 bytes of
uncompressed kernel :)
Tested with Ubnt LS2 board equipped with STM 25p32v6p NOR flash (32 mbit).
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41317
Merge 3_10-updates.patch into the ar2313_ethernet.patch since it contains
only one ethernet driver fix.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41316
As far as I am aware, amongst the lantiq boards, jffs2_nand was
only used on the BTHOMEHUBV2B. Ubi-related modifications to the
device tree for that board mean that the resulting jffs2 images
no longer work, and are no longer required anyway. So I suggest
removing the related configuration, which this patch does.
If anyone else is using jffs2_nand on a lantiq target please speak
up!
Incidentally, for a jffs2 rootfs partition concatenated to the
kernel image to be recognised and mounted correctly on nand
this patch or something equivalent is required:
http://patchwork.openwrt.org/patch/5110/
It is marked as accepted in patchwork but doesn't seem to have
been committed. As far as I am concerned it too is deprecated.
Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
SVN-Revision: 41312
Setting this flag allows rootfs_data to expand on first boot
to fill remaining free space on nand.
Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
SVN-Revision: 41310
Use the CFE_EPTSEAL to tell them apart at runtime. Added for now only
for the 3.14 until properly tested.
Signed-off-by: Jonas Gorski <jogo@openwrt.org>
SVN-Revision: 41296
move both asus boards to asus.mk
rename HW5503G profile to HW550-3G to match name in image/Makefile
(fixes#16599)
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 41271
At the moment, an rootfs.ubi is copied over to bin/lantiq
but rootfs-overlay.ubi is not. This adds it.
Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
SVN-Revision: 41270
Revision r41256 introduced a typo (wandaboard => wandboard), but later
revisions expect to match on "wandboard"
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 41262
WAN and LAN are swapped the wrong way around. This patch fixes that by adding the 951Ui-2HnD to ar71xx.sh and the relevant entry in 02_network.
This patch also defines the ACT LED as the status LED in diag.sh.
Signed-off-by: Matthew Reeve <mreeve@tenxnetworks.com>
Signed-off-by: John Crispin <blogic@openwrt.org>
SVN-Revision: 41255
This patch adds factory image building for the DGN3500, all variants,
and fixes sysupgrade images to make them play nice with the sercomm
secondary boot loader.
The factory images can be used directly in the update dialog in the
interface of the stock firmware and via the special Sercomm bootmode
and a special windows flashing utility (allegedly present in the CD
that came with the device -- but it's also compatible with the NSLU2
Upgrade_207_XP utility.) The special bootmode can be activated by
turning the device on while holding the reset button pressed, then
releasing it when the power led starts blinking red and green. Please
notice that if using the 207 utility, it will always report that the
flashing failed even though it completed successfully. Just power
cycle the router manually after the utility reports the failure and
OpenWRT will boot. This same utility (despite reporting failure in
this case too) can revert a DGN3500 (any variant) to the appropriate
stock Netgear firmware.
This patch is a heavily modified version of a package I found on the
OpenWRT forum with a couple fixes and features added -- mainly the
generation of all the different image variants to support all known
models directly, atm known variants are AnnexA-WW, AnnexA-NA and
AnnexB-DE/GR.
I tested the patch successfully on my device.
Signed-off-by: Marco Antonio Mauro <marcus90@gmail.com>
SVN-Revision: 41236
A modified version of 552-ubifs-respect-silent-mount-flag.patch has
been merged upstream. Replace the patch in OpenWrt with the version
which has been merged.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 41218
Without this, the ports all end up on vlan 1. This enables a separate
WAN port that works.
Signed-off-by: Russell Senior <russell@personaltelco.net>
SVN-Revision: 41216
In a recent revision (r41177) John Crispin removed the profile for the
AsiaRF AWM002 eval board while adding another AsiaRF board. This
patch restores AWM002 and also corrects a misspelling and an
apparently errant reference to an Allnet ALL0239-3G device.
Signed-off-by: Galen Seitz <galens@seitzassoc.com>
Signed-off-by: Russell Senior <russell@personaltelco.net>
SVN-Revision: 41215
This patches the BTHOMEHUB2B device tree to make use of the
new code for automatic detection of the ubi partition and the
rootfs type within it. Gets rid of the ugly alternative bootargs
lines.
Signed-off-by: Ben Mulvihill <ben.mulvihill@gmail.com>
Acked-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 41214
Similar to the rootfs hacks on NOR flash devices, this series
introduces support for auto-attaching (ubi device), auto-creating
(ubiblock device) and mounting the "rootfs" (ubifs or squashfs)
volume.
This is needed so OpenWrt can start without relying on the bootloader
to pass the ubi.mtd, ubi.block, rootfs and rootfstype parameters, but
instead auto-detect the root filesystem according to a simple convention.
OpenWrt-specific:
490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch
491-ubi-auto-create-ubiblock-device-for-rootfs.patch
492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
sent upstream:
552-ubifs-respect-silent-mount-flag.patch
http://lists.infradead.org/pipermail/linux-mtd/2014-May/053893.html
v2: actually retry with MS_RDONLY when mounting read-only ubifs root
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 41119
Use msleep(20) instead of msleep(10) to make code closer to reality
since msleep can sleep for up to 20ms even we request shorter delay.
All updated calls are located in PCI initialization routine which is
called only once upon device boot. So there should be no performance
issues caused by more longer delay.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41096
Use __func__ instead of gcc specific __FUNCTION__ as suggested by
checkpatch.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41093
Move trailing statements to next line with indentation as suggested by
checkpatch.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41092
Various indent fixes suggested by checkpatch: use tabs, use same level
of indentation for switch and case, correct indentation levels.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41090
Remove some unnecessary includes and use <linux/foo.h> instead of
<asm/foo.h> when it possible as suggested by checkpatch.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41089
Use more particular functions dev_<level> or pr_<level>(...) insead of
direct printk(...) call. Add KERN_LEVEL to calls what missed it.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41088
Fix braces location, remove unnecessary empty lines before or after code
block, remove useless braces. All cases are detected by checkpatch.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41087
Remove parentheses around return values since return is no a function,
as suggested by checkpatch.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41083
Fix comment issues detected by checkpatch. Convert C99 // comments to
ordinary /* ... */ comments. Correct block comments style or convert
them to single line comments.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41081
Change fooBar variables names to foo_bar as suggested by checkpatch,
write few tables names in lower case and correctly place __initdata
keyword.
Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
SVN-Revision: 41080
With this patch the mips74k subtarget will be compiled with optimized
compiler options to generated smaller and faster code. This currently
breaks broadcom-wl, because the binary blob is only compiled with
mipsr1 support.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41050
This fixes some strange problems with tg3. I assume that the Ethernet
driver was not brought up if the switch was named switch0.
This was reported and tested by ernesto (Faulp3lz).
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41042
All new devices (with MIPS 74K CPU) are based on BCMA SoC and have
Ethernet core supported by bgmac. Create a new subtarget to generate
optimized builds.
This is just a beginning, further tweaks (like kernel configuration)
are still possible. This decreases default root.squashfs by ~128 kB.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41025
This allows creating more subtargets and optimize builds per family.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 41024
Remove old irq map patch and replace it with the propper upstream patches
allowing IMX6 PCIe devices behind PCIe switches to work properly.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 41004
ath5k fix in wifi and ethernet eeprom handling patch.
Without the line that adds the patch of_ath5k_eeprom_probe cause a
kernel panic, at least with the ARV4518PW.
Tested only in the modem-router mentioned above.
This patch is based in Bruno's hack present in patch #5454.
Signed off by: Bruno Rodríguez <bruno.rodriguez.1980@gmail.com>
Signed off by: José Vázquez Fernández <ppvazquezfer@gmail.com>
SVN-Revision: 40999
The canutils package is in the packages repo and not part of trunk, so we
should not enable them by default.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 40991
Add the following kernel modules by default (which are present on most Ventana
baseboards):
- kmod-leds-gpio (user leds)
- kmod-sound-core (required as a dependency of the other sound modules)
- kmod-pps-gpio (Pulse-Per-Second)
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 40990
The Gateworks Ventana board names have been adjusted per upstream patches
to include all IMX6 SoC variants.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 40989
update the Ventana DTS files with upstream fixes:
- The 'model' property in the imx-audio-sgtl5000 binding specifies the
user-visible name of the audio device. This should be something common and
not baseboard specific.
- removed obsolete crts
- fix include typo: The imx6q-gw51xx needs to include imx6qdl-gw51xx.dtsi
- fix gw52xx clock for sgtl5000 ananlog audio codec
- fix LVDS mapping for Ventana GW52xx/GW53xx/GW54xx
- add LVDS backlight for Ventana
- update model descriptions for all processor variants
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 40988
update the Ventana DTS files with upstream fixes:
- The 'model' property in the imx-audio-sgtl5000 binding specifies the
user-visible name of the audio device. This should be something common an
not baseboard specific.
- update model descriptions for all processor variants
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 40987
It was augmented by CONFIG_USB_GADGET...
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Acked-by: Tim Harvey <tharvey@gateworks.com>
SVN-Revision: 40986
I added WIFI LED support (so now AP blinks nicely), I removed WPS
button GPIO (as it doesn't exist) and changed GPIO for reset button.
Signed-off-by: Jacek Kikiewicz <jaceq@aol.pl>
SVN-Revision: 40976
This board manufactured by HiWiFi has the following features.
- Atheros 9331 SoC.
- 16MB flash and 64MB RAM.
- 4GB eMMC storage via SK6226 USB 2.0 controller.
- 2 LAN and 1 WAN ethernet ports with LEDs on them.
- 3 blue LEDs on the front panel.
- 1 button labeled as "reset".
- Powered by a USB cable.
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
SVN-Revision: 40973
The TL-WA730RE seems to be almost identical to TL-WA701ND, just
that it comes without PoE and a stock-firmware claiming the device
to be a "Range Extender".
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 40972
Detect TL-WA7510N v1 by the board name as defined in mach-tl-wa901nd.c
and add hardware ID to tplink_board_detect
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 40971
Dlink dir-615-e1 can use dir-600-a1's image, but the image can't be
uploaded through dlink's normal firmware update web page.
Add profile for dir-615-e1 so the generated image can be uploaded
through the firmware update web page.
Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>
SVN-Revision: 40969
generate sysupgrade image by combine two images.
one is kernel image with seama header.
another is root fs image.
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 40922
ARGC is a 'C-ism', but not known/valid in shell-syntax - insert the correct
var $# (=number of args) here. under normal conditions this had no impact,
but we should at least correct it. the error was observable like this:
root@box:~ [ -e "/etc/functions.sh" ] && . /etc/functions.sh
root@box:~ [ -e "/lib/functions.sh" ] && . /lib/functions.sh
root@box:~ . /lib/upgrade/platform.sh
root@box:~ . /lib/upgrade/common.sh
root@box:~ platform_check_image /tmp/myfirmware.bin
ash: bad number
root@box:~ echo $?
0
Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>
SVN-Revision: 40915
The first switch case is default case. Then it will only
match default case. cause not update the lan/wan mac address.
And in the default switch case the param lan_mac is empty.
it will case error message 'arithmetic syntax error' when
call macaddr_add function.
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 40910
It is base on rt3662 soc with dual band 802.11n
wireless router. Use rtl8367R switch chip.
This patch adds a profile for this board.
It use seama image header. so i also enable it
on kernel config.
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 40908
Hi Hartmut,
Thanks for your feedback, I have reformated the patch accordingly.
Added support for Teltonika RUT5XX hardware.
Signed-off-by: Steffen Weinreich <steve@weinreich.org>
SVN-Revision: 40907
This patch adds "Asus RT-N10+" as a target option in menuconfig. The device has been supported for a while but is currently missing a profile (.mk).
Signed-off-by: Randolph Kuntz <8D961920@galaxymail.org>
SVN-Revision: 40903
This patch adds support for the PCIe controller
In addition to the PCIe controller a sprom is now provided by a device
tree driver to bcma from some nvram.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 40880
Support is added only for kernel 3.14 - do not show it until
the switch is made.
Following uboot env changes are needed to make it work on stock uboot:
550-ubifs-symlink-xattr-support.patch contains a reference to the
by now obsolete config symbol CONFIG_UBIFS_FS_XATTR which leads to
the functionality originally added by the patch in r30794 being
left-out during compile since commit 1bdcc63112a0
("UBIFS: remove xattr Kconnfig option") in v3.5.
Fix this by removing the #ifdef from all affected kernels as XATTR
support is now always enabled for UBIFS as well.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 40864
Revert the tagged + untagged rework for now due to regressions in
vlan setup on certain AR83xx switches.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
SVN-Revision: 40842
The most important one is qca_force_host_mode, which also sets the
'Stream Disable' bit in the usbmode register.
Fixes usb stability issues on AR933x and AR7241/AR7242
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 40841
Replace the global "vlan_tagged" variable with an array storing the
tagging state per vlan.
The code was taken from #12181, tested and cleaned up by Saverio Proto
with additional bug fixes supplied by Álvaro Fernández.
Tested-by: Jo-Philipp Wich <jow@openwrt.org>
Signed-off-by: Saverio Proto <zioproto@gmail.com>
Signed-off-by: Álvaro Fernández <noltari@gmail.com>
SVN-Revision: 40777
We should be more careful and don't generate 128K JFFS2 images for
devices with flashes using 64K blocks (nor the other way).
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 40762
The change is the same as ("kernel/generic: modify mtd related
patches"). Since these files are under files directory, not a files
directory of specific kernel version, better to also change them. So
it will avoid adding files to future specific files directory
(e.g. files-3.14) for this mtd related change.
Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>
SVN-Revision: 40732
Function register_mtd_parser always returned 0 (at least since v3.3)
before being changed to return void in v3.14-rc1~65^2~93 (mtd: make
register_mtd_parser return void), so it's not needed to check the
return value of this function. Also add __init flag to caller.
This fix compile errors in 3.14 kernel like:
drivers/mtd/mtdsplit_seama.c: In function 'mtdsplit_seama_init':
drivers/mtd/mtdsplit_seama.c:99:2: error: void value not ignored as it ought to be
return register_mtd_parser(&mtdsplit_seama_parser);
^
Signed-off-by: Zhao, Gang <gamerh2o@gmail.com>
SVN-Revision: 40731
While at it, make spelling at little bit more consistent,
at least for my taste :-)
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
SVN-Revision: 40679
There are two packages with the name kmod-usb-mxs-phy in OpenWrt which
causes warnings on every build.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 40663