board/mbx8xx/mbx8xx.c: Fix GCC 4.6 build warnings

Fix:
mbx8xx.c: In function 'mbx_init':
mbx8xx.c:127:15: warning: variable 'refclock' set but not used
[-Wunused-but-set-variable]
mbx8xx.c: In function 'board_get_cpufreq':
mbx8xx.c:231:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]
mbx8xx.c: In function 'get_reffreq':
mbx8xx.c:242:2: warning: dereferencing type-punned pointer will break
strict-aliasing rules [-Wstrict-aliasing]

Signed-off-by: Wolfgang Denk <wd@denx.de>
This commit is contained in:
Wolfgang Denk 2011-11-04 15:55:44 +00:00
parent 4d4aebaa01
commit f053432a72
1 changed files with 12 additions and 5 deletions

View File

@ -117,14 +117,16 @@ static const uint sdram_table_50[] = {
/* ------------------------------------------------------------------------- */
#ifdef CONFIG_SYS_USE_OSCCLK
static unsigned int get_reffreq(void);
#endif
static unsigned int board_get_cpufreq(void);
void mbx_init (void)
{
volatile immap_t *immr = (immap_t *) CONFIG_SYS_IMMR;
volatile memctl8xx_t *memctl = &immr->im_memctl;
ulong speed, refclock, plprcr, sccr;
ulong speed, plprcr, sccr;
ulong br0_32 = memctl->memc_br0 & 0x400;
/* real-time clock status and control register */
@ -152,7 +154,6 @@ void mbx_init (void)
immr->im_clkrst.car_sccr = sccr;
speed = board_get_cpufreq ();
refclock = get_reffreq ();
#if ((CONFIG_SYS_PLPRCR & PLPRCR_MF_MSK) != 0)
plprcr = CONFIG_SYS_PLPRCR;
@ -163,7 +164,7 @@ void mbx_init (void)
#endif
#ifdef CONFIG_SYS_USE_OSCCLK /* See doc/README.MBX ! */
plprcr |= ((speed + refclock / 2) / refclock - 1) << 20;
plprcr |= ((speed + get_reffreq() / 2) / refclock - 1) << 20;
#endif
immr->im_clkrstk.cark_plprcrk = KAPWR_KEY;
@ -226,21 +227,27 @@ static unsigned int board_get_cpufreq (void)
{
#ifndef CONFIG_8xx_GCLK_FREQ
vpd_packet_t *packet;
ulong *p;
packet = vpd_find_packet (VPD_PID_ICS);
return *((ulong *) packet->data);
p = (ulong *)packet->data;
return *p;
#else
return((unsigned int)CONFIG_8xx_GCLK_FREQ );
#endif /* CONFIG_8xx_GCLK_FREQ */
}
#ifdef CONFIG_SYS_USE_OSCCLK
static unsigned int get_reffreq (void)
{
vpd_packet_t *packet;
ulong *p;
packet = vpd_find_packet (VPD_PID_RCS);
return *((ulong *) packet->data);
p = (ulong *)packet->data;
return *p;
}
#endif
static void board_get_enetaddr(uchar *addr)
{