summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-07net: Use packed structures for networkingDenis Pynkin
PXE boot is broken with GCC 7.1 due option '-fstore-merging' enabled by default for '-O2': BOOTP broadcast 1 data abort pc : [<8ff8bb30>] lr : [<00004f1f>] reloc pc : [<17832b30>] lr : [<878abf1f>] sp : 8f558bc0 ip : 00000000 fp : 8ffef5a4 r10: 8ffed248 r9 : 8f558ee0 r8 : 8ffef594 r7 : 0000000e r6 : 8ffed700 r5 : 00000000 r4 : 8ffed74e r3 : 00060101 r2 : 8ffed230 r1 : 8ffed706 r0 : 00000ddd Flags: nzcv IRQs off FIQs off Mode SVC_32 Resetting CPU ... Core reason is usage of structures for network headers without packed attribute. Reviewed-by: Yauheni Kaliuta <yauheni.kaliuta@redhat.com> Signed-off-by: Denis Pynkin <denis.pynkin@collabora.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07net: Fix compile failure in net.cHolger Dengler
Add missing "defined" statement to fix the compile failures. Signed-off-by: Holger Dengler <dengler@linutronix.de> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07net: phy: Add AFE settings to the Broadcom Cygnus phyArun Parameswaran
Added the AFE (Analog Front End) settings for stability to the Broadcom Cygnus phy. This improves the time take to perform auto negotiation. Signed-off-by: Arun Parameswaran <arun.parameswaran@broadcom.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07net: move Broadcom SF2 driver to KconfigSuji Velupillai
move to Kconfig: CONFIG_BCM_SF2_ETH CONFIG_BCM_SF2_ETH_DEFAULT_PORT CONFIG_BCM_SF2_ETH_GMAC Also modified defconfigs of all platforms that use these configs. Signed-off-by: Suji Velupillai <suji.velupillai@broadcom.com> Tested-by: Suji Velupillai <suji.velupillai@broadcom.com> Reviewed-by: JD Zheng <jiandong.zheng@broadcom.com> Reviewed-by: Scott Branden <scott.branden@broadcom.com> Signed-off-by: Steve Rae <steve.rae@raedomain.com> Reviewed-by: Tom Rini <trini@konsulko.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07net: phy: Hide Micrel KSZ9021 and KSZ9031 Kconfig optionsAlexandru Gagniuc
The correct option is PHY_MICREL_KSZ90X1, but some configs still select the 9021 and 9031 options, which are deprecated. Signed-off-by: Alexandru Gagniuc <alex.g@adaptrum.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07net: phy: micrel: Remove ksz90x1 drivers from micrel_ksz8xxxAlexandru Gagniuc
There should be no longer be any ksz9000 users that pick up the PHY driver from ksz8xxx, so remove ksz9000 remnants from there. Signed-off-by: Alexandru Gagniuc <alex.g@adaptrum.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07configs: Replace deprecated Micrel defines with PHY_MICREL_KSZ90X1Alexandru Gagniuc
These boards will now use the ksz90x1 driver instead of the mess in ksz8xxx. This change is needed before the two drivers can be fully separated. Signed-off-by: Alexandru Gagniuc <alex.g@adaptrum.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07net: phy: micrel: Separate KSZ9000 drivers from KSZ8000 driversAlexandru Gagniuc
The KS8721BL and KSZ9021 PHYs are software-incompatible, yet they share the same ID. Drivers for bothe PHYs cannot safely coexist, so the solution was to use #ifdefs to select between the two drivers. As a result KSZ9031, which has a unique ID, is now caught in the crossfire. Unless CONFIG_PHY_MICREL_KSZ9031 is defined, the KSZ9031 will not function properly, as some essential configuration code is ifdef'd-out. To prevent such situations, move the KSZ9000 drivers to a separate file, and place them under a separate Kconfig option. While it is possible to enable both KSZ8000 and KSZ9000 drivers at the same time, the assumption is that it is highly unlikely for a system to contain both a KSZ8000 and a KSZ9000 PHY, and that only one of the drivers will be enabled at any given time. Signed-off-by: Alexandru Gagniuc <alex.g@adaptrum.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07net: phy: Remove duplicate Kconfig selection for Micrel KSZ9021Alexandru Gagniuc
Signed-off-by: Alexandru Gagniuc <alex.g@adaptrum.com> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07net: tftp: silence a subscript above array bounds compile time warningVladimir Zapolskiy
For strncpy() select a minimal string length of destination and source strings, here DEFAULT_NAME_LEN is preferable to MAX_LEN. Due to the NUL-terminated contents of default_string the change is a noop, however it removes a compilation warning if SH2/3/4 platform specific strncpy() function is used: In file included from include/linux/string.h:21:0, from include/common.h:28, from net/tftp.c:9: net/tftp.c: In function 'tftp_start': arch/sh/include/asm/string.h:52:42: warning: array subscript is above array bounds [-Warray-bounds] : "0" (__dest), "1" (__src), "r" (__src+__n) Signed-off-by: Vladimir Zapolskiy <vz@mleia.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07net: ag7xxx: Propagate errors on phy accessJoe Hershberger
Don't wait forever. Pass errors back to the caller. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Marek Vasut <marex@denx.de>
2017-08-07net: ag7xxx: Comment register namesJoe Hershberger
The register constants don't use the exact names that are used in the TRM, so add comments that use the exact names so that it is clear what register is being referred to. https://www.atheros-drivers.com/qualcomm-atheros-datasheets-for-AR9331.html Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Marek Vasut <marex@denx.de>
2017-08-07net: usb: r8152: fix "duplicate 'const' declaration specifier"Philipp Tomsich
After upgrading to GCC 7.1, the duplicate const specifies in the r8152 driver trigger the following build warnings with buildman (observed on a 'buildman rockchip' test):: ../drivers/usb/eth/r8152.c:62:35: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier] static const struct r8152_version const r8152_versions[] = { ^~~~~ This commit fixes these by removing the duplicate 'const' specifier from the declarations. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07net: add static to do_tftpput()Masahiro Yamada
This is only used in cmd/net.c Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07net: Get mac address from driver as seedJimmy Du
Previously seeded by obtaining mac addr from env. If mac addr was never set, rand would output 0. This fix obtains the mac addr from driver instead. Signed-off-by: Jimmy Du <jimmy.du@ni.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-07drivers/net/phy/fixed: do not overwrite addrChristian Gmeiner
phy_device_create(..) sets the addr of phy_device with a sane value. There is no need overwrite it. Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Hannes Schmelzer <oe5hpm@oevsv.at> Tested-by: Hannes Schmelzer <oe5hpm@oevsv.at> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2017-08-05common/env_embedded.c: rename PPCENV/PPCTEXT macrosThomas Petazzoni
The environment has pretty much nothing to do with just "PPC", so rename the macros to just __UBOOT_ENV_SECTION__ which is more readable. In addition, only a single macro is needed: the environment now goes either to the default section (USE_HOSTCC is defined) or in the .text section. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-08-05common/env_embedded.c: drop support for CONFIG_SYS_USE_PPCENVThomas Petazzoni
CONFIG_SYS_USE_PPCENV is no longer used anywhere. It was used to put the environment in the special .ppcenv section, but the last architecture using this section (SuperH) has been changed to not use it. Therefore, this commit drops support for CONFIG_SYS_USE_PPCENV entirely. We only handle two cases: - We're building the host tool tools/envcrc, in which case the environment is place with no special section attribute (so it depends up in .data) - We're building U-Boot itself, in which case the environnement is placed in the .text section. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-08-05Convert ARCH_OMAP2PLUS boards' CONFIG_SYS_TEXT_BASE to KconfigAdam Ford
This converts the following to Kconfig: CONFIG_SYS_TEXT_BASE The includes, whitelist, etc. were left for now but I don't get any build errors or warnings on the omap3_logic_defconfig or am3517_evm_defconfig builds I tried. Signed-off-by: Adam Ford <aford173@gmail.com>
2017-08-05stmf32f4: soc: fix buildman compilation errorPatrice Chotard
fix the following compilation error reported by buidlman: arm: + stm32f429-discovery +arch/arm/mach-stm32/stm32f4/soc.c: In function 'arch_cpu_init': +arch/arm/mach-stm32/stm32f4/soc.c:30:2: error: 'for' loop initial declarations are only allowed in C99 or C11 mode + for (int i = 0; i < ARRAY_SIZE(stm32_region_config); i++) + ^ +arch/arm/mach-stm32/stm32f4/soc.c:30:2: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code +make[3]: *** [arch/arm/mach-stm32/stm32f4/soc.o] Error 1 +make[2]: *** [arch/arm/mach-stm32/stm32f4] Error 2 +make[1]: *** [arch/arm/mach-stm32] Error 2 +make: *** [sub-make] Error 2 Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Acked-by: Vikas Manocha <vikas.manocha@st.com>
2017-08-05configs: sama5d4_xplained: Fix input clock for debug UARTWenyou.Yang@microchip.com
Fix the UART input clock for the early debug UART, it should be 100MHz, instead of 88MHz. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com>
2017-08-05board: usb_a9263: Update to support DT and DMWenyou.Yang@microchip.com
Add the dts files to support deivce tree, update the configuration files to support the device tree and driver model. The peripheral clock and pins configuration are handled by the clock and the pinctrl drivers respectively. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-05board: meesc: Update to support DT and DMWenyou.Yang@microchip.com
Add the dts files to support deivce tree, update the configuration files to support the device tree and driver model. The peripheral clock and pins configuration are handled by the clock and the pinctrl drivers respectively. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-05board: pm9261: Update to support DT and DMWenyou.Yang@microchip.com
Add the dts files to support deivce tree, update the configuration files to support the device tree and driver model. The peripheral clock and pins configuration are handled by the clock and the pinctrl drivers respectively. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-05board: ethernut5: Update to support DT and DMWenyou.Yang@microchip.com
Add the dts files to support deivce tree, update the configuration files to support the device tree and driver model. The peripheral clock and pins configuration are handled by the clock and the pinctrl drivers respectively. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-05board: pm9263: Update to support DT and DMWenyou.Yang@microchip.com
Update the configuration files to support the device tree and driver model. The peripheral clock and pins configuration are handled by the clock and the pinctrl drivers respectively. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-05board: at91sam9260ek: Use SPI-flash-based AT45xxx DataFlashWenyou.Yang@microchip.com
To support driver model and device tree, use the SPI-flash-based AT45xxx DataFlash driver, DataFlash is a kind of SPI flash. Instead of ATMEL_DATAFLASH_SPI DataFlash older driver that will be removed in the future. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-05board: at91sam9rlek: Use SPI-flash-based AT45xxx DataFlashWenyou.Yang@microchip.com
To support driver model and device tree, use the SPI-flash-based AT45xxx DataFlash driver, DataFlash is a kind of SPI flash. Instead of ATMEL_DATAFLASH_SPI DataFlash older driver that will be removed in the future. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-05board: at91sam9263ek: Use SPI-flash-based AT45xxx DataFlashWenyou.Yang@microchip.com
To support driver model and device tree, use the SPI-flash-based AT45xxx DataFlash driver, DataFlash is a kind of SPI flash. Instead of ATMEL_DATAFLASH_SPI DataFlash older driver that will be removed in the future. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-05board: at91sam9261ek: Update to support DT and DMWenyou.Yang@microchip.com
Add the dts files to support deivce tree, update the configuration files to support the device tree and driver model. The peripheral clock and pins configuration are handled by the clock and the pinctrl drivers respectively. Enable the early debug UART to debug problems when an ICE or other debug mechanism is not available. Signed-off-by: Wenyou Yang <wenyou.yang@microchip.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2017-08-05gpt: harden set_gpt_info() against non NULL-terminated stringsAlison Chaiken
Strings read from devices may sometimes fail to be NULL-terminated. The functions in lib/string.c are subject to failure in this case. Protect against observed failures in set_gpt_info() by switching to length-checking variants with a length limit of the maximum possible partition table length. At the same time, add a few checks for NULL string pointers. Here is an example as observed in sandbox under GDB: => gpt verify host 0 $partitions Program received signal SIGSEGV, Segmentation fault. 0x0000000000477747 in strlen (s=0x0) at lib/string.c:267 267 for (sc = s; *sc != '\0'; ++sc) (gdb) bt #0 0x0000000000477747 in strlen (s=0x0) at lib/string.c:267 #1 0x00000000004140b2 in set_gpt_info (str_part=<optimized out>, str_disk_guid=str_disk_guid@entry=0x7fffffffdbe8, partitions=partitions@entry=0x7fffffffdbd8, parts_count=parts_count@entry=0x7fffffffdbcf "", dev_desc=<optimized out>) at cmd/gpt.c:415 #2 0x00000000004145b9 in gpt_verify (str_part=<optimized out>, blk_dev_desc=0x7fffef09a9d0) at cmd/gpt.c:580 #3 do_gpt (cmdtp=<optimized out>, flag=<optimized out>, argc=<optimized out>, argv=0x7fffef09a8f0) at cmd/gpt.c:783 #4 0x00000000004295b0 in cmd_call (argv=0x7fffef09a8f0, argc=0x5, flag=<optimized out>, cmdtp=0x714e20 <_u_boot_list_2_cmd_2_gpt>) at common/command.c:500 #5 cmd_process (flag=<optimized out>, argc=0x5, argv=0x7fffef09a8f0, repeatable=repeatable@entry=0x726c04 <flag_repeat>, ticks=ticks@entry=0x0) at common/command.c:539 Suggested-by: Lothar Waßmann <LW@karo-electronics.de> Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
2017-08-05GPT: provide commands to selectively rename partitionsAlison Chaiken
This patch provides support in u-boot for renaming GPT partitions. The renaming is accomplished via new 'gpt swap' and 'gpt rename' commands. The 'swap' mode returns an error if no matching partition names are found, or if the number of partitions with one name does not equal the number with the second name. The 'rename' variant always succeeds as long as a partition with the provided number exists. Rewriting the partition table has the side-effect that all partitions end up with "msftdata" flag set. The reason is that partition type PARTITION_BASIC_DATA_GUID is hard-coded in the gpt_fill_pte() function. This does not appear to cause any harm. Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
2017-08-05GPT: read partition table from device into a data structureAlison Chaiken
Make the partition table available for modification by reading it from the user-specified device into a linked list. Provide an accessor function for command-line testing. Signed-off-by: Alison Chaiken <alison@peloton-tech.com> [trini: Make this depend on CMD_GPT_RENAME, as it is the user of this code] Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-04GPT: add accessor function for disk GUIDAlison Chaiken
In order to read the GPT, modify the partition name strings, and then write out a new GPT, the disk GUID is needed. While there is an existing accessor for the partition UUIDs, there is none yet for the disk GUID. Changes since v6: none. Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
2017-08-04partitions: increase MAX_SEARCH_PARTITIONS and move to part.hAlison Chaiken
Move MAX_SEARCH_PARTITIONS to part.h so that functions in cmd directory can find it. At the same time, increase the value to 64 since some operating systems use many, and the resources consumed by a larger value are minimal. Changes since v6: none. Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
2017-08-04cmd gpt: test in sandboxAlison Chaiken
Make minor changes to README.gpt and sandbox_defconfig to support testing of the gpt command's functionality in the sandbox. Changes since v6: none. Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
2017-08-04GPT: fix error in partitions string docAlison Chaiken
The existing partitions-list parsing in cmd/gpt.c passes a value from gpt_default() to set_gpt_info() that README.gpt suggests should begin with 'partitions='. Partition-list strings should in fact begin with 'uuid_disk', as otherwise the call from set_gpt_info() to extract_val() to find 'uuid_disk' will fail. Change README.gpt accordingly. Changes since v6: none. Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
2017-08-04disk_partition: introduce macros for description string lengthsAlison Chaiken
Changes since v6: none. Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
2017-08-04EFI: replace number with UUID_STR_LEN macroAlison Chaiken
Changes since v6: none. Signed-off-by: Alison Chaiken <alison@peloton-tech.com>
2017-08-04Merge tag 'xilinx-for-v2017.09' of git://www.denx.de/git/u-boot-microblazeTom Rini
Xilinx changes for v2017.09 Zynq: - Add Z-Turn board support fpga: - Remove intermediate buffer from code Zynqmp: - dts cleanup - change psu_init handling - Add options to get silicon version - Fix time handling - Map OCM/TCM via MMU - Add new clock driver
2017-08-03PowerPC: mpc85xx: Update ft_verify_fdtTom Rini
With the changes to fdt_get_base_address() we need to modify the logic in ft_verify_fdt() for how we check the validity of the CCSR address. Tested-on: qemu-ppce500 -M mpc8544ds Fixes: 336a44877af8 ("fdt: Correct fdt_get_base_address()") Cc: York Sun <york.sun@nxp.com> Cc: Wolfgang Denk <wd@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-03qemu-ppce500: Update get_phys_ccsrbar_addr_early()Tom Rini
The logic of what fdt_get_base_address() will search for and return has changed. Rework get_phys_ccsrbar_addr_early() to perform the logic that fdt_get_base_address used to perform. Fixes: 336a44877af8 ("fdt: Correct fdt_get_base_address()") Reviewed-by: Simon Glass <sjg@chromium.org> Cc: Alexander Graf <agraf@suse.de> Signed-off-by: Tom Rini <trini@konsulko.com>
2017-08-03ahci-pci: Update call to ahci_probe_scsi_pci()Bin Meng
ahci_probe_scsi() now takes a 'base' argument, and there is an API that prepares base address for us: ahci_probe_scsi_pci(). Reported-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2017-08-02Merge branch 'rmobile' of git://git.denx.de/u-boot-shTom Rini
2017-08-02ARM: rmobile: Update defconfig of R-Car Gen3Nobuhiro Iwamatsu
This updates defconfig of R-Car Gen3 to keep with the latest Kconfig. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2017-08-02net: ravb: Add clock handling supportMarek Vasut
Add support for enabling and disabling the clock using the clock framework based on the content of OF instead of doing it manually in the board file. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2017-08-02net: ravb: Detect PHY correctlyMarek Vasut
The order of parameters passed to the phy_connect() was wrong. Moreover, only PHY address 0 was used. Replace this with code capable of detecting the PHY address. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2017-08-02net: ravb: Add OF probing supportMarek Vasut
Add support for probing the RAVB Ethernet block from device tree. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2017-08-02serial: sh: Use the clock framework to obtain clock configMarek Vasut
Since we now have clock driver on the RCar Gen3 , obtain the clock configuration using the clock framework functions. In case this fails, fall back to the original code for pulling the clock config directly out of OF. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
2017-08-02serial: sh: Convert to KconfigMarek Vasut
Convert the SH Serial to Kconfig using tools/moveconfig.py tool and a bit of manual adjustment to cater for failed conversions. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>