diff options
author | Heiner Kallweit <hkallweit1@gmail.com> | 2016-11-13 14:37:41 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-11-14 11:21:27 +0000 |
commit | 7cb55577232fa07a089e0e0353fb445403f34697 (patch) | |
tree | 8029cbabd807e6a4997b142cf9f94422c0fa225f /drivers/spi/spi-fsl-espi.c | |
parent | cdb2f77cf520d72a4782354f08deb43db00eff19 (diff) |
spi: fsl-espi: migrate relevant parts of mpc8xxx_spi_probe and of_mpc8xxx_spi_probe
Very little of the library functions mpc8xxx_spi_probe and
of_mpc8xxx_spi_probe is relevant for fsl-espi.
Therefore migrate the relevant parts to fsl-espi (considering
that get_brgfreq() always returns -1 on systems with ESPI)
and remove use of these functions.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/spi/spi-fsl-espi.c')
-rw-r--r-- | drivers/spi/spi-fsl-espi.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/drivers/spi/spi-fsl-espi.c b/drivers/spi/spi-fsl-espi.c index e378622f4a60..58314d775925 100644 --- a/drivers/spi/spi-fsl-espi.c +++ b/drivers/spi/spi-fsl-espi.c @@ -587,9 +587,9 @@ static int fsl_espi_probe(struct device *dev, struct resource *mem, dev_set_drvdata(dev, master); - mpc8xxx_spi_probe(dev, mem, irq); - - master->mode_bits |= SPI_RX_DUAL; + master->mode_bits = SPI_RX_DUAL | SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | + SPI_LSB_FIRST | SPI_LOOP; + master->dev.of_node = dev->of_node; master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 16); master->setup = fsl_espi_setup; master->cleanup = fsl_espi_cleanup; @@ -601,6 +601,16 @@ static int fsl_espi_probe(struct device *dev, struct resource *mem, mpc8xxx_spi = spi_master_get_devdata(master); spin_lock_init(&mpc8xxx_spi->lock); + mpc8xxx_spi->dev = dev; + mpc8xxx_spi->spibrg = fsl_get_sys_freq(); + if (mpc8xxx_spi->spibrg == -1) { + dev_err(dev, "Can't get sys frequency!\n"); + ret = -EINVAL; + goto err_probe; + } + + init_completion(&mpc8xxx_spi->done); + mpc8xxx_spi->local_buf = devm_kmalloc(dev, SPCOM_TRANLEN_MAX, GFP_KERNEL); if (!mpc8xxx_spi->local_buf) { @@ -713,10 +723,6 @@ static int of_fsl_espi_probe(struct platform_device *ofdev) return -EINVAL; } - ret = of_mpc8xxx_spi_probe(ofdev); - if (ret) - return ret; - num_cs = of_fsl_espi_get_chipselects(dev); if (!num_cs) return -EINVAL; |