On 02/02/2017 15:56, Jagan Teki wrote: > Instead of initializing 'struct src' to SRC_BASE_ADDR on > every function better to have global define macro. > > Cc: Stefano Babic <sba...@denx.de> > Signed-off-by: Jagan Teki <ja...@openedev.com> > --- > arch/arm/imx-common/init.c | 6 ++---- > arch/arm/imx-common/spl.c | 3 +-- > arch/arm/include/asm/arch-mx6/imx-regs.h | 2 ++ > arch/arm/include/asm/imx-common/sys_proto.h | 4 +--- > 4 files changed, 6 insertions(+), 9 deletions(-) > > diff --git a/arch/arm/imx-common/init.c b/arch/arm/imx-common/init.c > index 036ebb2..5b4f828 100644 > --- a/arch/arm/imx-common/init.c > +++ b/arch/arm/imx-common/init.c > @@ -119,11 +119,9 @@ void boot_mode_apply(unsigned cfg_val) > #if defined(CONFIG_MX6) > u32 imx6_src_get_boot_mode(void) > { > - struct src *psrc = (struct src *)SRC_BASE_ADDR; > - > if (imx6_is_bmode_from_gpr9()) > - return readl(&psrc->gpr9); > + return readl(&src_base->gpr9); > else > - return readl(&psrc->sbmr1); > + return readl(&src_base->sbmr1); > } > #endif > diff --git a/arch/arm/imx-common/spl.c b/arch/arm/imx-common/spl.c > index acf268d..c8723bb 100644 > --- a/arch/arm/imx-common/spl.c > +++ b/arch/arm/imx-common/spl.c > @@ -19,8 +19,7 @@ > /* determine boot device from SRC_SBMR1 (BOOT_CFG[4:1]) or SRC_GPR9 register > */ > u32 spl_boot_device(void) > { > - struct src *psrc = (struct src *)SRC_BASE_ADDR; > - unsigned int bmode = readl(&psrc->sbmr2); > + unsigned int bmode = readl(&src_base->sbmr2); > u32 reg = imx6_src_get_boot_mode(); > > /* > diff --git a/arch/arm/include/asm/arch-mx6/imx-regs.h > b/arch/arm/include/asm/arch-mx6/imx-regs.h > index 6727c56..646013d 100644 > --- a/arch/arm/include/asm/arch-mx6/imx-regs.h > +++ b/arch/arm/include/asm/arch-mx6/imx-regs.h > @@ -473,6 +473,8 @@ struct src { > u32 gpr10; > }; > > +#define src_base ((struct src *)SRC_BASE_ADDR) > + > #define SRC_SCR_M4_ENABLE_OFFSET 22 > #define SRC_SCR_M4_ENABLE_MASK (1 << 22) > #define SRC_SCR_M4C_NON_SCLR_RST_OFFSET 4 > diff --git a/arch/arm/include/asm/imx-common/sys_proto.h > b/arch/arm/include/asm/imx-common/sys_proto.h > index ba95641..673527a 100644 > --- a/arch/arm/include/asm/imx-common/sys_proto.h > +++ b/arch/arm/include/asm/imx-common/sys_proto.h > @@ -78,9 +78,7 @@ enum imx6_bmode { > > static inline u8 imx6_is_bmode_from_gpr9(void) > { > - struct src *psrc = (struct src *)SRC_BASE_ADDR; > - > - return readl(&psrc->gpr10) & IMX6_SRC_GPR10_BMODE; > + return readl(&src_base->gpr10) & IMX6_SRC_GPR10_BMODE; > } > > u32 imx6_src_get_boot_mode(void); >
Reviewed by : Stefano Babic |sba...@denx.de> Best regards, Stefano Babic -- Meet DENX at the Embedded World Trade Show 14 Mar - 16 Mar 2017, Nuremberg Trade Fair Centre, Hall 4, Booth 581 -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot