From: Simon Glass Date: Thu, 26 Mar 2015 15:29:31 +0000 (-0600) Subject: cros_ec: Reinit the cros_ec device when 'crosec init' is used X-Git-Tag: KARO-TX6-2015-09-18~2731 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=1c47e8878608a7a9af638c37f1ba4a8c2cf25d22;p=karo-tx-uboot.git cros_ec: Reinit the cros_ec device when 'crosec init' is used This command is supposed to reinit the device. At present with driver model is does nothing. Implement this feature. Signed-off-by: Simon Glass --- diff --git a/drivers/misc/cros_ec.c b/drivers/misc/cros_ec.c index efcad89eb0..6d4d04561c 100644 --- a/drivers/misc/cros_ec.c +++ b/drivers/misc/cros_ec.c @@ -1606,13 +1606,19 @@ static int do_cros_ec(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) cmd = argv[1]; if (0 == strcmp("init", cmd)) { -#ifndef CONFIG_DM_CROS_EC +#ifdef CONFIG_DM_CROS_EC + /* Remove any existing device */ + ret = uclass_find_device(UCLASS_CROS_EC, 0, &udev); + if (!ret) + device_remove(udev); + ret = uclass_get_device(UCLASS_CROS_EC, 0, &udev); +#else ret = cros_ec_init(gd->fdt_blob, &dev); +#endif if (ret) { printf("Could not init cros_ec device (err %d)\n", ret); return 1; } -#endif return 0; }