From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Denk Date: Thu, 24 Sep 2015 09:18:39 +0200 Subject: [U-Boot] [PATCH v7 2/6] spi: cadence_qspi: fix indirect read/write start address In-Reply-To: <1443053976-9112-3-git-send-email-vikas.manocha@st.com> References: <1443053976-9112-1-git-send-email-vikas.manocha@st.com> <1443053976-9112-3-git-send-email-vikas.manocha@st.com> Message-ID: <20150924071839.CDBDA380695@gemini.denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Dear Vikas, In message <1443053976-9112-3-git-send-email-vikas.manocha@st.com> you wrote: > Indirect read/write start addresses are flash start addresses for indirect read > or write transfers. These should be absolute flash addresses instead of > offsets. ... > /* Get address */ > addr_value = cadence_qspi_apb_cmd2addr(&cmdbuf[1], addr_bytes); > - writel(addr_value, plat->regbase + CQSPI_REG_INDIRECTRDSTARTADDR); > + writel((u32)plat->ahbbase + addr_value, > + plat->regbase + CQSPI_REG_INDIRECTRDSTARTADDR); ... > /* Setup write address. */ > reg = cadence_qspi_apb_cmd2addr(&cmdbuf[1], addr_bytes); > - writel(reg, plat->regbase + CQSPI_REG_INDIRECTWRSTARTADDR); > + writel((u32)plat->ahbbase + reg, > + plat->regbase + CQSPI_REG_INDIRECTWRSTARTADDR); As has been pointed out before, adding type casts to silence compiler warnings is inherently wrong. The compiler issues a warning here to tell you that your code is broken, so you should fix your code and not silence the warning to paper over it. Please fix. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Voodoo Programming: Things programmers do that they know shouldn't work but they try anyway, and which sometimes actually work, such as recompiling everything. - Karl Lehenbauer