In case someone detects a PDA and u-boot sets the 'pda' variable,
and the user does a saveenv, the pda is set in env, and if the
screen is removed, u-boot will still have in the env the 'pda'
variable, even if no screen is attached.
In order to fix this, we have to reset the 'pda' variable,
such that it's not just set if the screen is detected, but also unset
if no screen is detected.
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
ret = w1_get_bus(AT91_PDA_EEPROM_DEFAULT_BUS, &bus);
if (ret)
- return;
+ goto pda_detect_err;
for (device_find_first_child(bus, &dev);
dev;
ret = w1_eeprom_read_buf(dev, AT91_PDA_EEPROM_ID_OFFSET,
(u8 *)buf, AT91_PDA_EEPROM_ID_LENGTH);
if (ret)
- return;
+ goto pda_detect_err;
break;
}
}
printf("PDA TM5000 detected\n");
break;
}
+
+pda_detect_err:
env_set("pda", (const char *)buf);
}
#else