mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-27 23:22:37 +02:00
bitbang_spi.c: Reorder functions with primitives at the top
Reshuffle file with no semantic changes, this avoids unnecessary prototypes for static member functions as to be an easier implementation to parse. BUG=none TEST=builds Change-Id: Ided41c6c64376e0cddeb17b936773a86c36d5f72 Signed-off-by: Edward O'Callaghan <quasisec@google.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/47664 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Sam McNally <sammc@google.com>
This commit is contained in:
parent
b2b4507657
commit
36e5bd3c21
@ -64,57 +64,6 @@ static int bitbang_spi_set_sck_get_miso(const struct bitbang_spi_master * const
|
||||
return master->get_miso();
|
||||
}
|
||||
|
||||
static int bitbang_spi_send_command(const struct flashctx *flash,
|
||||
unsigned int writecnt, unsigned int readcnt,
|
||||
const unsigned char *writearr,
|
||||
unsigned char *readarr);
|
||||
|
||||
static const struct spi_master spi_master_bitbang = {
|
||||
.features = SPI_MASTER_4BA,
|
||||
.max_data_read = MAX_DATA_READ_UNLIMITED,
|
||||
.max_data_write = MAX_DATA_WRITE_UNLIMITED,
|
||||
.command = bitbang_spi_send_command,
|
||||
.multicommand = default_spi_send_multicommand,
|
||||
.read = default_spi_read,
|
||||
.write_256 = default_spi_write_256,
|
||||
.write_aai = default_spi_write_aai,
|
||||
};
|
||||
|
||||
#if 0 // until it is needed
|
||||
static int bitbang_spi_shutdown(const struct bitbang_spi_master *master)
|
||||
{
|
||||
/* FIXME: Run bitbang_spi_release_bus here or per command? */
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int register_spi_bitbang_master(const struct bitbang_spi_master *master)
|
||||
{
|
||||
struct spi_master mst = spi_master_bitbang;
|
||||
/* If someone forgot to initialize a bitbang function, we catch it here. */
|
||||
if (!master || !master->set_cs ||
|
||||
!master->set_sck || !master->set_mosi || !master->get_miso ||
|
||||
(master->request_bus && !master->release_bus) ||
|
||||
(!master->request_bus && master->release_bus)) {
|
||||
msg_perr("Incomplete SPI bitbang master setting!\n"
|
||||
"Please report a bug at flashrom@flashrom.org\n");
|
||||
return ERROR_FLASHROM_BUG;
|
||||
}
|
||||
|
||||
mst.data = master;
|
||||
register_spi_master(&mst);
|
||||
|
||||
/* Only mess with the bus if we're sure nobody else uses it. */
|
||||
bitbang_spi_request_bus(master);
|
||||
bitbang_spi_set_cs(master, 1);
|
||||
bitbang_spi_set_sck_set_mosi(master, 0, 0);
|
||||
/* FIXME: Release SPI bus here and request it again for each command or
|
||||
* don't release it now and only release it on programmer shutdown?
|
||||
*/
|
||||
bitbang_spi_release_bus(master);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static uint8_t bitbang_spi_read_byte(const struct bitbang_spi_master *master)
|
||||
{
|
||||
uint8_t ret = 0;
|
||||
@ -173,3 +122,49 @@ static int bitbang_spi_send_command(const struct flashctx *flash,
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct spi_master spi_master_bitbang = {
|
||||
.features = SPI_MASTER_4BA,
|
||||
.max_data_read = MAX_DATA_READ_UNLIMITED,
|
||||
.max_data_write = MAX_DATA_WRITE_UNLIMITED,
|
||||
.command = bitbang_spi_send_command,
|
||||
.multicommand = default_spi_send_multicommand,
|
||||
.read = default_spi_read,
|
||||
.write_256 = default_spi_write_256,
|
||||
.write_aai = default_spi_write_aai,
|
||||
};
|
||||
|
||||
#if 0 // until it is needed
|
||||
static int bitbang_spi_shutdown(const struct bitbang_spi_master *master)
|
||||
{
|
||||
/* FIXME: Run bitbang_spi_release_bus here or per command? */
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int register_spi_bitbang_master(const struct bitbang_spi_master *master)
|
||||
{
|
||||
struct spi_master mst = spi_master_bitbang;
|
||||
/* If someone forgot to initialize a bitbang function, we catch it here. */
|
||||
if (!master || !master->set_cs ||
|
||||
!master->set_sck || !master->set_mosi || !master->get_miso ||
|
||||
(master->request_bus && !master->release_bus) ||
|
||||
(!master->request_bus && master->release_bus)) {
|
||||
msg_perr("Incomplete SPI bitbang master setting!\n"
|
||||
"Please report a bug at flashrom@flashrom.org\n");
|
||||
return ERROR_FLASHROM_BUG;
|
||||
}
|
||||
|
||||
mst.data = master;
|
||||
register_spi_master(&mst);
|
||||
|
||||
/* Only mess with the bus if we're sure nobody else uses it. */
|
||||
bitbang_spi_request_bus(master);
|
||||
bitbang_spi_set_cs(master, 1);
|
||||
bitbang_spi_set_sck_set_mosi(master, 0, 0);
|
||||
/* FIXME: Release SPI bus here and request it again for each command or
|
||||
* don't release it now and only release it on programmer shutdown?
|
||||
*/
|
||||
bitbang_spi_release_bus(master);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user