summaryrefslogtreecommitdiff
path: root/src/southbridge/amd
diff options
context:
space:
mode:
Diffstat (limited to 'src/southbridge/amd')
-rw-r--r--src/southbridge/amd/agesa/hudson/spi.c14
-rw-r--r--src/southbridge/amd/cimx/sb800/spi.c14
-rw-r--r--src/southbridge/amd/sb700/spi.c14
3 files changed, 12 insertions, 30 deletions
diff --git a/src/southbridge/amd/agesa/hudson/spi.c b/src/southbridge/amd/agesa/hudson/spi.c
index 7bb0e3f124..a8b3b2a409 100644
--- a/src/southbridge/amd/agesa/hudson/spi.c
+++ b/src/southbridge/amd/agesa/hudson/spi.c
@@ -176,15 +176,9 @@ int chipset_volatile_group_end(const struct spi_flash *flash)
return 0;
}
-struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs)
+int spi_setup_slave(unsigned int bus, unsigned int cs, struct spi_slave *slave)
{
- struct spi_slave *slave = malloc(sizeof(*slave));
-
- if (!slave) {
- return NULL;
- }
-
- memset(slave, 0, sizeof(*slave));
-
- return slave;
+ slave->bus = bus;
+ slave->cs = cs;
+ return 0;
}
diff --git a/src/southbridge/amd/cimx/sb800/spi.c b/src/southbridge/amd/cimx/sb800/spi.c
index 2522c2e5b5..d33106011c 100644
--- a/src/southbridge/amd/cimx/sb800/spi.c
+++ b/src/southbridge/amd/cimx/sb800/spi.c
@@ -168,15 +168,9 @@ int chipset_volatile_group_end(const struct spi_flash *flash)
return 0;
}
-struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs)
+int spi_setup_slave(unsigned int bus, unsigned int cs, struct spi_slave *slave)
{
- struct spi_slave *slave = malloc(sizeof(*slave));
-
- if (!slave) {
- return NULL;
- }
-
- memset(slave, 0, sizeof(*slave));
-
- return slave;
+ slave->bus = bus;
+ slave->cs = cs;
+ return 0;
}
diff --git a/src/southbridge/amd/sb700/spi.c b/src/southbridge/amd/sb700/spi.c
index 2b1ae2dcc8..fca401cbbf 100644
--- a/src/southbridge/amd/sb700/spi.c
+++ b/src/southbridge/amd/sb700/spi.c
@@ -76,17 +76,11 @@ void spi_release_bus(const struct spi_slave *slave)
/* Handled internally by the SB700 */
}
-struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs)
+int spi_setup_slave(unsigned int bus, unsigned int cs, struct spi_slave *slave)
{
- struct spi_slave *slave = malloc(sizeof(*slave));
-
- if (!slave) {
- return NULL;
- }
-
- memset(slave, 0, sizeof(*slave));
-
- return slave;
+ slave->bus = bus;
+ slave->cs = cs;
+ return 0;
}
int spi_xfer(const struct spi_slave *slave, const void *dout,