acpi_tad.c (a1c613ae4c322ddd58d5a8539dbfba2a0380a8c0) acpi_tad.c (9a7897a2b03183f15ea4c7645416daf3ae1f634e)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * ACPI Time and Alarm (TAD) Device Driver
4 *
5 * Copyright (C) 2018 Intel Corporation
6 * Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
7 *
8 * This driver is based on Section 9.18 of the ACPI 6.2 specification revision.

--- 540 unchanged lines hidden (view full) ---

549 .attrs = acpi_tad_dc_attrs,
550};
551
552static int acpi_tad_disable_timer(struct device *dev, u32 timer_id)
553{
554 return acpi_tad_wake_set(dev, "_STV", timer_id, ACPI_TAD_WAKE_DISABLED);
555}
556
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * ACPI Time and Alarm (TAD) Device Driver
4 *
5 * Copyright (C) 2018 Intel Corporation
6 * Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
7 *
8 * This driver is based on Section 9.18 of the ACPI 6.2 specification revision.

--- 540 unchanged lines hidden (view full) ---

549 .attrs = acpi_tad_dc_attrs,
550};
551
552static int acpi_tad_disable_timer(struct device *dev, u32 timer_id)
553{
554 return acpi_tad_wake_set(dev, "_STV", timer_id, ACPI_TAD_WAKE_DISABLED);
555}
556
557static int acpi_tad_remove(struct platform_device *pdev)
557static void acpi_tad_remove(struct platform_device *pdev)
558{
559 struct device *dev = &pdev->dev;
560 acpi_handle handle = ACPI_HANDLE(dev);
561 struct acpi_tad_driver_data *dd = dev_get_drvdata(dev);
562
563 device_init_wakeup(dev, false);
564
565 pm_runtime_get_sync(dev);

--- 8 unchanged lines hidden (view full) ---

574 if (dd->capabilities & ACPI_TAD_DC_WAKE) {
575 acpi_tad_disable_timer(dev, ACPI_TAD_DC_TIMER);
576 acpi_tad_clear_status(dev, ACPI_TAD_DC_TIMER);
577 }
578
579 pm_runtime_put_sync(dev);
580 pm_runtime_disable(dev);
581 acpi_remove_cmos_rtc_space_handler(handle);
558{
559 struct device *dev = &pdev->dev;
560 acpi_handle handle = ACPI_HANDLE(dev);
561 struct acpi_tad_driver_data *dd = dev_get_drvdata(dev);
562
563 device_init_wakeup(dev, false);
564
565 pm_runtime_get_sync(dev);

--- 8 unchanged lines hidden (view full) ---

574 if (dd->capabilities & ACPI_TAD_DC_WAKE) {
575 acpi_tad_disable_timer(dev, ACPI_TAD_DC_TIMER);
576 acpi_tad_clear_status(dev, ACPI_TAD_DC_TIMER);
577 }
578
579 pm_runtime_put_sync(dev);
580 pm_runtime_disable(dev);
581 acpi_remove_cmos_rtc_space_handler(handle);
582 return 0;
583}
584
585static int acpi_tad_probe(struct platform_device *pdev)
586{
587 struct device *dev = &pdev->dev;
588 acpi_handle handle = ACPI_HANDLE(dev);
589 struct acpi_tad_driver_data *dd;
590 acpi_status status;

--- 88 unchanged lines hidden (view full) ---

679};
680
681static struct platform_driver acpi_tad_driver = {
682 .driver = {
683 .name = "acpi-tad",
684 .acpi_match_table = acpi_tad_ids,
685 },
686 .probe = acpi_tad_probe,
582}
583
584static int acpi_tad_probe(struct platform_device *pdev)
585{
586 struct device *dev = &pdev->dev;
587 acpi_handle handle = ACPI_HANDLE(dev);
588 struct acpi_tad_driver_data *dd;
589 acpi_status status;

--- 88 unchanged lines hidden (view full) ---

678};
679
680static struct platform_driver acpi_tad_driver = {
681 .driver = {
682 .name = "acpi-tad",
683 .acpi_match_table = acpi_tad_ids,
684 },
685 .probe = acpi_tad_probe,
687 .remove = acpi_tad_remove,
686 .remove_new = acpi_tad_remove,
688};
689MODULE_DEVICE_TABLE(acpi, acpi_tad_ids);
690
691module_platform_driver(acpi_tad_driver);
687};
688MODULE_DEVICE_TABLE(acpi, acpi_tad_ids);
689
690module_platform_driver(acpi_tad_driver);