return ret;
 }
 
-static int pch_spi_pd_remove(struct platform_device *plat_dev)
+static void pch_spi_pd_remove(struct platform_device *plat_dev)
 {
        struct pch_spi_board_data *board_dat = dev_get_platdata(&plat_dev->dev);
        struct pch_spi_data *data = platform_get_drvdata(plat_dev);
 
        pci_iounmap(board_dat->pdev, data->io_remap_addr);
        spi_unregister_master(data->master);
-
-       return 0;
 }
 #ifdef CONFIG_PM
 static int pch_spi_pd_suspend(struct platform_device *pd_dev,
                .name = "pch-spi",
        },
        .probe = pch_spi_pd_probe,
-       .remove = pch_spi_pd_remove,
+       .remove_new = pch_spi_pd_remove,
        .suspend = pch_spi_pd_suspend,
        .resume = pch_spi_pd_resume
 };