diff options
Diffstat (limited to 'ene_lpc.c')
| -rw-r--r-- | ene_lpc.c | 19 | 
1 files changed, 14 insertions, 5 deletions
@@ -513,11 +513,23 @@ static struct spi_master spi_master_ene = {  	.write_256 = default_spi_write_256,  }; +static int check_params(void) +{ +	int ret = 0; +	char *const p = extract_programmer_param("type"); +	if (p && strcmp(p, "ec")) { +		msg_pdbg("ene_lpc only supports \"ec\" type devices\n"); +		ret = 1; +	} + +	free(p); +	return ret; +} +  int ene_lpc_init()  {  	uint8_t hwver, ediid, i;  	int ret = 0; -	char *p = NULL;  	ene_lpc_data_t *ctx_data = NULL;  	msg_pdbg("%s\n", __func__); @@ -529,9 +541,7 @@ int ene_lpc_init()  	}  	ctx_data->ec_state = EC_STATE_NORMAL; -	p = extract_programmer_param("type"); -	if (p && strcmp(p, "ec")) { -		msg_pdbg("ene_lpc only supports \"ec\" type devices\n"); +	if (check_params()) {  		ret = 1;  		goto ene_probe_spi_flash_exit;  	} @@ -572,7 +582,6 @@ int ene_lpc_init()  	msg_pdbg("%s: successfully initialized ene\n", __func__);  ene_probe_spi_flash_exit: -	free(p);  	if (ret)  		free(ctx_data);  	return ret;  | 
