struct img_spfi {
        struct device *dev;
-       struct spi_master *master;
+       struct spi_controller *host;
        spinlock_t lock;
 
        void __iomem *regs;
        return count;
 }
 
-static int img_spfi_start_pio(struct spi_master *master,
+static int img_spfi_start_pio(struct spi_controller *host,
                               struct spi_device *spi,
                               struct spi_transfer *xfer)
 {
-       struct img_spfi *spfi = spi_master_get_devdata(spi->master);
+       struct img_spfi *spfi = spi_controller_get_devdata(spi->controller);
        unsigned int tx_bytes = 0, rx_bytes = 0;
        const void *tx_buf = xfer->tx_buf;
        void *rx_buf = xfer->rx_buf;
        spin_lock_irqsave(&spfi->lock, flags);
        spfi->rx_dma_busy = false;
        if (!spfi->tx_dma_busy)
-               spi_finalize_current_transfer(spfi->master);
+               spi_finalize_current_transfer(spfi->host);
        spin_unlock_irqrestore(&spfi->lock, flags);
 }
 
        spin_lock_irqsave(&spfi->lock, flags);
        spfi->tx_dma_busy = false;
        if (!spfi->rx_dma_busy)
-               spi_finalize_current_transfer(spfi->master);
+               spi_finalize_current_transfer(spfi->host);
        spin_unlock_irqrestore(&spfi->lock, flags);
 }
 
-static int img_spfi_start_dma(struct spi_master *master,
+static int img_spfi_start_dma(struct spi_controller *host,
                              struct spi_device *spi,
                              struct spi_transfer *xfer)
 {
-       struct img_spfi *spfi = spi_master_get_devdata(spi->master);
+       struct img_spfi *spfi = spi_controller_get_devdata(spi->controller);
        struct dma_async_tx_descriptor *rxdesc = NULL, *txdesc = NULL;
        struct dma_slave_config rxconf, txconf;
 
        return -EIO;
 }
 
-static void img_spfi_handle_err(struct spi_master *master,
+static void img_spfi_handle_err(struct spi_controller *host,
                                struct spi_message *msg)
 {
-       struct img_spfi *spfi = spi_master_get_devdata(master);
+       struct img_spfi *spfi = spi_controller_get_devdata(host);
        unsigned long flags;
 
        /*
        spin_unlock_irqrestore(&spfi->lock, flags);
 }
 
-static int img_spfi_prepare(struct spi_master *master, struct spi_message *msg)
+static int img_spfi_prepare(struct spi_controller *host, struct spi_message *msg)
 {
-       struct img_spfi *spfi = spi_master_get_devdata(master);
+       struct img_spfi *spfi = spi_controller_get_devdata(host);
        u32 val;
 
        val = spfi_readl(spfi, SPFI_PORT_STATE);
        return 0;
 }
 
-static int img_spfi_unprepare(struct spi_master *master,
+static int img_spfi_unprepare(struct spi_controller *host,
                              struct spi_message *msg)
 {
-       struct img_spfi *spfi = spi_master_get_devdata(master);
+       struct img_spfi *spfi = spi_controller_get_devdata(host);
 
        spfi_reset(spfi);
 
        return 0;
 }
 
-static void img_spfi_config(struct spi_master *master, struct spi_device *spi,
+static void img_spfi_config(struct spi_controller *host, struct spi_device *spi,
                            struct spi_transfer *xfer)
 {
-       struct img_spfi *spfi = spi_master_get_devdata(spi->master);
+       struct img_spfi *spfi = spi_controller_get_devdata(spi->controller);
        u32 val, div;
 
        /*
        spfi_writel(spfi, val, SPFI_CONTROL);
 }
 
-static int img_spfi_transfer_one(struct spi_master *master,
+static int img_spfi_transfer_one(struct spi_controller *host,
                                 struct spi_device *spi,
                                 struct spi_transfer *xfer)
 {
-       struct img_spfi *spfi = spi_master_get_devdata(spi->master);
+       struct img_spfi *spfi = spi_controller_get_devdata(spi->controller);
        int ret;
 
        if (xfer->len > SPFI_TRANSACTION_TSIZE_MASK) {
                return -EINVAL;
        }
 
-       img_spfi_config(master, spi, xfer);
-       if (master->can_dma && master->can_dma(master, spi, xfer))
-               ret = img_spfi_start_dma(master, spi, xfer);
+       img_spfi_config(host, spi, xfer);
+       if (host->can_dma && host->can_dma(host, spi, xfer))
+               ret = img_spfi_start_dma(host, spi, xfer);
        else
-               ret = img_spfi_start_pio(master, spi, xfer);
+               ret = img_spfi_start_pio(host, spi, xfer);
 
        return ret;
 }
 
-static bool img_spfi_can_dma(struct spi_master *master, struct spi_device *spi,
+static bool img_spfi_can_dma(struct spi_controller *host, struct spi_device *spi,
                             struct spi_transfer *xfer)
 {
        if (xfer->len > SPFI_32BIT_FIFO_SIZE)
 
 static int img_spfi_probe(struct platform_device *pdev)
 {
-       struct spi_master *master;
+       struct spi_controller *host;
        struct img_spfi *spfi;
        struct resource *res;
        int ret;
        u32 max_speed_hz;
 
-       master = spi_alloc_master(&pdev->dev, sizeof(*spfi));
-       if (!master)
+       host = spi_alloc_host(&pdev->dev, sizeof(*spfi));
+       if (!host)
                return -ENOMEM;
-       platform_set_drvdata(pdev, master);
+       platform_set_drvdata(pdev, host);
 
-       spfi = spi_master_get_devdata(master);
+       spfi = spi_controller_get_devdata(host);
        spfi->dev = &pdev->dev;
-       spfi->master = master;
+       spfi->host = host;
        spin_lock_init(&spfi->lock);
 
        spfi->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
         */
        spfi_writel(spfi, SPFI_INTERRUPT_IACCESS, SPFI_INTERRUPT_ENABLE);
 
-       master->auto_runtime_pm = true;
-       master->bus_num = pdev->id;
-       master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_TX_DUAL | SPI_RX_DUAL;
+       host->auto_runtime_pm = true;
+       host->bus_num = pdev->id;
+       host->mode_bits = SPI_CPOL | SPI_CPHA | SPI_TX_DUAL | SPI_RX_DUAL;
        if (of_property_read_bool(spfi->dev->of_node, "img,supports-quad-mode"))
-               master->mode_bits |= SPI_TX_QUAD | SPI_RX_QUAD;
-       master->dev.of_node = pdev->dev.of_node;
-       master->bits_per_word_mask = SPI_BPW_MASK(32) | SPI_BPW_MASK(8);
-       master->max_speed_hz = clk_get_rate(spfi->spfi_clk) / 4;
-       master->min_speed_hz = clk_get_rate(spfi->spfi_clk) / 512;
+               host->mode_bits |= SPI_TX_QUAD | SPI_RX_QUAD;
+       host->dev.of_node = pdev->dev.of_node;
+       host->bits_per_word_mask = SPI_BPW_MASK(32) | SPI_BPW_MASK(8);
+       host->max_speed_hz = clk_get_rate(spfi->spfi_clk) / 4;
+       host->min_speed_hz = clk_get_rate(spfi->spfi_clk) / 512;
 
        /*
         * Maximum speed supported by spfi is limited to the lower value
         */
        if (!of_property_read_u32(spfi->dev->of_node, "spfi-max-frequency",
                                  &max_speed_hz)) {
-               if (master->max_speed_hz > max_speed_hz)
-                       master->max_speed_hz = max_speed_hz;
+               if (host->max_speed_hz > max_speed_hz)
+                       host->max_speed_hz = max_speed_hz;
        }
 
-       master->transfer_one = img_spfi_transfer_one;
-       master->prepare_message = img_spfi_prepare;
-       master->unprepare_message = img_spfi_unprepare;
-       master->handle_err = img_spfi_handle_err;
-       master->use_gpio_descriptors = true;
+       host->transfer_one = img_spfi_transfer_one;
+       host->prepare_message = img_spfi_prepare;
+       host->unprepare_message = img_spfi_unprepare;
+       host->handle_err = img_spfi_handle_err;
+       host->use_gpio_descriptors = true;
 
        spfi->tx_ch = dma_request_chan(spfi->dev, "tx");
        if (IS_ERR(spfi->tx_ch)) {
                spfi->rx_ch = NULL;
                dev_warn(spfi->dev, "Failed to get DMA channels, falling back to PIO mode\n");
        } else {
-               master->dma_tx = spfi->tx_ch;
-               master->dma_rx = spfi->rx_ch;
-               master->can_dma = img_spfi_can_dma;
+               host->dma_tx = spfi->tx_ch;
+               host->dma_rx = spfi->rx_ch;
+               host->can_dma = img_spfi_can_dma;
        }
 
        pm_runtime_set_active(spfi->dev);
        pm_runtime_enable(spfi->dev);
 
-       ret = devm_spi_register_master(spfi->dev, master);
+       ret = devm_spi_register_controller(spfi->dev, host);
        if (ret)
                goto disable_pm;
 
 disable_pclk:
        clk_disable_unprepare(spfi->sys_clk);
 put_spi:
-       spi_master_put(master);
+       spi_controller_put(host);
 
        return ret;
 }
 
 static void img_spfi_remove(struct platform_device *pdev)
 {
-       struct spi_master *master = platform_get_drvdata(pdev);
-       struct img_spfi *spfi = spi_master_get_devdata(master);
+       struct spi_controller *host = platform_get_drvdata(pdev);
+       struct img_spfi *spfi = spi_controller_get_devdata(host);
 
        if (spfi->tx_ch)
                dma_release_channel(spfi->tx_ch);
 #ifdef CONFIG_PM
 static int img_spfi_runtime_suspend(struct device *dev)
 {
-       struct spi_master *master = dev_get_drvdata(dev);
-       struct img_spfi *spfi = spi_master_get_devdata(master);
+       struct spi_controller *host = dev_get_drvdata(dev);
+       struct img_spfi *spfi = spi_controller_get_devdata(host);
 
        clk_disable_unprepare(spfi->spfi_clk);
        clk_disable_unprepare(spfi->sys_clk);
 
 static int img_spfi_runtime_resume(struct device *dev)
 {
-       struct spi_master *master = dev_get_drvdata(dev);
-       struct img_spfi *spfi = spi_master_get_devdata(master);
+       struct spi_controller *host = dev_get_drvdata(dev);
+       struct img_spfi *spfi = spi_controller_get_devdata(host);
        int ret;
 
        ret = clk_prepare_enable(spfi->sys_clk);
 #ifdef CONFIG_PM_SLEEP
 static int img_spfi_suspend(struct device *dev)
 {
-       struct spi_master *master = dev_get_drvdata(dev);
+       struct spi_controller *host = dev_get_drvdata(dev);
 
-       return spi_master_suspend(master);
+       return spi_controller_suspend(host);
 }
 
 static int img_spfi_resume(struct device *dev)
 {
-       struct spi_master *master = dev_get_drvdata(dev);
-       struct img_spfi *spfi = spi_master_get_devdata(master);
+       struct spi_controller *host = dev_get_drvdata(dev);
+       struct img_spfi *spfi = spi_controller_get_devdata(host);
        int ret;
 
        ret = pm_runtime_resume_and_get(dev);
        spfi_reset(spfi);
        pm_runtime_put(dev);
 
-       return spi_master_resume(master);
+       return spi_controller_resume(host);
 }
 #endif /* CONFIG_PM_SLEEP */