memory: emif: Load the correct custom config values from dt
authorLokesh Vutla <lokeshvutla@ti.com>
Sat, 16 Mar 2013 06:16:48 +0000 (11:46 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Mar 2013 20:18:13 +0000 (13:18 -0700)
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>
drivers/memory/emif.c

index bd223c7c3e7288b33b65a51990856c36cc16272e..cadf1cc19aafb918d03665815caffb0c11839155 100644 (file)
@@ -1263,7 +1263,7 @@ static void __init_or_module of_get_custom_configs(struct device_node *np_emif,
 {
        struct emif_custom_configs      *cust_cfgs = NULL;
        int                             len;
-       const int                       *lpmode, *poll_intvl;
+       const __be32                    *lpmode, *poll_intvl;
 
        lpmode = of_get_property(np_emif, "low-power-mode", &len);
        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,
 
        if (lpmode) {
                cust_cfgs->mask |= EMIF_CUSTOM_CONFIG_LPMODE;
-               cust_cfgs->lpmode = *lpmode;
+               cust_cfgs->lpmode = be32_to_cpup(lpmode);
                of_property_read_u32(np_emif,
                                "low-power-mode-timeout-performance",
                                &cust_cfgs->lpmode_timeout_performance);
@@ -1292,7 +1292,8 @@ static void __init_or_module of_get_custom_configs(struct device_node *np_emif,
        if (poll_intvl) {
                cust_cfgs->mask |=
                                EMIF_CUSTOM_CONFIG_TEMP_ALERT_POLL_INTERVAL;
-               cust_cfgs->temp_alert_poll_interval_ms = *poll_intvl;
+               cust_cfgs->temp_alert_poll_interval_ms =
+                                               be32_to_cpup(poll_intvl);
        }
 
        if (of_find_property(np_emif, "extended-temp-part", &len))