return ret;
 }
 
-static int sifive_spi_remove(struct platform_device *pdev)
+static void sifive_spi_remove(struct platform_device *pdev)
 {
        struct spi_master *master = platform_get_drvdata(pdev);
        struct sifive_spi *spi = spi_master_get_devdata(master);
        /* Disable all the interrupts just in case */
        sifive_spi_write(spi, SIFIVE_SPI_REG_IE, 0);
        clk_disable_unprepare(spi->clk);
-
-       return 0;
 }
 
 static int sifive_spi_suspend(struct device *dev)
 
 static struct platform_driver sifive_spi_driver = {
        .probe = sifive_spi_probe,
-       .remove = sifive_spi_remove,
+       .remove_new = sifive_spi_remove,
        .driver = {
                .name = SIFIVE_SPI_DRIVER_NAME,
                .pm = &sifive_spi_pm_ops,