summaryrefslogtreecommitdiff
path: root/drivers/spi/kirkwood_spi.c
diff options
context:
space:
mode:
authorValentin Longchamp <valentin.longchamp@keymile.com>2012-06-01 01:31:03 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-07-07 14:07:32 +0200
commit24934fea0c6248ac33ccf398dd1a86e0b9904eeb (patch)
tree2f908e6dd0b3b46119a83d3760cae6d136681ecc /drivers/spi/kirkwood_spi.c
parentac486e3ba16c37514d135c359f61ed6e32a2921d (diff)
downloadu-boot-imx-24934fea0c6248ac33ccf398dd1a86e0b9904eeb.zip
u-boot-imx-24934fea0c6248ac33ccf398dd1a86e0b9904eeb.tar.gz
u-boot-imx-24934fea0c6248ac33ccf398dd1a86e0b9904eeb.tar.bz2
kw_spi: add weak functions board_spi_claim/release_bus
This allows a final, board specific, step in the claim/relase_bus function for the SPI controller, which may be needed for some hardware designs. Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> cc: Holger Brunck <holger.brunck@keymile.com> cc: Prafulla Wadaskar <prafulla@marvell.com>
Diffstat (limited to 'drivers/spi/kirkwood_spi.c')
-rw-r--r--drivers/spi/kirkwood_spi.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/spi/kirkwood_spi.c b/drivers/spi/kirkwood_spi.c
index db4bb0a..f4523a3 100644
--- a/drivers/spi/kirkwood_spi.c
+++ b/drivers/spi/kirkwood_spi.c
@@ -87,6 +87,11 @@ void spi_free_slave(struct spi_slave *slave)
u32 spi_mpp_backup[4];
#endif
+__attribute__((weak)) int board_spi_claim_bus(struct spi_slave *slave)
+{
+ return 0;
+}
+
int spi_claim_bus(struct spi_slave *slave)
{
#if defined(CONFIG_SYS_KW_SPI_MPP)
@@ -118,7 +123,11 @@ int spi_claim_bus(struct spi_slave *slave)
#endif
- return 0;
+ return board_spi_claim_bus(slave);
+}
+
+__attribute__((weak)) void board_spi_release_bus(struct spi_slave *slave)
+{
}
void spi_release_bus(struct spi_slave *slave)
@@ -126,6 +135,8 @@ void spi_release_bus(struct spi_slave *slave)
#if defined(CONFIG_SYS_KW_SPI_MPP)
kirkwood_mpp_conf(spi_mpp_backup, NULL);
#endif
+
+ board_spi_release_bus(slave);
}
#ifndef CONFIG_SPI_CS_IS_VALID