1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * Copyright (C) 2017 Masahiro Yamada <yamada.masahiro@socionext.com> 4 */ 5 6#include <common.h> 7#include <command.h> 8#include <gzip.h> 9#include <malloc.h> 10 11#include "config_data_gz.h" 12#include "config_data_size.h" 13 14static int do_config(struct cmd_tbl *cmdtp, int flag, int argc, 15 char *const argv[]) 16{ 17 char *dst; 18 unsigned long len = data_size; 19 int ret = CMD_RET_SUCCESS; 20 21 dst = malloc(data_size + 1); 22 if (!dst) 23 return CMD_RET_FAILURE; 24 25 ret = gunzip(dst, data_size, (unsigned char *)data_gz, &len); 26 if (ret) { 27 printf("failed to uncompress .config data\n"); 28 ret = CMD_RET_FAILURE; 29 goto free; 30 } 31 32 dst[data_size] = 0; 33 puts(dst); 34 35free: 36 free(dst); 37 38 return ret; 39} 40 41U_BOOT_CMD( 42 config, 1, 1, do_config, 43 "print .config", 44 "" 45); 46