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

Commit 6aa800ca authored by Sascha Hauer's avatar Sascha Hauer Committed by Mark Brown
Browse files

spi: imx: use proper dev_* functions for driver messages



Add a struct device * member to the private driver data and use
it to print messages using dev_* functions rather than pr_*.

Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 92e963f5
Loading
Loading
Loading
Loading
+12 −15
Original line number Original line Diff line number Diff line
@@ -86,6 +86,7 @@ struct spi_imx_devtype_data {


struct spi_imx_data {
struct spi_imx_data {
	struct spi_bitbang bitbang;
	struct spi_bitbang bitbang;
	struct device *dev;


	struct completion xfer_done;
	struct completion xfer_done;
	void __iomem *base;
	void __iomem *base;
@@ -250,14 +251,15 @@ static bool spi_imx_can_dma(struct spi_master *master, struct spi_device *spi,
#define MX51_ECSPI_TESTREG_LBC	BIT(31)
#define MX51_ECSPI_TESTREG_LBC	BIT(31)


/* MX51 eCSPI */
/* MX51 eCSPI */
static unsigned int mx51_ecspi_clkdiv(unsigned int fin, unsigned int fspi,
static unsigned int mx51_ecspi_clkdiv(struct spi_imx_data *spi_imx,
				      unsigned int *fres)
				      unsigned int fspi, unsigned int *fres)
{
{
	/*
	/*
	 * there are two 4-bit dividers, the pre-divider divides by
	 * there are two 4-bit dividers, the pre-divider divides by
	 * $pre, the post-divider by 2^$post
	 * $pre, the post-divider by 2^$post
	 */
	 */
	unsigned int pre, post;
	unsigned int pre, post;
	unsigned int fin = spi_imx->spi_clk;


	if (unlikely(fspi > fin))
	if (unlikely(fspi > fin))
		return 0;
		return 0;
@@ -270,14 +272,14 @@ static unsigned int mx51_ecspi_clkdiv(unsigned int fin, unsigned int fspi,


	post = max(4U, post) - 4;
	post = max(4U, post) - 4;
	if (unlikely(post > 0xf)) {
	if (unlikely(post > 0xf)) {
		pr_err("%s: cannot set clock freq: %u (base freq: %u)\n",
		dev_err(spi_imx->dev, "cannot set clock freq: %u (base freq: %u)\n",
				__func__, fspi, fin);
				fspi, fin);
		return 0xff;
		return 0xff;
	}
	}


	pre = DIV_ROUND_UP(fin, fspi << post) - 1;
	pre = DIV_ROUND_UP(fin, fspi << post) - 1;


	pr_debug("%s: fin: %u, fspi: %u, post: %u, pre: %u\n",
	dev_dbg(spi_imx->dev, "%s: fin: %u, fspi: %u, post: %u, pre: %u\n",
			__func__, fin, fspi, post, pre);
			__func__, fin, fspi, post, pre);


	/* Resulting frequency for the SCLK line. */
	/* Resulting frequency for the SCLK line. */
@@ -330,7 +332,7 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx,
	ctrl |= MX51_ECSPI_CTRL_MODE_MASK;
	ctrl |= MX51_ECSPI_CTRL_MODE_MASK;


	/* set clock speed */
	/* set clock speed */
	ctrl |= mx51_ecspi_clkdiv(spi_imx->spi_clk, config->speed_hz, &clk);
	ctrl |= mx51_ecspi_clkdiv(spi_imx, config->speed_hz, &clk);


	/* set chip select to use */
	/* set chip select to use */
	ctrl |= MX51_ECSPI_CTRL_CS(config->cs);
	ctrl |= MX51_ECSPI_CTRL_CS(config->cs);
@@ -977,18 +979,14 @@ static int spi_imx_dma_transfer(struct spi_imx_data *spi_imx,
	timeout = wait_for_completion_timeout(&spi_imx->dma_tx_completion,
	timeout = wait_for_completion_timeout(&spi_imx->dma_tx_completion,
						IMX_DMA_TIMEOUT);
						IMX_DMA_TIMEOUT);
	if (!timeout) {
	if (!timeout) {
		pr_warn("%s %s: I/O Error in DMA TX\n",
		dev_err(spi_imx->dev, "I/O Error in DMA TX\n");
			dev_driver_string(&master->dev),
			dev_name(&master->dev));
		dmaengine_terminate_all(master->dma_tx);
		dmaengine_terminate_all(master->dma_tx);
		dmaengine_terminate_all(master->dma_rx);
		dmaengine_terminate_all(master->dma_rx);
	} else {
	} else {
		timeout = wait_for_completion_timeout(
		timeout = wait_for_completion_timeout(
				&spi_imx->dma_rx_completion, IMX_DMA_TIMEOUT);
				&spi_imx->dma_rx_completion, IMX_DMA_TIMEOUT);
		if (!timeout) {
		if (!timeout) {
			pr_warn("%s %s: I/O Error in DMA RX\n",
			dev_err(spi_imx->dev, "I/O Error in DMA RX\n");
				dev_driver_string(&master->dev),
				dev_name(&master->dev));
			spi_imx->devtype_data->reset(spi_imx);
			spi_imx->devtype_data->reset(spi_imx);
			dmaengine_terminate_all(master->dma_rx);
			dmaengine_terminate_all(master->dma_rx);
		}
		}
@@ -1009,9 +1007,7 @@ static int spi_imx_dma_transfer(struct spi_imx_data *spi_imx,
	return ret;
	return ret;


no_dma:
no_dma:
	pr_warn_once("%s %s: DMA not available, falling back to PIO\n",
	dev_warn_once(spi_imx->dev, "DMA not available, falling back to PIO\n");
		     dev_driver_string(&master->dev),
		     dev_name(&master->dev));
	return -EAGAIN;
	return -EAGAIN;
}
}


@@ -1141,6 +1137,7 @@ static int spi_imx_probe(struct platform_device *pdev)


	spi_imx = spi_master_get_devdata(master);
	spi_imx = spi_master_get_devdata(master);
	spi_imx->bitbang.master = master;
	spi_imx->bitbang.master = master;
	spi_imx->dev = &pdev->dev;


	spi_imx->devtype_data = of_id ? of_id->data :
	spi_imx->devtype_data = of_id ? of_id->data :
		(struct spi_imx_devtype_data *)pdev->id_entry->driver_data;
		(struct spi_imx_devtype_data *)pdev->id_entry->driver_data;