[U-Boot] [PATCH] s5pc1xx: SMDKC100: fix compile warnings

Minkyu Kang mk7.kang at samsung.com
Thu Oct 15 04:19:15 CEST 2009


fix the following compile warnings
warning: dereferencing type-punned pointer will break strict-aliasing rules

Signed-off-by: Minkyu Kang <mk7.kang at samsung.com>
---
 drivers/serial/serial_s5pc1xx.c      |    2 +-
 include/asm-arm/arch-s5pc1xx/clock.h |   88 +++++++++++++++++-----------------
 include/asm-arm/arch-s5pc1xx/gpio.h  |   12 ++--
 include/asm-arm/arch-s5pc1xx/pwm.h   |   36 +++++++-------
 include/asm-arm/arch-s5pc1xx/uart.h  |   18 ++++----
 include/linux/mtd/samsung_onenand.h  |   70 +++++++++++++-------------
 6 files changed, 113 insertions(+), 113 deletions(-)

diff --git a/drivers/serial/serial_s5pc1xx.c b/drivers/serial/serial_s5pc1xx.c
index 64c1dcc..68c06a9 100644
--- a/drivers/serial/serial_s5pc1xx.c
+++ b/drivers/serial/serial_s5pc1xx.c
@@ -74,7 +74,7 @@ void serial_setbrg_dev(const int dev_index)
 	val = pclk / baudrate;
 
 	writel(val / 16 - 1, &uart->ubrdiv);
-	writel(udivslot[val % 16], &uart->udivslot);
+	writew(udivslot[val % 16], &uart->udivslot);
 }
 
 /*
diff --git a/include/asm-arm/arch-s5pc1xx/clock.h b/include/asm-arm/arch-s5pc1xx/clock.h
index 0cad922..7b4eb89 100644
--- a/include/asm-arm/arch-s5pc1xx/clock.h
+++ b/include/asm-arm/arch-s5pc1xx/clock.h
@@ -25,69 +25,69 @@
 
 #ifndef __ASSEMBLY__
 struct s5pc100_clock {
-	unsigned long	apll_lock;
-	unsigned long	mpll_lock;
-	unsigned long	epll_lock;
-	unsigned long	hpll_lock;
+	unsigned int	apll_lock;
+	unsigned int	mpll_lock;
+	unsigned int	epll_lock;
+	unsigned int	hpll_lock;
 	unsigned char	res1[0xf0];
-	unsigned long	apll_con;
-	unsigned long	mpll_con;
-	unsigned long	epll_con;
-	unsigned long	hpll_con;
+	unsigned int	apll_con;
+	unsigned int	mpll_con;
+	unsigned int	epll_con;
+	unsigned int	hpll_con;
 	unsigned char	res2[0xf0];
-	unsigned long	src0;
-	unsigned long	src1;
-	unsigned long	src2;
-	unsigned long	src3;
+	unsigned int	src0;
+	unsigned int	src1;
+	unsigned int	src2;
+	unsigned int	src3;
 	unsigned char	res3[0xf0];
-	unsigned long	div0;
-	unsigned long	div1;
-	unsigned long	div2;
-	unsigned long	div3;
-	unsigned long	div4;
+	unsigned int	div0;
+	unsigned int	div1;
+	unsigned int	div2;
+	unsigned int	div3;
+	unsigned int	div4;
 	unsigned char	res4[0x1ec];
-	unsigned long	gate_d00;
-	unsigned long	gate_d01;
-	unsigned long	gate_d02;
+	unsigned int	gate_d00;
+	unsigned int	gate_d01;
+	unsigned int	gate_d02;
 	unsigned char	res5[0x54];
-	unsigned long	gate_sclk0;
-	unsigned long	gate_sclk1;
+	unsigned int	gate_sclk0;
+	unsigned int	gate_sclk1;
 };
 
 struct s5pc110_clock {
-	unsigned long	apll_lock;
+	unsigned int	apll_lock;
 	unsigned char	res1[0x4];
-	unsigned long	mpll_lock;
+	unsigned int	mpll_lock;
 	unsigned char	res2[0x4];
-	unsigned long	epll_lock;
+	unsigned int	epll_lock;
 	unsigned char	res3[0xc];
-	unsigned long	vpll_lock;
+	unsigned int	vpll_lock;
 	unsigned char	res4[0xdc];
-	unsigned long	apll_con;
+	unsigned int	apll_con;
 	unsigned char	res5[0x4];
-	unsigned long	mpll_con;
+	unsigned int	mpll_con;
 	unsigned char	res6[0x4];
-	unsigned long	epll_con;
+	unsigned int	epll_con;
 	unsigned char	res7[0xc];
-	unsigned long	vpll_con;
+	unsigned int	vpll_con;
 	unsigned char	res8[0xdc];
-	unsigned long	src0;
-	unsigned long	src1;
-	unsigned long	src2;
-	unsigned long	src3;
+	unsigned int	src0;
+	unsigned int	src1;
+	unsigned int	src2;
+	unsigned int	src3;
 	unsigned char	res9[0xf0];
-	unsigned long	div0;
-	unsigned long	div1;
-	unsigned long	div2;
-	unsigned long	div3;
-	unsigned long	div4;
+	unsigned int	div0;
+	unsigned int	div1;
+	unsigned int	div2;
+	unsigned int	div3;
+	unsigned int	div4;
 	unsigned char	res10[0x1ec];
-	unsigned long	gate_d00;
-	unsigned long	gate_d01;
-	unsigned long	gate_d02;
+	unsigned int	gate_d00;
+	unsigned int	gate_d01;
+	unsigned int	gate_d02;
 	unsigned char	res11[0x54];
-	unsigned long	gate_sclk0;
-	unsigned long	gate_sclk1;
+	unsigned int	gate_sclk0;
+	unsigned int	gate_sclk1;
 };
 #endif
 
diff --git a/include/asm-arm/arch-s5pc1xx/gpio.h b/include/asm-arm/arch-s5pc1xx/gpio.h
index 0010405..afbc7ea 100644
--- a/include/asm-arm/arch-s5pc1xx/gpio.h
+++ b/include/asm-arm/arch-s5pc1xx/gpio.h
@@ -23,12 +23,12 @@
 
 #ifndef __ASSEMBLY__
 struct s5pc1xx_gpio_bank {
-	unsigned long	con;
-	unsigned long	dat;
-	unsigned long	pull;
-	unsigned long	drv;
-	unsigned long	pdn_con;
-	unsigned long	pdn_pull;
+	unsigned int	con;
+	unsigned int	dat;
+	unsigned int	pull;
+	unsigned int	drv;
+	unsigned int	pdn_con;
+	unsigned int	pdn_pull;
 	unsigned char	res1[8];
 };
 
diff --git a/include/asm-arm/arch-s5pc1xx/pwm.h b/include/asm-arm/arch-s5pc1xx/pwm.h
index 53c23cd..e02a8d8 100644
--- a/include/asm-arm/arch-s5pc1xx/pwm.h
+++ b/include/asm-arm/arch-s5pc1xx/pwm.h
@@ -35,24 +35,24 @@
 
 #ifndef __ASSEMBLY__
 struct s5pc1xx_timer {
-	unsigned long	tcfg0;
-	unsigned long	tcfg1;
-	unsigned long	tcon;
-	unsigned long	tcntb0;
-	unsigned long	tcmpb0;
-	unsigned long	tcnto0;
-	unsigned long	tcntb1;
-	unsigned long	tcmpb1;
-	unsigned long	tcnto1;
-	unsigned long	tcntb2;
-	unsigned long	tcmpb2;
-	unsigned long	tcnto2;
-	unsigned long	tcntb3;
-	unsigned long	res1;
-	unsigned long	tcnto3;
-	unsigned long	tcntb4;
-	unsigned long	tcnto4;
-	unsigned long	tintcstat;
+	unsigned int	tcfg0;
+	unsigned int	tcfg1;
+	unsigned int	tcon;
+	unsigned int	tcntb0;
+	unsigned int	tcmpb0;
+	unsigned int	tcnto0;
+	unsigned int	tcntb1;
+	unsigned int	tcmpb1;
+	unsigned int	tcnto1;
+	unsigned int	tcntb2;
+	unsigned int	tcmpb2;
+	unsigned int	tcnto2;
+	unsigned int	tcntb3;
+	unsigned int	res1;
+	unsigned int	tcnto3;
+	unsigned int	tcntb4;
+	unsigned int	tcnto4;
+	unsigned int	tintcstat;
 };
 #endif	/* __ASSEMBLY__ */
 
diff --git a/include/asm-arm/arch-s5pc1xx/uart.h b/include/asm-arm/arch-s5pc1xx/uart.h
index bd7d6b2..140dbdc 100644
--- a/include/asm-arm/arch-s5pc1xx/uart.h
+++ b/include/asm-arm/arch-s5pc1xx/uart.h
@@ -25,19 +25,19 @@
 
 #ifndef __ASSEMBLY__
 struct s5pc1xx_uart {
-	unsigned long	ulcon;
-	unsigned long	ucon;
-	unsigned long	ufcon;
-	unsigned long	umcon;
-	unsigned long	utrstat;
-	unsigned long	uerstat;
-	unsigned long	ufstat;
-	unsigned long	umstat;
+	unsigned int	ulcon;
+	unsigned int	ucon;
+	unsigned int	ufcon;
+	unsigned int	umcon;
+	unsigned int	utrstat;
+	unsigned int	uerstat;
+	unsigned int	ufstat;
+	unsigned int	umstat;
 	unsigned char	utxh;
 	unsigned char	res1[3];
 	unsigned char	urxh;
 	unsigned char	res2[3];
-	unsigned long	ubrdiv;
+	unsigned int	ubrdiv;
 	unsigned short	udivslot;
 	unsigned char	res3[2];
 	unsigned char	res4[0x3d0];
diff --git a/include/linux/mtd/samsung_onenand.h b/include/linux/mtd/samsung_onenand.h
index 9865780..021fa27 100644
--- a/include/linux/mtd/samsung_onenand.h
+++ b/include/linux/mtd/samsung_onenand.h
@@ -31,75 +31,75 @@
 
 #ifndef __ASSEMBLY__
 struct samsung_onenand {
-	unsigned long	mem_cfg;	/* 0x0000 */
+	unsigned int	mem_cfg;	/* 0x0000 */
 	unsigned char	res1[0xc];
-	unsigned long	burst_len;	/* 0x0010 */
+	unsigned int	burst_len;	/* 0x0010 */
 	unsigned char	res2[0xc];
-	unsigned long	mem_reset;	/* 0x0020 */
+	unsigned int	mem_reset;	/* 0x0020 */
 	unsigned char	res3[0xc];
-	unsigned long	int_err_stat;	/* 0x0030 */
+	unsigned int	int_err_stat;	/* 0x0030 */
 	unsigned char	res4[0xc];
-	unsigned long	int_err_mask;	/* 0x0040 */
+	unsigned int	int_err_mask;	/* 0x0040 */
 	unsigned char	res5[0xc];
-	unsigned long	int_err_ack;	/* 0x0050 */
+	unsigned int	int_err_ack;	/* 0x0050 */
 	unsigned char	res6[0xc];
-	unsigned long	ecc_err_stat;	/* 0x0060 */
+	unsigned int	ecc_err_stat;	/* 0x0060 */
 	unsigned char	res7[0xc];
-	unsigned long	manufact_id;	/* 0x0070 */
+	unsigned int	manufact_id;	/* 0x0070 */
 	unsigned char	res8[0xc];
-	unsigned long	device_id;	/* 0x0080 */
+	unsigned int	device_id;	/* 0x0080 */
 	unsigned char	res9[0xc];
-	unsigned long	data_buf_size;	/* 0x0090 */
+	unsigned int	data_buf_size;	/* 0x0090 */
 	unsigned char	res10[0xc];
-	unsigned long	boot_buf_size;	/* 0x00A0 */
+	unsigned int	boot_buf_size;	/* 0x00A0 */
 	unsigned char	res11[0xc];
-	unsigned long	buf_amount;	/* 0x00B0 */
+	unsigned int	buf_amount;	/* 0x00B0 */
 	unsigned char	res12[0xc];
-	unsigned long	tech;		/* 0x00C0 */
+	unsigned int	tech;		/* 0x00C0 */
 	unsigned char	res13[0xc];
-	unsigned long	fba;		/* 0x00D0 */
+	unsigned int	fba;		/* 0x00D0 */
 	unsigned char	res14[0xc];
-	unsigned long	fpa;		/* 0x00E0 */
+	unsigned int	fpa;		/* 0x00E0 */
 	unsigned char	res15[0xc];
-	unsigned long	fsa;		/* 0x00F0 */
+	unsigned int	fsa;		/* 0x00F0 */
 	unsigned char	res16[0x3c];
-	unsigned long	sync_mode;	/* 0x0130 */
+	unsigned int	sync_mode;	/* 0x0130 */
 	unsigned char	res17[0xc];
-	unsigned long	trans_spare;	/* 0x0140 */
+	unsigned int	trans_spare;	/* 0x0140 */
 	unsigned char	res18[0x3c];
-	unsigned long	err_page_addr;	/* 0x0180 */
+	unsigned int	err_page_addr;	/* 0x0180 */
 	unsigned char	res19[0x1c];
-	unsigned long	int_pin_en;	/* 0x01A0 */
+	unsigned int	int_pin_en;	/* 0x01A0 */
 	unsigned char	res20[0x1c];
-	unsigned long	acc_clock;	/* 0x01C0 */
+	unsigned int	acc_clock;	/* 0x01C0 */
 	unsigned char	res21[0x1c];
-	unsigned long	err_blk_addr;	/* 0x01E0 */
+	unsigned int	err_blk_addr;	/* 0x01E0 */
 	unsigned char	res22[0xc];
-	unsigned long	flash_ver_id;	/* 0x01F0 */
+	unsigned int	flash_ver_id;	/* 0x01F0 */
 	unsigned char	res23[0x6c];
-	unsigned long	watchdog_cnt_low;	/* 0x0260 */
+	unsigned int	watchdog_cnt_low;	/* 0x0260 */
 	unsigned char	res24[0xc];
-	unsigned long	watchdog_cnt_hi;	/* 0x0270 */
+	unsigned int	watchdog_cnt_hi;	/* 0x0270 */
 	unsigned char	res25[0xc];
-	unsigned long	sync_write;	/* 0x0280 */
+	unsigned int	sync_write;	/* 0x0280 */
 	unsigned char	res26[0x1c];
-	unsigned long	cold_reset;	/* 0x02A0 */
+	unsigned int	cold_reset;	/* 0x02A0 */
 	unsigned char	res27[0xc];
-	unsigned long	ddp_device;	/* 0x02B0 */
+	unsigned int	ddp_device;	/* 0x02B0 */
 	unsigned char	res28[0xc];
-	unsigned long	multi_plane;	/* 0x02C0 */
+	unsigned int	multi_plane;	/* 0x02C0 */
 	unsigned char	res29[0x1c];
-	unsigned long	trans_mode;	/* 0x02E0 */
+	unsigned int	trans_mode;	/* 0x02E0 */
 	unsigned char	res30[0x1c];
-	unsigned long	ecc_err_stat2;	/* 0x0300 */
+	unsigned int	ecc_err_stat2;	/* 0x0300 */
 	unsigned char	res31[0xc];
-	unsigned long	ecc_err_stat3;	/* 0x0310 */
+	unsigned int	ecc_err_stat3;	/* 0x0310 */
 	unsigned char	res32[0xc];
-	unsigned long	ecc_err_stat4;	/* 0x0320 */
+	unsigned int	ecc_err_stat4;	/* 0x0320 */
 	unsigned char	res33[0x1c];
-	unsigned long	dev_page_size;	/* 0x0340 */
+	unsigned int	dev_page_size;	/* 0x0340 */
 	unsigned char	res34[0x4c];
-	unsigned long	int_mon_status;	/* 0x0390 */
+	unsigned int	int_mon_status;	/* 0x0390 */
 };
 #endif
 
-- 
1.5.4.3


More information about the U-Boot mailing list