spi: dw: Convert to generalized SPI controller API

Convert to generalized SPI controller API introduced by the
commit 8caab75fd2 ("spi: Generalize SPI "master" to "controller"").
Inside driver variable name "master" is still used to indicate the driver
is master only.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Jarkko Nikula 2018-02-01 17:17:29 +02:00 committed by Mark Brown
parent 7928b2cbe5
commit 721483e288
No known key found for this signature in database
GPG key ID: 24D68B725D5487D0
3 changed files with 18 additions and 18 deletions

View file

@ -112,10 +112,10 @@ static irqreturn_t dma_transfer(struct dw_spi *dws)
return IRQ_HANDLED; return IRQ_HANDLED;
} }
static bool mid_spi_can_dma(struct spi_master *master, struct spi_device *spi, static bool mid_spi_can_dma(struct spi_controller *master,
struct spi_transfer *xfer) struct spi_device *spi, struct spi_transfer *xfer)
{ {
struct dw_spi *dws = spi_master_get_devdata(master); struct dw_spi *dws = spi_controller_get_devdata(master);
if (!dws->dma_inited) if (!dws->dma_inited)
return false; return false;

View file

@ -135,7 +135,7 @@ static inline void dw_spi_debugfs_remove(struct dw_spi *dws)
static void dw_spi_set_cs(struct spi_device *spi, bool enable) static void dw_spi_set_cs(struct spi_device *spi, bool enable)
{ {
struct dw_spi *dws = spi_master_get_devdata(spi->master); struct dw_spi *dws = spi_controller_get_devdata(spi->controller);
struct chip_data *chip = spi_get_ctldata(spi); struct chip_data *chip = spi_get_ctldata(spi);
/* Chip select logic is inverted from spi_set_cs() */ /* Chip select logic is inverted from spi_set_cs() */
@ -250,8 +250,8 @@ static irqreturn_t interrupt_transfer(struct dw_spi *dws)
static irqreturn_t dw_spi_irq(int irq, void *dev_id) static irqreturn_t dw_spi_irq(int irq, void *dev_id)
{ {
struct spi_master *master = dev_id; struct spi_controller *master = dev_id;
struct dw_spi *dws = spi_master_get_devdata(master); struct dw_spi *dws = spi_controller_get_devdata(master);
u16 irq_status = dw_readl(dws, DW_SPI_ISR) & 0x3f; u16 irq_status = dw_readl(dws, DW_SPI_ISR) & 0x3f;
if (!irq_status) if (!irq_status)
@ -277,10 +277,10 @@ static int poll_transfer(struct dw_spi *dws)
return 0; return 0;
} }
static int dw_spi_transfer_one(struct spi_master *master, static int dw_spi_transfer_one(struct spi_controller *master,
struct spi_device *spi, struct spi_transfer *transfer) struct spi_device *spi, struct spi_transfer *transfer)
{ {
struct dw_spi *dws = spi_master_get_devdata(master); struct dw_spi *dws = spi_controller_get_devdata(master);
struct chip_data *chip = spi_get_ctldata(spi); struct chip_data *chip = spi_get_ctldata(spi);
u8 imask = 0; u8 imask = 0;
u16 txlevel = 0; u16 txlevel = 0;
@ -383,10 +383,10 @@ static int dw_spi_transfer_one(struct spi_master *master,
return 1; return 1;
} }
static void dw_spi_handle_err(struct spi_master *master, static void dw_spi_handle_err(struct spi_controller *master,
struct spi_message *msg) struct spi_message *msg)
{ {
struct dw_spi *dws = spi_master_get_devdata(master); struct dw_spi *dws = spi_controller_get_devdata(master);
if (dws->dma_mapped) if (dws->dma_mapped)
dws->dma_ops->dma_stop(dws); dws->dma_ops->dma_stop(dws);
@ -471,7 +471,7 @@ static void spi_hw_init(struct device *dev, struct dw_spi *dws)
int dw_spi_add_host(struct device *dev, struct dw_spi *dws) int dw_spi_add_host(struct device *dev, struct dw_spi *dws)
{ {
struct spi_master *master; struct spi_controller *master;
int ret; int ret;
BUG_ON(dws == NULL); BUG_ON(dws == NULL);
@ -518,8 +518,8 @@ int dw_spi_add_host(struct device *dev, struct dw_spi *dws)
} }
} }
spi_master_set_devdata(master, dws); spi_controller_set_devdata(master, dws);
ret = devm_spi_register_master(dev, master); ret = devm_spi_register_controller(dev, master);
if (ret) { if (ret) {
dev_err(&master->dev, "problem registering spi master\n"); dev_err(&master->dev, "problem registering spi master\n");
goto err_dma_exit; goto err_dma_exit;
@ -534,7 +534,7 @@ int dw_spi_add_host(struct device *dev, struct dw_spi *dws)
spi_enable_chip(dws, 0); spi_enable_chip(dws, 0);
free_irq(dws->irq, master); free_irq(dws->irq, master);
err_free_master: err_free_master:
spi_master_put(master); spi_controller_put(master);
return ret; return ret;
} }
EXPORT_SYMBOL_GPL(dw_spi_add_host); EXPORT_SYMBOL_GPL(dw_spi_add_host);
@ -556,7 +556,7 @@ int dw_spi_suspend_host(struct dw_spi *dws)
{ {
int ret; int ret;
ret = spi_master_suspend(dws->master); ret = spi_controller_suspend(dws->master);
if (ret) if (ret)
return ret; return ret;
@ -570,7 +570,7 @@ int dw_spi_resume_host(struct dw_spi *dws)
int ret; int ret;
spi_hw_init(&dws->master->dev, dws); spi_hw_init(&dws->master->dev, dws);
ret = spi_master_resume(dws->master); ret = spi_controller_resume(dws->master);
if (ret) if (ret)
dev_err(&dws->master->dev, "fail to start queue (%d)\n", ret); dev_err(&dws->master->dev, "fail to start queue (%d)\n", ret);
return ret; return ret;

View file

@ -93,14 +93,14 @@ struct dw_spi_dma_ops {
int (*dma_init)(struct dw_spi *dws); int (*dma_init)(struct dw_spi *dws);
void (*dma_exit)(struct dw_spi *dws); void (*dma_exit)(struct dw_spi *dws);
int (*dma_setup)(struct dw_spi *dws, struct spi_transfer *xfer); int (*dma_setup)(struct dw_spi *dws, struct spi_transfer *xfer);
bool (*can_dma)(struct spi_master *master, struct spi_device *spi, bool (*can_dma)(struct spi_controller *master, struct spi_device *spi,
struct spi_transfer *xfer); struct spi_transfer *xfer);
int (*dma_transfer)(struct dw_spi *dws, struct spi_transfer *xfer); int (*dma_transfer)(struct dw_spi *dws, struct spi_transfer *xfer);
void (*dma_stop)(struct dw_spi *dws); void (*dma_stop)(struct dw_spi *dws);
}; };
struct dw_spi { struct dw_spi {
struct spi_master *master; struct spi_controller *master;
enum dw_ssi_type type; enum dw_ssi_type type;
void __iomem *regs; void __iomem *regs;