return ret;
 }
 
+/* Note this is also used for shutdown */
 static void vsc_tp_remove(struct spi_device *spi)
 {
        struct vsc_tp *tp = spi_get_drvdata(spi);
        free_irq(spi->irq, tp);
 }
 
-static void vsc_tp_shutdown(struct spi_device *spi)
-{
-       struct vsc_tp *tp = spi_get_drvdata(spi);
-
-       platform_device_unregister(tp->pdev);
-
-       mutex_destroy(&tp->mutex);
-
-       free_irq(spi->irq, tp);
-}
-
 static const struct acpi_device_id vsc_tp_acpi_ids[] = {
        { "INTC1009" }, /* Raptor Lake */
        { "INTC1058" }, /* Tiger Lake */
 static struct spi_driver vsc_tp_driver = {
        .probe = vsc_tp_probe,
        .remove = vsc_tp_remove,
-       .shutdown = vsc_tp_shutdown,
+       .shutdown = vsc_tp_remove,
        .driver = {
                .name = "vsc-tp",
                .acpi_match_table = vsc_tp_acpi_ids,