
Hi,
On Tue, 2015-09-08 at 15:39 +0530, Jagan Teki wrote:
On 8 September 2015 at 06:48, Chin Liang See clsee@altera.com wrote:
Fix the fdt read for spi-max-frequency as it's contained in the child node. Current state of code is always returning default value.
Signed-off-by: Chin Liang See clsee@altera.com Cc: Dinh Nguyen dinguyen@opensource.altera.com Cc: Dinh Nguyen dinh.linux@gmail.com Cc: Marek Vasut marex@denx.de Cc: Stefan Roese sr@denx.de Cc: Vikas Manocha vikas.manocha@st.com Cc: Jagannadh Teki jteki@openedev.com Cc: Pavel Machek pavel@denx.de
Changes for v2
- Add unsigned casting for plat->max_hz
drivers/spi/cadence_qspi.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c index 23c88d5..8c0f7dd 100644 --- a/drivers/spi/cadence_qspi.c +++ b/drivers/spi/cadence_qspi.c @@ -296,10 +296,6 @@ static int cadence_spi_ofdata_to_platdata(struct udevice *bus) plat->regbase = (void *)data[0]; plat->ahbbase = (void *)data[2];
/* Use 500KHz as a suitable default */
plat->max_hz = fdtdec_get_int(blob, node, "spi-max-frequency",
500000);
/* All other paramters are embedded in the child node */ subnode = fdt_first_subnode(blob, node); if (subnode < 0) {
@@ -307,6 +303,10 @@ static int cadence_spi_ofdata_to_platdata(struct udevice *bus) return -ENODEV; }
/* Use 500KHz as a suitable default */
plat->max_hz = (unsigned int)fdtdec_get_int(blob, subnode,
"spi-max-frequency", 500000);
fdtdec_get_int will return default_val (say 500000 here) or property value from dts which is usually "unsigned", unless wrongly set as -ve value ie reason there is no typecasting used in rest of the code.
But, if still worried, better to add unsigned fdtdec_get_* instead of type casting.
Thanks to Marek, I will use fdt_getprop_u32_default_node to achieve this :)
Thanks Chin Liang
/* Read other parameters from DT */ plat->page_size = fdtdec_get_int(blob, subnode, "page-size", 256); plat->block_size = fdtdec_get_int(blob, subnode, "block-size", 16);
-- 1.7.7.4
thanks!