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

Commit 52d85ebb authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branch 'spi/topic/bfin' into spi-next

parents 2ef2e60d db9371b8
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -302,3 +302,6 @@ PHY


SLAVE DMA ENGINE
SLAVE DMA ENGINE
  devm_acpi_dma_controller_register()
  devm_acpi_dma_controller_register()

SPI
  devm_spi_register_master()
+1 −3
Original line number Original line Diff line number Diff line
@@ -358,7 +358,7 @@ static int bcm2835_spi_probe(struct platform_device *pdev)
	bcm2835_wr(bs, BCM2835_SPI_CS,
	bcm2835_wr(bs, BCM2835_SPI_CS,
		   BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);
		   BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);


	err = spi_register_master(master);
	err = devm_spi_register_master(&pdev->dev, master);
	if (err) {
	if (err) {
		dev_err(&pdev->dev, "could not register SPI master: %d\n", err);
		dev_err(&pdev->dev, "could not register SPI master: %d\n", err);
		goto out_free_irq;
		goto out_free_irq;
@@ -381,14 +381,12 @@ static int bcm2835_spi_remove(struct platform_device *pdev)
	struct bcm2835_spi *bs = spi_master_get_devdata(master);
	struct bcm2835_spi *bs = spi_master_get_devdata(master);


	free_irq(bs->irq, master);
	free_irq(bs->irq, master);
	spi_unregister_master(master);


	/* Clear FIFOs, and disable the HW block */
	/* Clear FIFOs, and disable the HW block */
	bcm2835_wr(bs, BCM2835_SPI_CS,
	bcm2835_wr(bs, BCM2835_SPI_CS,
		   BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);
		   BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX);


	clk_disable_unprepare(bs->clk);
	clk_disable_unprepare(bs->clk);
	spi_master_put(master);


	return 0;
	return 0;
}
}
+1 −5
Original line number Original line Diff line number Diff line
@@ -412,7 +412,7 @@ static int bcm63xx_spi_probe(struct platform_device *pdev)
	bcm_spi_writeb(bs, SPI_INTR_CLEAR_ALL, SPI_INT_STATUS);
	bcm_spi_writeb(bs, SPI_INTR_CLEAR_ALL, SPI_INT_STATUS);


	/* register and we are done */
	/* register and we are done */
	ret = spi_register_master(master);
	ret = devm_spi_register_master(dev, master);
	if (ret) {
	if (ret) {
		dev_err(dev, "spi register failed\n");
		dev_err(dev, "spi register failed\n");
		goto out_clk_disable;
		goto out_clk_disable;
@@ -438,8 +438,6 @@ static int bcm63xx_spi_remove(struct platform_device *pdev)
	struct spi_master *master = spi_master_get(platform_get_drvdata(pdev));
	struct spi_master *master = spi_master_get(platform_get_drvdata(pdev));
	struct bcm63xx_spi *bs = spi_master_get_devdata(master);
	struct bcm63xx_spi *bs = spi_master_get_devdata(master);


	spi_unregister_master(master);

	/* reset spi block */
	/* reset spi block */
	bcm_spi_writeb(bs, 0, SPI_INT_MASK);
	bcm_spi_writeb(bs, 0, SPI_INT_MASK);


@@ -447,8 +445,6 @@ static int bcm63xx_spi_remove(struct platform_device *pdev)
	clk_disable_unprepare(bs->clk);
	clk_disable_unprepare(bs->clk);
	clk_put(bs->clk);
	clk_put(bs->clk);


	spi_master_put(master);

	return 0;
	return 0;
}
}


+14 −13
Original line number Original line Diff line number Diff line
@@ -879,11 +879,10 @@ static int bfin_sport_spi_remove(struct platform_device *pdev)
	return 0;
	return 0;
}
}


#ifdef CONFIG_PM
#ifdef CONFIG_PM_SLEEP
static int
static int bfin_sport_spi_suspend(struct device *dev)
bfin_sport_spi_suspend(struct platform_device *pdev, pm_message_t state)
{
{
	struct bfin_sport_spi_master_data *drv_data = platform_get_drvdata(pdev);
	struct bfin_sport_spi_master_data *drv_data = dev_get_drvdata(dev);
	int status;
	int status;


	status = bfin_sport_spi_stop_queue(drv_data);
	status = bfin_sport_spi_stop_queue(drv_data);
@@ -896,10 +895,9 @@ bfin_sport_spi_suspend(struct platform_device *pdev, pm_message_t state)
	return status;
	return status;
}
}


static int
static int bfin_sport_spi_resume(struct device *dev)
bfin_sport_spi_resume(struct platform_device *pdev)
{
{
	struct bfin_sport_spi_master_data *drv_data = platform_get_drvdata(pdev);
	struct bfin_sport_spi_master_data *drv_data = dev_get_drvdata(dev);
	int status;
	int status;


	/* Enable the SPI interface */
	/* Enable the SPI interface */
@@ -912,19 +910,22 @@ bfin_sport_spi_resume(struct platform_device *pdev)


	return status;
	return status;
}
}

static SIMPLE_DEV_PM_OPS(bfin_sport_spi_pm_ops, bfin_sport_spi_suspend,
			bfin_sport_spi_resume);

#define BFIN_SPORT_SPI_PM_OPS		(&bfin_sport_spi_pm_ops)
#else
#else
# define bfin_sport_spi_suspend NULL
#define BFIN_SPORT_SPI_PM_OPS		NULL
# define bfin_sport_spi_resume  NULL
#endif
#endif


static struct platform_driver bfin_sport_spi_driver = {
static struct platform_driver bfin_sport_spi_driver = {
	.driver	= {
	.driver	= {
		.name	= DRV_NAME,
		.name	= DRV_NAME,
		.owner	= THIS_MODULE,
		.owner	= THIS_MODULE,
		.pm	= BFIN_SPORT_SPI_PM_OPS,
	},
	},
	.probe   = bfin_sport_spi_probe,
	.probe   = bfin_sport_spi_probe,
	.remove  = bfin_sport_spi_remove,
	.remove  = bfin_sport_spi_remove,
	.suspend = bfin_sport_spi_suspend,
	.resume  = bfin_sport_spi_resume,
};
};
module_platform_driver(bfin_sport_spi_driver);
module_platform_driver(bfin_sport_spi_driver);
+1 −2
Original line number Original line Diff line number Diff line
@@ -867,7 +867,7 @@ static int bfin_spi_probe(struct platform_device *pdev)
	tasklet_init(&drv_data->pump_transfers,
	tasklet_init(&drv_data->pump_transfers,
			bfin_spi_pump_transfers, (unsigned long)drv_data);
			bfin_spi_pump_transfers, (unsigned long)drv_data);
	/* register with the SPI framework */
	/* register with the SPI framework */
	ret = spi_register_master(master);
	ret = devm_spi_register_master(dev, master);
	if (ret) {
	if (ret) {
		dev_err(dev, "can not  register spi master\n");
		dev_err(dev, "can not  register spi master\n");
		goto err_free_peripheral;
		goto err_free_peripheral;
@@ -898,7 +898,6 @@ static int bfin_spi_remove(struct platform_device *pdev)
	free_dma(drv_data->rx_dma);
	free_dma(drv_data->rx_dma);
	free_dma(drv_data->tx_dma);
	free_dma(drv_data->tx_dma);


	spi_unregister_master(drv_data->master);
	return 0;
	return 0;
}
}


Loading