diff options
author | Lokesh Vutla <lokeshvutla@ti.com> | 2013-03-16 02:16:48 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-03-25 16:18:13 -0400 |
commit | f57f27bc6ed7106276004dd224aaeeb160a5b4b8 (patch) | |
tree | 91467ef4a24198697de7074b45d7eaa9553bf443 /drivers/memory | |
parent | f02503b2ff73d3b09ca27335304611a206d2b54a (diff) |
memory: emif: Load the correct custom config values from dt
of_get_property returns value in Big Endian format.
Before using this value it should be converted to little endian
using be32_to_cpup().
Custom configs of emif are read from dt using of_get_property,
but these are not converted to litte endian format.
Correcting the same here.
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/memory')
-rw-r--r-- | drivers/memory/emif.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/memory/emif.c b/drivers/memory/emif.c index bd223c7c3e72..cadf1cc19aaf 100644 --- a/drivers/memory/emif.c +++ b/drivers/memory/emif.c | |||
@@ -1263,7 +1263,7 @@ static void __init_or_module of_get_custom_configs(struct device_node *np_emif, | |||
1263 | { | 1263 | { |
1264 | struct emif_custom_configs *cust_cfgs = NULL; | 1264 | struct emif_custom_configs *cust_cfgs = NULL; |
1265 | int len; | 1265 | int len; |
1266 | const int *lpmode, *poll_intvl; | 1266 | const __be32 *lpmode, *poll_intvl; |
1267 | 1267 | ||
1268 | lpmode = of_get_property(np_emif, "low-power-mode", &len); | 1268 | lpmode = of_get_property(np_emif, "low-power-mode", &len); |
1269 | poll_intvl = of_get_property(np_emif, "temp-alert-poll-interval", &len); | 1269 | poll_intvl = of_get_property(np_emif, "temp-alert-poll-interval", &len); |
@@ -1277,7 +1277,7 @@ static void __init_or_module of_get_custom_configs(struct device_node *np_emif, | |||
1277 | 1277 | ||
1278 | if (lpmode) { | 1278 | if (lpmode) { |
1279 | cust_cfgs->mask |= EMIF_CUSTOM_CONFIG_LPMODE; | 1279 | cust_cfgs->mask |= EMIF_CUSTOM_CONFIG_LPMODE; |
1280 | cust_cfgs->lpmode = *lpmode; | 1280 | cust_cfgs->lpmode = be32_to_cpup(lpmode); |
1281 | of_property_read_u32(np_emif, | 1281 | of_property_read_u32(np_emif, |
1282 | "low-power-mode-timeout-performance", | 1282 | "low-power-mode-timeout-performance", |
1283 | &cust_cfgs->lpmode_timeout_performance); | 1283 | &cust_cfgs->lpmode_timeout_performance); |
@@ -1292,7 +1292,8 @@ static void __init_or_module of_get_custom_configs(struct device_node *np_emif, | |||
1292 | if (poll_intvl) { | 1292 | if (poll_intvl) { |
1293 | cust_cfgs->mask |= | 1293 | cust_cfgs->mask |= |
1294 | EMIF_CUSTOM_CONFIG_TEMP_ALERT_POLL_INTERVAL; | 1294 | EMIF_CUSTOM_CONFIG_TEMP_ALERT_POLL_INTERVAL; |
1295 | cust_cfgs->temp_alert_poll_interval_ms = *poll_intvl; | 1295 | cust_cfgs->temp_alert_poll_interval_ms = |
1296 | be32_to_cpup(poll_intvl); | ||
1296 | } | 1297 | } |
1297 | 1298 | ||
1298 | if (of_find_property(np_emif, "extended-temp-part", &len)) | 1299 | if (of_find_property(np_emif, "extended-temp-part", &len)) |