mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
spi: pic32-sqi: Remove pic32_sqi_setup and pic32_sqi_cleanup
Current code does not use ctldata at all, so remove spi_set_ctldata call. spi_setup() will set spi->bits_per_word = 8 if it was not set, so remove !spi->max_speed_hz checking. The spi core allows absent of spi->max_speed_hz setting, if it was not set spi_setup() assigns spi->master->max_speed_hz to it. spi core allows spi->max_speed_hz > spi->master->max_speed_hz, in this case spi core will limit the transfer speed to ensure xfer->speed_hz won't greater than spi->master->max_speed_hz so remove checking if spi->max_speed_hz is higher than spi->master->max_speed_hz. As a result, both pic32_sqi_setup() and pic32_sqi_cleanup() can be removed. Signed-off-by: Axel Lin <axel.lin@ingics.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
989ffc7bd6
commit
191ec11348
@ -460,45 +460,6 @@ static int pic32_sqi_unprepare_hardware(struct spi_master *master)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* This may be called twice for each spi dev */
|
||||
static int pic32_sqi_setup(struct spi_device *spi)
|
||||
{
|
||||
struct pic32_sqi *sqi;
|
||||
|
||||
if (spi_get_ctldata(spi)) {
|
||||
dev_err(&spi->dev, "is already associated\n");
|
||||
return -EBUSY;
|
||||
}
|
||||
|
||||
/* check word size */
|
||||
if (!spi->bits_per_word) {
|
||||
dev_err(&spi->dev, "No bits_per_word defined\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* check maximum SPI clk rate */
|
||||
if (!spi->max_speed_hz) {
|
||||
dev_err(&spi->dev, "No max speed HZ parameter\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (spi->master->max_speed_hz < spi->max_speed_hz) {
|
||||
dev_err(&spi->dev, "max speed %u HZ is too high\n",
|
||||
spi->max_speed_hz);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
sqi = spi_master_get_devdata(spi->master);
|
||||
spi_set_ctldata(spi, (void *)sqi);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void pic32_sqi_cleanup(struct spi_device *spi)
|
||||
{
|
||||
spi_set_ctldata(spi, (void *)NULL);
|
||||
}
|
||||
|
||||
static int ring_desc_ring_alloc(struct pic32_sqi *sqi)
|
||||
{
|
||||
struct ring_desc *rdesc;
|
||||
@ -700,8 +661,6 @@ static int pic32_sqi_probe(struct platform_device *pdev)
|
||||
master->mode_bits = SPI_MODE_3 | SPI_MODE_0 | SPI_TX_DUAL |
|
||||
SPI_RX_DUAL | SPI_TX_QUAD | SPI_RX_QUAD;
|
||||
master->flags = SPI_MASTER_HALF_DUPLEX;
|
||||
master->setup = pic32_sqi_setup;
|
||||
master->cleanup = pic32_sqi_cleanup;
|
||||
master->can_dma = pic32_sqi_can_dma;
|
||||
master->bits_per_word_mask = SPI_BPW_RANGE_MASK(8, 32);
|
||||
master->transfer_one_message = pic32_sqi_one_message;
|
||||
|
Loading…
Reference in New Issue
Block a user