if (!mgr)
                return -ENOMEM;
 
-       spi_set_drvdata(spi, mgr);
-
-       return fpga_mgr_register(mgr);
-}
-
-static int altera_ps_remove(struct spi_device *spi)
-{
-       struct fpga_manager *mgr = spi_get_drvdata(spi);
-
-       fpga_mgr_unregister(mgr);
-
-       return 0;
+       return devm_fpga_mgr_register(&spi->dev, mgr);
 }
 
 static const struct spi_device_id altera_ps_spi_ids[] = {
        },
        .id_table = altera_ps_spi_ids,
        .probe = altera_ps_probe,
-       .remove = altera_ps_remove,
 };
 
 module_spi_driver(altera_ps_driver)