static void vrtc_mrst_platform_shutdown(struct platform_device *pdev) { if (system_state == SYSTEM_POWER_OFF && !mrst_poweroff(&pdev->dev)) return; rtc_mrst_do_shutdown(); }
static void rtc_mrst_do_remove(struct device *dev) { struct mrst_rtc *mrst = dev_get_drvdata(dev); struct resource *iomem; rtc_mrst_do_shutdown(); if (is_valid_irq(mrst->irq)) free_irq(mrst->irq, mrst->rtc); if ((__intel_mid_cpu_chip == INTEL_MID_CPU_CHIP_PENWELL) || (__intel_mid_cpu_chip == INTEL_MID_CPU_CHIP_CLOVERVIEW)) { if (oshob_addr != NULL) iounmap(oshob_addr); } rtc_device_unregister(mrst->rtc); mrst->rtc = NULL; iomem = mrst->iomem; release_mem_region(iomem->start, resource_size(iomem)); mrst->iomem = NULL; mrst->dev = NULL; dev_set_drvdata(dev, NULL); }
static void __devexit rtc_mrst_do_remove(struct device *dev) { struct mrst_rtc *mrst = dev_get_drvdata(dev); struct resource *iomem; rtc_mrst_do_shutdown(); if (mrst->irq) free_irq(mrst->irq, mrst->rtc); rtc_device_unregister(mrst->rtc); mrst->rtc = NULL; iomem = mrst->iomem; release_mem_region(iomem->start, resource_size(iomem)); mrst->iomem = NULL; mrst->dev = NULL; dev_set_drvdata(dev, NULL); }