[U-Boot] [PATCH v3 13/13] net: fastboot: Merge AOSP UDP fastboot

Simon Glass sjg at chromium.org
Mon May 14 19:53:35 UTC 2018


Hi Alex,

On 14 May 2018 at 03:09, Alex Kiernan <alex.kiernan at gmail.com> wrote:
> Merge UDP fastboot support from AOSP:
>
>   https://android.googlesource.com/platform/external/u-boot/+/android-o-mr1-iot-preview-8
>
> Signed-off-by: Alex Kiernan <alex.kiernan at gmail.com>
> Signed-off-by: Alex Deymo <deymo at google.com>
> Signed-off-by: Jocelyn Bohr <bohr at google.com>
> ---
>
> Changes in v3:
> - use FASTBOOT as our guard in Kconfig not a list of USB || UDP
> - correct mis-translation from AOSP introduced when cleaning up for
>   checkpatch - we should write when buffer is not NULL, rather than
>   erasing, and erase when buffer is NULL
> - use CMD_RET_USAGE from do_fastboot
> - remove do_fastboot_udp from cmd/net.c and rewrite using net_loop()
> - rename timed_send_info to fastboot_send_info, rename fastboot_send_info to
>   fastboot_udp_send_info
> - replace FASTBOOT_HEADER_SIZE with sizeof(struct fastboot_header)
> - move start time into timed_send_info() rather than passing it in
> - make calls to fastboot_udp_send_info a runtime dependency, not a compile
>   time one
> - set ${filesize} to size of downloaded image
> - add progress meter from USB path during download
> - add support for 'oem format' command from the USB path
> - rename 'fastbootcmd' to 'fastboot_bootcmd' to make clear that this is the
>   fastboot boot command
> - make getvar implementation table driven
> - add fastboot_buf_addr, fastboot_buf_size to override buffer address and
>   size
> - return correct filesystem type in getvar partition-type on MMC
> - process "fastboot." prefixed env variables in getvar first so you
>   can override the normal values (this also lets you set a fs type for
>   NAND devices)
> - squash subsequent patches which change this code into this one:
>   - If the fastboot flash/erase commands are disabled, remove that support
>     so we still build correctly.
>   - Add NAND support to fastboot UDP flash/erase commands
>   - If we don't have a partition name passed, report it as not found.
>   - Change the behaviour of the fastboot net code such that
>     "reboot-bootloader" is no longer written to CONFIG_FASTBOOT_BUF_ADDR for
>     use as a marker on reboot (the AOSP code in common/android-bootloader.c
>     uses this marker - this code could be reinstated there if that gets
>     merged).
>   - Merge USB and UDP boot code. The USB implementation stays the same, but
>     UDP no longer passes an fdt. We introduce a new environment variable
>     'fastboot_bootcmd' which if set overrides the hardcoded boot command,
>     setting this then allows the UDP implementation to remain the same. If
>     after running 'fastboot_bootcmd' the board has not booted, control is
>     returned to U-Boot and the fastboot process ends.
>   - Separate the fastboot protocol handling from the fastboot UDP code in
>     preparation for reusing it in the USB code.
>
> Changes in v2:
> - ensure fastboot syntax is backward compatible - 'fastboot 0' means
>   'fastboot usb 0'
>
>  cmd/fastboot.c                |  91 ++++++++++++-
>  drivers/fastboot/Kconfig      |  15 ++
>  drivers/fastboot/Makefile     |   2 +
>  drivers/fastboot/fb_command.c | 258 +++++++++++++++++++++++++++++++++++
>  drivers/fastboot/fb_common.c  |  48 +++++++
>  drivers/fastboot/fb_getvar.c  | 222 ++++++++++++++++++++++++++++++
>  drivers/fastboot/fb_mmc.c     |  67 ++++++++-
>  drivers/fastboot/fb_nand.c    |  12 +-
>  include/fastboot.h            |  47 +++++++
>  include/fb_mmc.h              |   8 +-
>  include/fb_nand.h             |  10 +-
>  include/net.h                 |   2 +-
>  include/net/fastboot.h        |  21 +++
>  net/Makefile                  |   1 +
>  net/fastboot.c                | 310 ++++++++++++++++++++++++++++++++++++++++++
>  net/net.c                     |   7 +
>  16 files changed, 1105 insertions(+), 16 deletions(-)
>  create mode 100644 drivers/fastboot/fb_command.c
>  create mode 100644 drivers/fastboot/fb_getvar.c
>  create mode 100644 include/net/fastboot.h
>  create mode 100644 net/fastboot.c

Reviewed-by: Simon Glass <sjg at chromium.org>

Please can you add function comments to the rest of the fastboot.h
stuff, see if you can remove the global variables in that file, and
also add function comments to non-trivial static functions?

Regards,
Simon


More information about the U-Boot mailing list