[coreboot-gerrit] Patch set updated for coreboot: 840cd76 spi: Eliminate the spi_cs_activate and spi_cs_deactivate functions.

Marc Jones (marc.jones@se-eng.com) gerrit at coreboot.org
Tue Dec 9 18:48:20 CET 2014


Marc Jones (marc.jones at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7708

-gerrit

commit 840cd76fe209388926bbb0578faec1ccad5f6d14
Author: Gabe Black <gabeblack at google.com>
Date:   Thu Mar 27 21:26:46 2014 -0700

    spi: Eliminate the spi_cs_activate and spi_cs_deactivate functions.
    
    They were only used internal to the SPI drivers and, according to the comment
    next to their prototypes, were for when the SPI controller doesn't control the
    chip select line directly and needs some help.
    
    BUG=None
    TEST=Built for link, falco, and rambi. Built and booted on peach_pit and nyan.
    BRANCH=None
    
    Original-Change-Id: If4622819a4437490797d305786e2436e2e70c42b
    Original-Signed-off-by: Gabe Black <gabeblack at google.com>
    Original-Reviewed-on: https://chromium-review.googlesource.com/192048
    Original-Reviewed-by: Gabe Black <gabeblack at chromium.org>
    Original-Tested-by: Gabe Black <gabeblack at chromium.org>
    Original-Commit-Queue: Gabe Black <gabeblack at chromium.org>
    (cherry picked from commit 1e2deecd9d8c6fd690c54f24e902cc7d2bab0521)
    Signed-off-by: Marc Jones <marc.jones at se-eng.com>
    
    Change-Id: Ida08cbc2be5ad09b929ca16e483c36c49ac12627
---
 src/include/spi-generic.h                | 17 -----------------
 src/soc/intel/baytrail/spi.c             | 10 ----------
 src/soc/intel/fsp_baytrail/spi.c         | 10 ----------
 src/soc/nvidia/tegra124/spi.c            | 24 +++++++-----------------
 src/soc/samsung/exynos5420/spi.c         | 16 +++-------------
 src/southbridge/amd/agesa/hudson/spi.c   |  8 --------
 src/southbridge/amd/cimx/sb800/spi.c     |  8 --------
 src/southbridge/intel/common/spi.c       | 10 ----------
 src/southbridge/intel/fsp_rangeley/spi.c | 10 ----------
 9 files changed, 10 insertions(+), 103 deletions(-)

diff --git a/src/include/spi-generic.h b/src/include/spi-generic.h
index 931376d..bd0020f 100644
--- a/src/include/spi-generic.h
+++ b/src/include/spi-generic.h
@@ -117,23 +117,6 @@ int  spi_xfer(struct spi_slave *slave, const void *dout, unsigned int bytesout,
 		void *din, unsigned int bytesin);
 
 
-/*-----------------------------------------------------------------------
- * Activate a SPI chipselect.
- * This function is provided by the board code when using a driver
- * that can't control its chipselects automatically (e.g.
- * common/soft_spi.c). When called, it should activate the chip select
- * to the device identified by "slave".
- */
-void spi_cs_activate(struct spi_slave *slave);
-
-/*-----------------------------------------------------------------------
- * Deactivate a SPI chipselect.
- * This function is provided by the board code when using a driver
- * that can't control its chipselects automatically (e.g.
- * common/soft_spi.c). When called, it should deactivate the chip
- * select to the device identified by "slave".
- */
-void spi_cs_deactivate(struct spi_slave *slave);
 
 unsigned int spi_crop_chunk(unsigned int cmd_len, unsigned int buf_len);
 
diff --git a/src/soc/intel/baytrail/spi.c b/src/soc/intel/baytrail/spi.c
index 7dd21e8..64aeb9b 100644
--- a/src/soc/intel/baytrail/spi.c
+++ b/src/soc/intel/baytrail/spi.c
@@ -327,16 +327,6 @@ void spi_release_bus(struct spi_slave *slave)
 	/* Handled by ICH automatically. */
 }
 
-void spi_cs_activate(struct spi_slave *slave)
-{
-	/* Handled by ICH automatically. */
-}
-
-void spi_cs_deactivate(struct spi_slave *slave)
-{
-	/* Handled by ICH automatically. */
-}
-
 typedef struct spi_transaction {
 	const uint8_t *out;
 	uint32_t bytesout;
diff --git a/src/soc/intel/fsp_baytrail/spi.c b/src/soc/intel/fsp_baytrail/spi.c
index f62164a..0c3c63d 100644
--- a/src/soc/intel/fsp_baytrail/spi.c
+++ b/src/soc/intel/fsp_baytrail/spi.c
@@ -325,16 +325,6 @@ void spi_release_bus(struct spi_slave *slave)
 	/* Handled by ICH automatically. */
 }
 
-void spi_cs_activate(struct spi_slave *slave)
-{
-	/* Handled by ICH automatically. */
-}
-
-void spi_cs_deactivate(struct spi_slave *slave)
-{
-	/* Handled by ICH automatically. */
-}
-
 typedef struct spi_transaction {
 	const uint8_t *out;
 	uint32_t bytesout;
diff --git a/src/soc/nvidia/tegra124/spi.c b/src/soc/nvidia/tegra124/spi.c
index 7ad7716..841a3c1 100644
--- a/src/soc/nvidia/tegra124/spi.c
+++ b/src/soc/nvidia/tegra124/spi.c
@@ -212,11 +212,13 @@ static unsigned int tegra_spi_speed(unsigned int bus)
 	return 50000000;
 }
 
-void spi_cs_activate(struct spi_slave *slave)
+int spi_claim_bus(struct spi_slave *slave)
 {
 	struct tegra_spi_regs *regs = to_tegra_spi(slave->bus)->regs;
 	u32 val;
 
+	tegra_spi_init(slave->bus);
+
 	val = read32(&regs->command1);
 
 	/* select appropriate chip-select line */
@@ -230,9 +232,10 @@ void spi_cs_activate(struct spi_slave *slave)
 		val |= SPI_CMD1_CS_SW_VAL;
 
 	write32(val, &regs->command1);
+	return 0;
 }
 
-void spi_cs_deactivate(struct spi_slave *slave)
+void spi_release_bus(struct spi_slave *slave)
 {
 	struct tegra_spi_regs *regs = to_tegra_spi(slave->bus)->regs;
 	u32 val;
@@ -848,8 +851,7 @@ static size_t tegra_spi_cbfs_read(struct cbfs_media *media, void *dest,
 	spi_read_cmd[2] = (offset >> 8) & 0xff;
 	spi_read_cmd[3] = offset & 0xff;
 
-	/* assert /CS */
-	spi_cs_activate(spi->slave);
+	spi_claim_bus(spi->slave);
 
 	if (spi_xfer(spi->slave, spi_read_cmd,
 			read_cmd_bytes, NULL, 0) < 0) {
@@ -872,7 +874,7 @@ static size_t tegra_spi_cbfs_read(struct cbfs_media *media, void *dest,
 
 tegra_spi_cbfs_read_exit:
 	/* de-assert /CS */
-	spi_cs_deactivate(spi->slave);
+	spi_release_bus(spi->slave);
 	return (ret < 0) ? 0 : ret;
 }
 
@@ -933,15 +935,3 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs)
 
 	return &channel->slave;
 }
-
-int spi_claim_bus(struct spi_slave *slave)
-{
-	tegra_spi_init(slave->bus);
-	spi_cs_activate(slave);
-	return 0;
-}
-
-void spi_release_bus(struct spi_slave *slave)
-{
-	spi_cs_deactivate(slave);
-}
diff --git a/src/soc/samsung/exynos5420/spi.c b/src/soc/samsung/exynos5420/spi.c
index 31611e3..36742a7 100644
--- a/src/soc/samsung/exynos5420/spi.c
+++ b/src/soc/samsung/exynos5420/spi.c
@@ -133,22 +133,11 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs)
 	return &eslave->slave;
 }
 
-void spi_cs_activate(struct spi_slave *slave)
+int spi_claim_bus(struct spi_slave *slave)
 {
 	struct exynos_spi *regs = to_exynos_spi(slave)->regs;
 	// TODO(hungte) Add some delay if too many transactions happen at once.
 	clrbits_le32(&regs->cs_reg, SPI_SLAVE_SIG_INACT);
-}
-
-void spi_cs_deactivate(struct spi_slave *slave)
-{
-	struct exynos_spi *regs = to_exynos_spi(slave)->regs;
-	setbits_le32(&regs->cs_reg, SPI_SLAVE_SIG_INACT);
-}
-
-int spi_claim_bus(struct spi_slave *slave)
-{
-	spi_cs_activate(slave);
 	return 0;
 }
 
@@ -231,7 +220,8 @@ int spi_xfer(struct spi_slave *slave, const void *dout, unsigned int bytes_out,
 
 void spi_release_bus(struct spi_slave *slave)
 {
-	spi_cs_deactivate(slave);
+	struct exynos_spi *regs = to_exynos_spi(slave)->regs;
+	setbits_le32(&regs->cs_reg, SPI_SLAVE_SIG_INACT);
 }
 
 static int exynos_spi_read(struct spi_slave *slave, void *dest, uint32_t len,
diff --git a/src/southbridge/amd/agesa/hudson/spi.c b/src/southbridge/amd/agesa/hudson/spi.c
index bbf6dd3..735ab7e 100644
--- a/src/southbridge/amd/agesa/hudson/spi.c
+++ b/src/southbridge/amd/agesa/hudson/spi.c
@@ -182,14 +182,6 @@ void spi_release_bus(struct spi_slave *slave)
 #endif
 }
 
-void spi_cs_activate(struct spi_slave *slave)
-{
-}
-
-void spi_cs_deactivate(struct spi_slave *slave)
-{
-}
-
 struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs)
 {
 	struct spi_slave *slave = malloc(sizeof(*slave));
diff --git a/src/southbridge/amd/cimx/sb800/spi.c b/src/southbridge/amd/cimx/sb800/spi.c
index f38e691..c84eee2 100644
--- a/src/southbridge/amd/cimx/sb800/spi.c
+++ b/src/southbridge/amd/cimx/sb800/spi.c
@@ -174,14 +174,6 @@ void spi_release_bus(struct spi_slave *slave)
 #endif
 }
 
-void spi_cs_activate(struct spi_slave *slave)
-{
-}
-
-void spi_cs_deactivate(struct spi_slave *slave)
-{
-}
-
 struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs)
 {
 	struct spi_slave *slave = malloc(sizeof(*slave));
diff --git a/src/southbridge/intel/common/spi.c b/src/southbridge/intel/common/spi.c
index c35e8b7..48c72b7 100644
--- a/src/southbridge/intel/common/spi.c
+++ b/src/southbridge/intel/common/spi.c
@@ -371,16 +371,6 @@ void spi_release_bus(struct spi_slave *slave)
 	/* Handled by ICH automatically. */
 }
 
-void spi_cs_activate(struct spi_slave *slave)
-{
-	/* Handled by ICH automatically. */
-}
-
-void spi_cs_deactivate(struct spi_slave *slave)
-{
-	/* Handled by ICH automatically. */
-}
-
 typedef struct spi_transaction {
 	const uint8_t *out;
 	uint32_t bytesout;
diff --git a/src/southbridge/intel/fsp_rangeley/spi.c b/src/southbridge/intel/fsp_rangeley/spi.c
index 33f6459..ee22019 100644
--- a/src/southbridge/intel/fsp_rangeley/spi.c
+++ b/src/southbridge/intel/fsp_rangeley/spi.c
@@ -447,16 +447,6 @@ void spi_release_bus(struct spi_slave *slave)
 	/* Handled by ICH automatically. */
 }
 
-void spi_cs_activate(struct spi_slave *slave)
-{
-	/* Handled by ICH automatically. */
-}
-
-void spi_cs_deactivate(struct spi_slave *slave)
-{
-	/* Handled by ICH automatically. */
-}
-
 typedef struct spi_transaction {
 	const uint8_t *out;
 	uint32_t bytesout;



More information about the coreboot-gerrit mailing list