return retval;
 }
 
-static int ohci_hcd_sm501_drv_remove(struct platform_device *pdev)
+static void ohci_hcd_sm501_drv_remove(struct platform_device *pdev)
 {
        struct usb_hcd *hcd = platform_get_drvdata(pdev);
        struct resource *mem;
 
        sm501_modify_reg(pdev->dev.parent, SM501_IRQ_MASK, 0, 1 << 6);
        sm501_unit_power(pdev->dev.parent, SM501_GATE_USB_HOST, 0);
-
-       return 0;
 }
 
 /*-------------------------------------------------------------------------*/
  */
 static struct platform_driver ohci_hcd_sm501_driver = {
        .probe          = ohci_hcd_sm501_drv_probe,
-       .remove         = ohci_hcd_sm501_drv_remove,
+       .remove_new     = ohci_hcd_sm501_drv_remove,
        .shutdown       = usb_hcd_platform_shutdown,
        .suspend        = ohci_sm501_suspend,
        .resume         = ohci_sm501_resume,