Messages in this thread | | | Date | Thu, 09 Apr 2015 17:50:52 +0200 | From | Pelle Nilsson <> | Subject | Re: [PATCH 1/1] spi: altera: Add empty implementation of setup_transfer callback |
| |
On 2015-04-09 17:40, Mark Brown wrote: > Why is the callback mandatory if an empty implementation is OK?
Ask the author of spi-bitbang. :-)
In spi_bitbang_start() we have this chunk of code:
if (!bitbang->txrx_bufs) { bitbang->use_dma = 0; bitbang->txrx_bufs = spi_bitbang_bufs; if (!master->setup) { if (!bitbang->setup_transfer) bitbang->setup_transfer = spi_bitbang_setup_transfer; master->setup = spi_bitbang_setup; master->cleanup = spi_bitbang_cleanup; } }
As can be seen here, if setup_transfer is NULL (not set by the specific driver), it is filled in with the default callback function spi_bitbang_setup_transfer(), but only if txrx_bufs is also NULL, which is not the case here.
There is a comment in spi-xilinx also stating this fact (though their implementation isn't actually empty anymore):
/* spi_bitbang requires custom setup_transfer() to be defined if there is a * custom txrx_bufs(). */
| |