diff options
| author | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-11-26 11:27:36 +0000 | 
|---|---|---|
| committer | Prafulla Wadaskar <prafulla@marvell.com> | 2013-01-09 04:12:10 +0530 | 
| commit | 9d86f0c30bd7e6a7f7a93bc7f12b69ef48a4de19 (patch) | |
| tree | 2512a2db0eefaf0aa2279a05c2b7ca9e6ed25510 | |
| parent | 0a16ea593355d1a0fd415286089961f9c9ad1614 (diff) | |
| download | olio-uboot-2014.01-9d86f0c30bd7e6a7f7a93bc7f12b69ef48a4de19.tar.xz olio-uboot-2014.01-9d86f0c30bd7e6a7f7a93bc7f12b69ef48a4de19.zip | |
kirkwood: make MPP arrays static const
This saves stack and code memory for local copy, and
consumes initialized data memory. For 22 of the 29
kirkwood-based boards, this results in a global saving
of about 30 bytes. For 7 of them, it results in an
increase of 6 to 14 bytes.
Signed-off-by: Albert ARIBAUD <albert.u.boot@aribaud.net>
| -rw-r--r-- | arch/arm/cpu/arm926ejs/kirkwood/mpp.c | 2 | ||||
| -rw-r--r-- | arch/arm/include/asm/arch-kirkwood/mpp.h | 2 | ||||
| -rw-r--r-- | board/LaCie/net2big_v2/net2big_v2.c | 2 | ||||
| -rw-r--r-- | board/LaCie/netspace_v2/netspace_v2.c | 2 | ||||
| -rw-r--r-- | board/Marvell/dreamplug/dreamplug.c | 2 | ||||
| -rw-r--r-- | board/Marvell/guruplug/guruplug.c | 2 | ||||
| -rw-r--r-- | board/Marvell/mv88f6281gtw_ge/mv88f6281gtw_ge.c | 2 | ||||
| -rw-r--r-- | board/Marvell/openrd/openrd.c | 2 | ||||
| -rw-r--r-- | board/Marvell/rd6281a/rd6281a.c | 2 | ||||
| -rw-r--r-- | board/Marvell/sheevaplug/sheevaplug.c | 2 | ||||
| -rw-r--r-- | board/Seagate/dockstar/dockstar.c | 2 | ||||
| -rw-r--r-- | board/buffalo/lsxl/lsxl.c | 2 | ||||
| -rw-r--r-- | board/cloudengines/pogo_e02/pogo_e02.c | 2 | ||||
| -rw-r--r-- | board/d-link/dns325/dns325.c | 2 | ||||
| -rw-r--r-- | board/iomega/iconnect/iconnect.c | 2 | ||||
| -rw-r--r-- | board/karo/tk71/tk71.c | 2 | ||||
| -rw-r--r-- | board/keymile/km_arm/km_arm.c | 2 | ||||
| -rw-r--r-- | board/raidsonic/ib62x0/ib62x0.c | 2 | ||||
| -rw-r--r-- | drivers/spi/kirkwood_spi.c | 12 | 
19 files changed, 23 insertions, 25 deletions
| diff --git a/arch/arm/cpu/arm926ejs/kirkwood/mpp.c b/arch/arm/cpu/arm926ejs/kirkwood/mpp.c index 03eb2de52..0ba6f098c 100644 --- a/arch/arm/cpu/arm926ejs/kirkwood/mpp.c +++ b/arch/arm/cpu/arm926ejs/kirkwood/mpp.c @@ -31,7 +31,7 @@ static u32 kirkwood_variant(void)  #define MPP_CTRL(i)	(KW_MPP_BASE + (i* 4))  #define MPP_NR_REGS	(1 + MPP_MAX/8) -void kirkwood_mpp_conf(u32 *mpp_list, u32 *mpp_save) +void kirkwood_mpp_conf(const u32 *mpp_list, u32 *mpp_save)  {  	u32 mpp_ctrl[MPP_NR_REGS];  	unsigned int variant_mask; diff --git a/arch/arm/include/asm/arch-kirkwood/mpp.h b/arch/arm/include/asm/arch-kirkwood/mpp.h index 8ceea7bb8..48d1477ff 100644 --- a/arch/arm/include/asm/arch-kirkwood/mpp.h +++ b/arch/arm/include/asm/arch-kirkwood/mpp.h @@ -312,6 +312,6 @@  #define MPP_MAX			49 -void kirkwood_mpp_conf(u32 *mpp_list, u32 *mpp_save); +void kirkwood_mpp_conf(const u32 *mpp_list, u32 *mpp_save);  #endif diff --git a/board/LaCie/net2big_v2/net2big_v2.c b/board/LaCie/net2big_v2/net2big_v2.c index 0e06c2915..e524f3511 100644 --- a/board/LaCie/net2big_v2/net2big_v2.c +++ b/board/LaCie/net2big_v2/net2big_v2.c @@ -39,7 +39,7 @@ int board_early_init_f(void)  			NET2BIG_V2_OE_LOW, NET2BIG_V2_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_SPI_SCn,  		MPP1_SPI_MOSI,  		MPP2_SPI_SCK, diff --git a/board/LaCie/netspace_v2/netspace_v2.c b/board/LaCie/netspace_v2/netspace_v2.c index 101a80a70..0aa5345dd 100644 --- a/board/LaCie/netspace_v2/netspace_v2.c +++ b/board/LaCie/netspace_v2/netspace_v2.c @@ -39,7 +39,7 @@ int board_early_init_f(void)  			NETSPACE_V2_OE_LOW, NETSPACE_V2_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_SPI_SCn,  		MPP1_SPI_MOSI,  		MPP2_SPI_SCK, diff --git a/board/Marvell/dreamplug/dreamplug.c b/board/Marvell/dreamplug/dreamplug.c index d6497aaa0..0caf34ff0 100644 --- a/board/Marvell/dreamplug/dreamplug.c +++ b/board/Marvell/dreamplug/dreamplug.c @@ -46,7 +46,7 @@ int board_early_init_f(void)  			DREAMPLUG_OE_LOW, DREAMPLUG_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_SPI_SCn,		/* SPI Flash */  		MPP1_SPI_MOSI,  		MPP2_SPI_SCK, diff --git a/board/Marvell/guruplug/guruplug.c b/board/Marvell/guruplug/guruplug.c index f5c1c3cfd..3a52ab274 100644 --- a/board/Marvell/guruplug/guruplug.c +++ b/board/Marvell/guruplug/guruplug.c @@ -43,7 +43,7 @@ int board_early_init_f(void)  			GURUPLUG_OE_LOW, GURUPLUG_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_NF_IO2,  		MPP1_NF_IO3,  		MPP2_NF_IO4, diff --git a/board/Marvell/mv88f6281gtw_ge/mv88f6281gtw_ge.c b/board/Marvell/mv88f6281gtw_ge/mv88f6281gtw_ge.c index 43852f6b2..fb57faa52 100644 --- a/board/Marvell/mv88f6281gtw_ge/mv88f6281gtw_ge.c +++ b/board/Marvell/mv88f6281gtw_ge/mv88f6281gtw_ge.c @@ -45,7 +45,7 @@ int board_early_init_f(void)  			MV88F6281GTW_GE_OE_LOW, MV88F6281GTW_GE_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_SPI_SCn,  		MPP1_SPI_MOSI,  		MPP2_SPI_SCK, diff --git a/board/Marvell/openrd/openrd.c b/board/Marvell/openrd/openrd.c index d48f05a04..c59a32611 100644 --- a/board/Marvell/openrd/openrd.c +++ b/board/Marvell/openrd/openrd.c @@ -48,7 +48,7 @@ int board_early_init_f(void)  			OPENRD_OE_LOW, OPENRD_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_NF_IO2,  		MPP1_NF_IO3,  		MPP2_NF_IO4, diff --git a/board/Marvell/rd6281a/rd6281a.c b/board/Marvell/rd6281a/rd6281a.c index 1fd7677dc..adaa6a1a6 100644 --- a/board/Marvell/rd6281a/rd6281a.c +++ b/board/Marvell/rd6281a/rd6281a.c @@ -44,7 +44,7 @@ int board_early_init_f(void)  			RD6281A_OE_LOW, RD6281A_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_NF_IO2,  		MPP1_NF_IO3,  		MPP2_NF_IO4, diff --git a/board/Marvell/sheevaplug/sheevaplug.c b/board/Marvell/sheevaplug/sheevaplug.c index 688d3086d..16efe645d 100644 --- a/board/Marvell/sheevaplug/sheevaplug.c +++ b/board/Marvell/sheevaplug/sheevaplug.c @@ -43,7 +43,7 @@ int board_early_init_f(void)  			SHEEVAPLUG_OE_LOW, SHEEVAPLUG_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_NF_IO2,  		MPP1_NF_IO3,  		MPP2_NF_IO4, diff --git a/board/Seagate/dockstar/dockstar.c b/board/Seagate/dockstar/dockstar.c index fc88520b2..4f1f899b9 100644 --- a/board/Seagate/dockstar/dockstar.c +++ b/board/Seagate/dockstar/dockstar.c @@ -47,7 +47,7 @@ int board_early_init_f(void)  			DOCKSTAR_OE_LOW, DOCKSTAR_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_NF_IO2,  		MPP1_NF_IO3,  		MPP2_NF_IO4, diff --git a/board/buffalo/lsxl/lsxl.c b/board/buffalo/lsxl/lsxl.c index 57776fb07..f2980204c 100644 --- a/board/buffalo/lsxl/lsxl.c +++ b/board/buffalo/lsxl/lsxl.c @@ -76,7 +76,7 @@ int board_early_init_f(void)  	 * Multi-Purpose Pins Functionality configuration  	 * These strappings are taken from the original vendor uboot port.  	 */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_SPI_SCn,  		MPP1_SPI_MOSI,  		MPP2_SPI_SCK, diff --git a/board/cloudengines/pogo_e02/pogo_e02.c b/board/cloudengines/pogo_e02/pogo_e02.c index bac9ce55a..3b1c8ec2a 100644 --- a/board/cloudengines/pogo_e02/pogo_e02.c +++ b/board/cloudengines/pogo_e02/pogo_e02.c @@ -45,7 +45,7 @@ int board_early_init_f(void)  			POGO_E02_OE_LOW, POGO_E02_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_NF_IO2,  		MPP1_NF_IO3,  		MPP2_NF_IO4, diff --git a/board/d-link/dns325/dns325.c b/board/d-link/dns325/dns325.c index 11260fe5f..41879017e 100644 --- a/board/d-link/dns325/dns325.c +++ b/board/d-link/dns325/dns325.c @@ -44,7 +44,7 @@ int board_early_init_f(void)  			DNS325_OE_LOW, DNS325_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_NF_IO2,  		MPP1_NF_IO3,  		MPP2_NF_IO4, diff --git a/board/iomega/iconnect/iconnect.c b/board/iomega/iconnect/iconnect.c index 8cfb4e662..c54c95d28 100644 --- a/board/iomega/iconnect/iconnect.c +++ b/board/iomega/iconnect/iconnect.c @@ -41,7 +41,7 @@ int board_early_init_f(void)  			ICONNECT_OE_LOW, ICONNECT_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_NF_IO2,  		MPP1_NF_IO3,  		MPP2_NF_IO4, diff --git a/board/karo/tk71/tk71.c b/board/karo/tk71/tk71.c index 96410d77d..7a4e7b328 100644 --- a/board/karo/tk71/tk71.c +++ b/board/karo/tk71/tk71.c @@ -47,7 +47,7 @@ int board_early_init_f(void)  			TK71_OE_LOW, TK71_OE_HIGH);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_NF_IO2,  		MPP1_NF_IO3,  		MPP2_NF_IO4, diff --git a/board/keymile/km_arm/km_arm.c b/board/keymile/km_arm/km_arm.c index 262b8d2cf..eda9199bb 100644 --- a/board/keymile/km_arm/km_arm.c +++ b/board/keymile/km_arm/km_arm.c @@ -54,7 +54,7 @@ DECLARE_GLOBAL_DATA_PTR;  #define MASK_RBI_DEFECT_16	0x01  /* Multi-Purpose Pins Functionality configuration */ -u32 kwmpp_config[] = { +static const u32 kwmpp_config[] = {  	MPP0_NF_IO2,  	MPP1_NF_IO3,  	MPP2_NF_IO4, diff --git a/board/raidsonic/ib62x0/ib62x0.c b/board/raidsonic/ib62x0/ib62x0.c index 5f0f3961d..cf4ca51fc 100644 --- a/board/raidsonic/ib62x0/ib62x0.c +++ b/board/raidsonic/ib62x0/ib62x0.c @@ -45,7 +45,7 @@ int board_early_init_f(void)  	/* Set SATA activity LEDs to default off */  	writel(MVSATAHC_LED_POLARITY_CTRL, MVSATAHC_LED_CONF_REG);  	/* Multi-Purpose Pins Functionality configuration */ -	u32 kwmpp_config[] = { +	static const u32 kwmpp_config[] = {  		MPP0_NF_IO2,  		MPP1_NF_IO3,  		MPP2_NF_IO4, diff --git a/drivers/spi/kirkwood_spi.c b/drivers/spi/kirkwood_spi.c index a7cda751b..de81064b9 100644 --- a/drivers/spi/kirkwood_spi.c +++ b/drivers/spi/kirkwood_spi.c @@ -41,7 +41,10 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,  {  	struct spi_slave *slave;  	u32 data; -	u32 kwspi_mpp_config[] = { 0, 0 }; +	static const u32 kwspi_mpp_config[2][2] = { +		{ MPP0_SPI_SCn, 0 }, /* if cs == 0 */ +		{ MPP7_SPI_SCn, 0 } /* if cs != 0 */ +	};  	if (!spi_cs_is_valid(bus, cs))  		return NULL; @@ -68,12 +71,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,  	writel(KWSPI_IRQMASK, &spireg->irq_mask);  	/* program mpp registers to select  SPI_CSn */ -	if (cs) { -		kwspi_mpp_config[0] = MPP7_SPI_SCn; -	} else { -		kwspi_mpp_config[0] = MPP0_SPI_SCn; -	} -	kirkwood_mpp_conf(kwspi_mpp_config, cs_spi_mpp_back); +	kirkwood_mpp_conf(kwspi_mpp_config[cs ? 1 : 0], cs_spi_mpp_back);  	return slave;  } |