From mboxrd@z Thu Jan 1 00:00:00 1970 From: Reinhard Meyer Date: Sat, 14 Aug 2010 21:40:06 +0200 Subject: [U-Boot] Struct SoC access In-Reply-To: References: <4C665CB9.2040406@emk-elektronik.de> <20100814143009.A18461606A5@gemini.denx.de> <4C66CCCF.9080303@emk-elektronik.de> <20100814184641.981AC1606A5@gemini.denx.de> <4C66EECA.5020509@emk-elektronik.de> Message-ID: <4C66F116.7030109@emk-elektronik.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 Mike Frysinger, > On Sat, Aug 14, 2010 at 3:30 PM, Reinhard Meyer wrote: >> #define DBU_ADDR 0xsomething (in a SoC header file) >> >> dbu_t *dbu = (dbu_t *)DBU_ADDR; (in a function) > > needs to be volatile ... > -mike Why? The elements are used as parameters to readl/writel functions: status = readl(&dbu->sr); I am quite sure we are NOT supposed to directly access hardware: status = dbu->sr; Best Regards, Reinhard