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 /drivers/spi/kirkwood_spi.c | |
parent | 0a16ea593355d1a0fd415286089961f9c9ad1614 (diff) | |
download | u-boot-imx-9d86f0c30bd7e6a7f7a93bc7f12b69ef48a4de19.zip u-boot-imx-9d86f0c30bd7e6a7f7a93bc7f12b69ef48a4de19.tar.gz u-boot-imx-9d86f0c30bd7e6a7f7a93bc7f12b69ef48a4de19.tar.bz2 |
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>
Diffstat (limited to 'drivers/spi/kirkwood_spi.c')
-rw-r--r-- | drivers/spi/kirkwood_spi.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/spi/kirkwood_spi.c b/drivers/spi/kirkwood_spi.c index a7cda75..de81064 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; } |