Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb64ca54 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown
Browse files

spi: qup: Convert ot let spi core handle checking transfer speed



Set master->max_speed_hz then spi core will handle checking transfer speed.
So we can remove the same checking in this driver.

Also remove checking spi->chip_select in spi_qup_setup(), the checking is done
by spi core.

Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
Acked-by: default avatarIvan T. Ivanov <iivanov@mm-sol.com>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent 81b045fe
Loading
Loading
Loading
Loading
+1 −14
Original line number Original line Diff line number Diff line
@@ -134,7 +134,6 @@ struct spi_qup {
	struct clk		*cclk;	/* core clock */
	struct clk		*cclk;	/* core clock */
	struct clk		*iclk;	/* interface clock */
	struct clk		*iclk;	/* interface clock */
	int			irq;
	int			irq;
	u32			max_speed_hz;
	spinlock_t		lock;
	spinlock_t		lock;


	int			in_fifo_sz;
	int			in_fifo_sz;
@@ -517,18 +516,6 @@ static int spi_qup_setup(struct spi_device *spi)
	struct spi_qup *controller = spi_master_get_devdata(spi->master);
	struct spi_qup *controller = spi_master_get_devdata(spi->master);
	struct spi_qup_device *chip = spi_get_ctldata(spi);
	struct spi_qup_device *chip = spi_get_ctldata(spi);


	if (spi->chip_select >= spi->master->num_chipselect) {
		dev_err(controller->dev, "invalid chip_select %d\n",
			spi->chip_select);
		return -EINVAL;
	}

	if (spi->max_speed_hz > controller->max_speed_hz) {
		dev_err(controller->dev, "invalid max_speed_hz %d\n",
			spi->max_speed_hz);
		return -EINVAL;
	}

	if (!chip) {
	if (!chip) {
		/* First setup */
		/* First setup */
		chip = kzalloc(sizeof(*chip), GFP_KERNEL);
		chip = kzalloc(sizeof(*chip), GFP_KERNEL);
@@ -629,6 +616,7 @@ static int spi_qup_probe(struct platform_device *pdev)
	master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
	master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP;
	master->num_chipselect = SPI_NUM_CHIPSELECTS;
	master->num_chipselect = SPI_NUM_CHIPSELECTS;
	master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
	master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32);
	master->max_speed_hz = max_freq;
	master->setup = spi_qup_setup;
	master->setup = spi_qup_setup;
	master->cleanup = spi_qup_cleanup;
	master->cleanup = spi_qup_cleanup;
	master->set_cs = spi_qup_set_cs;
	master->set_cs = spi_qup_set_cs;
@@ -645,7 +633,6 @@ static int spi_qup_probe(struct platform_device *pdev)
	controller->iclk = iclk;
	controller->iclk = iclk;
	controller->cclk = cclk;
	controller->cclk = cclk;
	controller->irq = irq;
	controller->irq = irq;
	controller->max_speed_hz = max_freq;


	spin_lock_init(&controller->lock);
	spin_lock_init(&controller->lock);
	init_completion(&controller->done);
	init_completion(&controller->done);