return 0;
 }
 
-static int meson_ir_remove(struct platform_device *pdev)
+static void meson_ir_remove(struct platform_device *pdev)
 {
        struct meson_ir *ir = platform_get_drvdata(pdev);
        unsigned long flags;
        spin_lock_irqsave(&ir->lock, flags);
        meson_ir_set_mask(ir, IR_DEC_REG1, REG1_ENABLE, 0);
        spin_unlock_irqrestore(&ir->lock, flags);
-
-       return 0;
 }
 
 static void meson_ir_shutdown(struct platform_device *pdev)
 
 static struct platform_driver meson_ir_driver = {
        .probe          = meson_ir_probe,
-       .remove         = meson_ir_remove,
+       .remove_new     = meson_ir_remove,
        .shutdown       = meson_ir_shutdown,
        .driver = {
                .name           = DRIVER_NAME,