mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
test: fix test/dm/regmap.c
regmap_read() only fills the first two bytes of val. The last two bytes are random data from the stack. This means the test will fail randomly. For low endian systems we could simply initialize val to 0 and get correct results. But tests should not depend on endianness. So let's use a pointer conversion instead. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
fd90aca329
commit
1b8897c63e
1 changed files with 5 additions and 4 deletions
|
@ -286,7 +286,8 @@ U_BOOT_DRIVER(regmap_test) = {
|
||||||
static int dm_test_devm_regmap(struct unit_test_state *uts)
|
static int dm_test_devm_regmap(struct unit_test_state *uts)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
u32 val;
|
u16 val;
|
||||||
|
void *valp = &val;
|
||||||
u16 pattern[REGMAP_TEST_BUF_SZ];
|
u16 pattern[REGMAP_TEST_BUF_SZ];
|
||||||
u16 *buffer;
|
u16 *buffer;
|
||||||
struct udevice *dev;
|
struct udevice *dev;
|
||||||
|
@ -311,7 +312,7 @@ static int dm_test_devm_regmap(struct unit_test_state *uts)
|
||||||
ut_assertok(regmap_write(priv->cfg_regmap, i, pattern[i]));
|
ut_assertok(regmap_write(priv->cfg_regmap, i, pattern[i]));
|
||||||
}
|
}
|
||||||
for (i = 0; i < REGMAP_TEST_BUF_SZ; i++) {
|
for (i = 0; i < REGMAP_TEST_BUF_SZ; i++) {
|
||||||
ut_assertok(regmap_read(priv->cfg_regmap, i, &val));
|
ut_assertok(regmap_read(priv->cfg_regmap, i, valp));
|
||||||
ut_asserteq(val, buffer[i]);
|
ut_asserteq(val, buffer[i]);
|
||||||
ut_asserteq(val, pattern[i]);
|
ut_asserteq(val, pattern[i]);
|
||||||
}
|
}
|
||||||
|
@ -319,9 +320,9 @@ static int dm_test_devm_regmap(struct unit_test_state *uts)
|
||||||
ut_asserteq(-ERANGE, regmap_write(priv->cfg_regmap, REGMAP_TEST_BUF_SZ,
|
ut_asserteq(-ERANGE, regmap_write(priv->cfg_regmap, REGMAP_TEST_BUF_SZ,
|
||||||
val));
|
val));
|
||||||
ut_asserteq(-ERANGE, regmap_read(priv->cfg_regmap, REGMAP_TEST_BUF_SZ,
|
ut_asserteq(-ERANGE, regmap_read(priv->cfg_regmap, REGMAP_TEST_BUF_SZ,
|
||||||
&val));
|
valp));
|
||||||
ut_asserteq(-ERANGE, regmap_write(priv->cfg_regmap, -1, val));
|
ut_asserteq(-ERANGE, regmap_write(priv->cfg_regmap, -1, val));
|
||||||
ut_asserteq(-ERANGE, regmap_read(priv->cfg_regmap, -1, &val));
|
ut_asserteq(-ERANGE, regmap_read(priv->cfg_regmap, -1, valp));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue