return ret;
 }
 
-static void handle_se_timeout(struct spi_master *spi,
-                               struct spi_message *msg)
+static void handle_se_timeout(struct spi_controller *spi,
+                             struct spi_message *msg)
 {
-       struct spi_geni_master *mas = spi_master_get_devdata(spi);
+       struct spi_geni_master *mas = spi_controller_get_devdata(spi);
        unsigned long time_left;
        struct geni_se *se = &mas->se;
        const struct spi_transfer *xfer;
        xfer = mas->cur_xfer;
        mas->cur_xfer = NULL;
 
-       if (spi->slave) {
+       if (spi->target) {
                /*
-                * skip CMD Cancel sequnece since spi slave
+                * skip CMD Cancel sequnece since spi target
                 * doesn`t support CMD Cancel sequnece
                 */
                spin_unlock_irq(&mas->lock);
        }
 }
 
-static void handle_gpi_timeout(struct spi_master *spi, struct spi_message *msg)
+static void handle_gpi_timeout(struct spi_controller *spi, struct spi_message *msg)
 {
-       struct spi_geni_master *mas = spi_master_get_devdata(spi);
+       struct spi_geni_master *mas = spi_controller_get_devdata(spi);
 
        dmaengine_terminate_sync(mas->tx);
        dmaengine_terminate_sync(mas->rx);
 }
 
-static void spi_geni_handle_err(struct spi_master *spi, struct spi_message *msg)
+static void spi_geni_handle_err(struct spi_controller *spi, struct spi_message *msg)
 {
-       struct spi_geni_master *mas = spi_master_get_devdata(spi);
+       struct spi_geni_master *mas = spi_controller_get_devdata(spi);
 
        switch (mas->cur_xfer_mode) {
        case GENI_SE_FIFO:
 
 static void spi_geni_set_cs(struct spi_device *slv, bool set_flag)
 {
-       struct spi_geni_master *mas = spi_master_get_devdata(slv->master);
-       struct spi_master *spi = dev_get_drvdata(mas->dev);
+       struct spi_geni_master *mas = spi_controller_get_devdata(slv->controller);
+       struct spi_controller *spi = dev_get_drvdata(mas->dev);
        struct geni_se *se = &mas->se;
        unsigned long time_left;
 
 }
 
 static int setup_fifo_params(struct spi_device *spi_slv,
-                                       struct spi_master *spi)
+                                       struct spi_controller *spi)
 {
-       struct spi_geni_master *mas = spi_master_get_devdata(spi);
+       struct spi_geni_master *mas = spi_controller_get_devdata(spi);
        struct geni_se *se = &mas->se;
        u32 loopback_cfg = 0, cpol = 0, cpha = 0, demux_output_inv = 0;
        u32 demux_sel;
 static void
 spi_gsi_callback_result(void *cb, const struct dmaengine_result *result)
 {
-       struct spi_master *spi = cb;
+       struct spi_controller *spi = cb;
 
        spi->cur_msg->status = -EIO;
        if (result->result != DMA_TRANS_NOERROR) {
 }
 
 static int setup_gsi_xfer(struct spi_transfer *xfer, struct spi_geni_master *mas,
-                         struct spi_device *spi_slv, struct spi_master *spi)
+                         struct spi_device *spi_slv, struct spi_controller *spi)
 {
        unsigned long flags = DMA_PREP_INTERRUPT | DMA_CTRL_ACK;
        struct dma_slave_config config = {};
 static bool geni_can_dma(struct spi_controller *ctlr,
                         struct spi_device *slv, struct spi_transfer *xfer)
 {
-       struct spi_geni_master *mas = spi_master_get_devdata(slv->master);
+       struct spi_geni_master *mas = spi_controller_get_devdata(slv->controller);
        u32 len, fifo_size;
 
        if (mas->cur_xfer_mode == GENI_GPI_DMA)
                return true;
 
-       /* Set SE DMA mode for SPI slave. */
-       if (ctlr->slave)
+       /* Set SE DMA mode for SPI target. */
+       if (ctlr->target)
                return true;
 
        len = get_xfer_len_in_words(xfer, mas);
                return false;
 }
 
-static int spi_geni_prepare_message(struct spi_master *spi,
-                                       struct spi_message *spi_msg)
+static int spi_geni_prepare_message(struct spi_controller *spi,
+                                   struct spi_message *spi_msg)
 {
-       struct spi_geni_master *mas = spi_master_get_devdata(spi);
+       struct spi_geni_master *mas = spi_controller_get_devdata(spi);
        int ret;
 
        switch (mas->cur_xfer_mode) {
 
        proto = geni_se_read_proto(se);
 
-       if (spi->slave) {
+       if (spi->target) {
                if (proto != GENI_SE_SPI_SLAVE) {
                        dev_err(mas->dev, "Invalid proto %d\n", proto);
                        goto out_pm;
        }
 
        /* We always control CS manually */
-       if (!spi->slave) {
+       if (!spi->target) {
                spi_tx_cfg = readl(se->base + SE_SPI_TRANS_CFG);
                spi_tx_cfg &= ~CS_TOGGLE;
                writel(spi_tx_cfg, se->base + SE_SPI_TRANS_CFG);
 
 static int setup_se_xfer(struct spi_transfer *xfer,
                                struct spi_geni_master *mas,
-                               u16 mode, struct spi_master *spi)
+                               u16 mode, struct spi_controller *spi)
 {
        u32 m_cmd = 0;
        u32 len;
        return ret;
 }
 
-static int spi_geni_transfer_one(struct spi_master *spi,
-                               struct spi_device *slv,
-                               struct spi_transfer *xfer)
+static int spi_geni_transfer_one(struct spi_controller *spi,
+                                struct spi_device *slv,
+                                struct spi_transfer *xfer)
 {
-       struct spi_geni_master *mas = spi_master_get_devdata(spi);
+       struct spi_geni_master *mas = spi_controller_get_devdata(spi);
        int ret;
 
        if (spi_geni_is_abort_still_pending(mas))
 
 static irqreturn_t geni_spi_isr(int irq, void *data)
 {
-       struct spi_master *spi = data;
-       struct spi_geni_master *mas = spi_master_get_devdata(spi);
+       struct spi_controller *spi = data;
+       struct spi_geni_master *mas = spi_controller_get_devdata(spi);
        struct geni_se *se = &mas->se;
        u32 m_irq;
 
 static int spi_geni_probe(struct platform_device *pdev)
 {
        int ret, irq;
-       struct spi_master *spi;
+       struct spi_controller *spi;
        struct spi_geni_master *mas;
        void __iomem *base;
        struct clk *clk;
        if (IS_ERR(clk))
                return PTR_ERR(clk);
 
-       spi = devm_spi_alloc_master(dev, sizeof(*mas));
+       spi = devm_spi_alloc_host(dev, sizeof(*mas));
        if (!spi)
                return -ENOMEM;
 
        platform_set_drvdata(pdev, spi);
-       mas = spi_master_get_devdata(spi);
+       mas = spi_controller_get_devdata(spi);
        mas->irq = irq;
        mas->dev = dev;
        mas->se.dev = dev;
        pm_runtime_enable(dev);
 
        if (device_property_read_bool(&pdev->dev, "spi-slave"))
-               spi->slave = true;
+               spi->target = true;
 
        ret = geni_icc_get(&mas->se, NULL);
        if (ret)
         * for dma (gsi) mode, the gsi will set cs based on params passed in
         * TRE
         */
-       if (!spi->slave && mas->cur_xfer_mode == GENI_SE_FIFO)
+       if (!spi->target && mas->cur_xfer_mode == GENI_SE_FIFO)
                spi->set_cs = spi_geni_set_cs;
 
        /*
        if (ret)
                goto spi_geni_release_dma;
 
-       ret = spi_register_master(spi);
+       ret = spi_register_controller(spi);
        if (ret)
                goto spi_geni_probe_free_irq;
 
 
 static void spi_geni_remove(struct platform_device *pdev)
 {
-       struct spi_master *spi = platform_get_drvdata(pdev);
-       struct spi_geni_master *mas = spi_master_get_devdata(spi);
+       struct spi_controller *spi = platform_get_drvdata(pdev);
+       struct spi_geni_master *mas = spi_controller_get_devdata(spi);
 
        /* Unregister _before_ disabling pm_runtime() so we stop transfers */
-       spi_unregister_master(spi);
+       spi_unregister_controller(spi);
 
        spi_geni_release_dma_chan(mas);
 
 
 static int __maybe_unused spi_geni_runtime_suspend(struct device *dev)
 {
-       struct spi_master *spi = dev_get_drvdata(dev);
-       struct spi_geni_master *mas = spi_master_get_devdata(spi);
+       struct spi_controller *spi = dev_get_drvdata(dev);
+       struct spi_geni_master *mas = spi_controller_get_devdata(spi);
        int ret;
 
        /* Drop the performance state vote */
 
 static int __maybe_unused spi_geni_runtime_resume(struct device *dev)
 {
-       struct spi_master *spi = dev_get_drvdata(dev);
-       struct spi_geni_master *mas = spi_master_get_devdata(spi);
+       struct spi_controller *spi = dev_get_drvdata(dev);
+       struct spi_geni_master *mas = spi_controller_get_devdata(spi);
        int ret;
 
        ret = geni_icc_enable(&mas->se);
 
 static int __maybe_unused spi_geni_suspend(struct device *dev)
 {
-       struct spi_master *spi = dev_get_drvdata(dev);
+       struct spi_controller *spi = dev_get_drvdata(dev);
        int ret;
 
-       ret = spi_master_suspend(spi);
+       ret = spi_controller_suspend(spi);
        if (ret)
                return ret;
 
        ret = pm_runtime_force_suspend(dev);
        if (ret)
-               spi_master_resume(spi);
+               spi_controller_resume(spi);
 
        return ret;
 }
 
 static int __maybe_unused spi_geni_resume(struct device *dev)
 {
-       struct spi_master *spi = dev_get_drvdata(dev);
+       struct spi_controller *spi = dev_get_drvdata(dev);
        int ret;
 
        ret = pm_runtime_force_resume(dev);
        if (ret)
                return ret;
 
-       ret = spi_master_resume(spi);
+       ret = spi_controller_resume(spi);
        if (ret)
                pm_runtime_force_suspend(dev);