* [abelloni:rtc-next 17/17] drivers/rtc/rtc-cmos.c:776:9: error: implicit declaration of function 'acpi_clear_event'
@ 2026-04-07 3:51 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-04-07 3:51 UTC (permalink / raw)
To: Alexandre Belloni; +Cc: oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next
head: a33bf4b6adf70aa8c8a18a231ea7aed3fd1b3875
commit: a33bf4b6adf70aa8c8a18a231ea7aed3fd1b3875 [17/17] rtc: cmos: Remove redundant include of linux/acpi.h
config: x86_64-randconfig-001-20260404 (https://download.01.org/0day-ci/archive/20260404/202604040603.JCX3Waev-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260404/202604040603.JCX3Waev-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604040603.JCX3Waev-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/rtc/rtc-cmos.c: In function 'rtc_handler':
>> drivers/rtc/rtc-cmos.c:776:9: error: implicit declaration of function 'acpi_clear_event' [-Wimplicit-function-declaration]
776 | acpi_clear_event(ACPI_EVENT_RTC);
| ^~~~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:776:26: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
776 | acpi_clear_event(ACPI_EVENT_RTC);
| ^~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c:776:26: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/rtc/rtc-cmos.c:777:9: error: implicit declaration of function 'acpi_disable_event' [-Wimplicit-function-declaration]
777 | acpi_disable_event(ACPI_EVENT_RTC, 0);
| ^~~~~~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:778:16: error: 'ACPI_INTERRUPT_HANDLED' undeclared (first use in this function)
778 | return ACPI_INTERRUPT_HANDLED;
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'acpi_rtc_event_setup':
>> drivers/rtc/rtc-cmos.c:783:13: error: 'acpi_disabled' undeclared (first use in this function); did you mean 'irqs_disabled'?
783 | if (acpi_disabled)
| ^~~~~~~~~~~~~
| irqs_disabled
>> drivers/rtc/rtc-cmos.c:786:9: error: implicit declaration of function 'acpi_install_fixed_event_handler' [-Wimplicit-function-declaration]
786 | acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, dev);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c:786:42: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
786 | acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, dev);
| ^~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'acpi_rtc_event_cleanup':
drivers/rtc/rtc-cmos.c:797:13: error: 'acpi_disabled' undeclared (first use in this function); did you mean 'irqs_disabled'?
797 | if (acpi_disabled)
| ^~~~~~~~~~~~~
| irqs_disabled
>> drivers/rtc/rtc-cmos.c:800:9: error: implicit declaration of function 'acpi_remove_fixed_event_handler' [-Wimplicit-function-declaration]
800 | acpi_remove_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c:800:41: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
800 | acpi_remove_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler);
| ^~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'rtc_wake_on':
drivers/rtc/rtc-cmos.c:805:26: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
805 | acpi_clear_event(ACPI_EVENT_RTC);
| ^~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:806:9: error: implicit declaration of function 'acpi_enable_event' [-Wimplicit-function-declaration]
806 | acpi_enable_event(ACPI_EVENT_RTC, 0);
| ^~~~~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'rtc_wake_off':
drivers/rtc/rtc-cmos.c:811:28: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
811 | acpi_disable_event(ACPI_EVENT_RTC, 0);
| ^~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'acpi_cmos_wake_setup':
drivers/rtc/rtc-cmos.c:841:13: error: 'acpi_disabled' undeclared (first use in this function); did you mean 'irqs_disabled'?
841 | if (acpi_disabled)
| ^~~~~~~~~~~~~
| irqs_disabled
>> drivers/rtc/rtc-cmos.c:850:13: error: 'acpi_gbl_FADT' undeclared (first use in this function)
850 | if (acpi_gbl_FADT.month_alarm && !acpi_gbl_FADT.day_alarm) {
| ^~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:860:35: error: 'ACPI_FADT_S4_RTC_WAKE' undeclared (first use in this function)
860 | if (acpi_gbl_FADT.flags & ACPI_FADT_S4_RTC_WAKE)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'cmos_check_acpi_rtc_status':
>> drivers/rtc/rtc-cmos.c:871:9: error: unknown type name 'acpi_event_status'
871 | acpi_event_status rtc_status;
| ^~~~~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:872:9: error: unknown type name 'acpi_status'; did you mean 'si_status'?
872 | acpi_status status;
| ^~~~~~~~~~~
| si_status
drivers/rtc/rtc-cmos.c:874:13: error: 'acpi_gbl_FADT' undeclared (first use in this function)
874 | if (acpi_gbl_FADT.flags & ACPI_FADT_FIXED_RTC)
| ^~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:874:35: error: 'ACPI_FADT_FIXED_RTC' undeclared (first use in this function)
874 | if (acpi_gbl_FADT.flags & ACPI_FADT_FIXED_RTC)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:877:18: error: implicit declaration of function 'acpi_get_event_status'; did you mean 'acpi_rtc_event_setup'? [-Wimplicit-function-declaration]
877 | status = acpi_get_event_status(ACPI_EVENT_RTC, &rtc_status);
| ^~~~~~~~~~~~~~~~~~~~~
| acpi_rtc_event_setup
drivers/rtc/rtc-cmos.c:877:40: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
877 | status = acpi_get_event_status(ACPI_EVENT_RTC, &rtc_status);
| ^~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:878:13: error: implicit declaration of function 'ACPI_FAILURE' [-Wimplicit-function-declaration]
878 | if (ACPI_FAILURE(status)) {
| ^~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:880:33: error: 'ACPI_EVENT_FLAG_SET' undeclared (first use in this function)
880 | } else if (rtc_status & ACPI_EVENT_FLAG_SET) {
| ^~~~~~~~~~~~~~~~~~~
vim +/acpi_clear_event +776 drivers/rtc/rtc-cmos.c
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 744
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 745 static u32 rtc_handler(void *context)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 746 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 747 struct device *dev = context;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 748 struct cmos_rtc *cmos = dev_get_drvdata(dev);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 749 unsigned char rtc_control = 0;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 750 unsigned char rtc_intr;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 751 unsigned long flags;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 752
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 753
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 754 /*
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 755 * Always update rtc irq when ACPI is used as RTC Alarm.
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 756 * Or else, ACPI SCI is enabled during suspend/resume only,
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 757 * update rtc irq in that case.
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 758 */
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 759 if (cmos_use_acpi_alarm())
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 760 cmos_interrupt(0, (void *)cmos->rtc);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 761 else {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 762 /* Fix me: can we use cmos_interrupt() here as well? */
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 763 spin_lock_irqsave(&rtc_lock, flags);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 764 if (cmos_rtc.suspend_ctrl)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 765 rtc_control = CMOS_READ(RTC_CONTROL);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 766 if (rtc_control & RTC_AIE) {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 767 cmos_rtc.suspend_ctrl &= ~RTC_AIE;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 768 CMOS_WRITE(rtc_control, RTC_CONTROL);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 769 rtc_intr = CMOS_READ(RTC_INTR_FLAGS);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 770 rtc_update_irq(cmos->rtc, 1, rtc_intr);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 771 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 772 spin_unlock_irqrestore(&rtc_lock, flags);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 773 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 774
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 775 pm_wakeup_hard_event(dev);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @776 acpi_clear_event(ACPI_EVENT_RTC);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @777 acpi_disable_event(ACPI_EVENT_RTC, 0);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @778 return ACPI_INTERRUPT_HANDLED;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 779 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 780
d13e9ad9f5146f Rafael J. Wysocki 2022-11-09 781 static void acpi_rtc_event_setup(struct device *dev)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 782 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @783 if (acpi_disabled)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 784 return;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 785
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @786 acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, dev);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 787 /*
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 788 * After the RTC handler is installed, the Fixed_RTC event should
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 789 * be disabled. Only when the RTC alarm is set will it be enabled.
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 790 */
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 791 acpi_clear_event(ACPI_EVENT_RTC);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 792 acpi_disable_event(ACPI_EVENT_RTC, 0);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 793 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 794
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 795 static void acpi_rtc_event_cleanup(void)
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 796 {
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 797 if (acpi_disabled)
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 798 return;
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 799
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 @800 acpi_remove_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler);
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 801 }
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 802
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 803 static void rtc_wake_on(struct device *dev)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 804 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 805 acpi_clear_event(ACPI_EVENT_RTC);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @806 acpi_enable_event(ACPI_EVENT_RTC, 0);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 807 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 808
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 809 static void rtc_wake_off(struct device *dev)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 810 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 811 acpi_disable_event(ACPI_EVENT_RTC, 0);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 812 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 813
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 814 #ifdef CONFIG_X86
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 815 static void use_acpi_alarm_quirks(void)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 816 {
3d762e21d56370 Mario Limonciello 2023-11-06 817 switch (boot_cpu_data.x86_vendor) {
3d762e21d56370 Mario Limonciello 2023-11-06 818 case X86_VENDOR_INTEL:
3d762e21d56370 Mario Limonciello 2023-11-06 819 if (dmi_get_bios_year() < 2015)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 820 return;
3d762e21d56370 Mario Limonciello 2023-11-06 821 break;
3d762e21d56370 Mario Limonciello 2023-11-06 822 case X86_VENDOR_AMD:
3d762e21d56370 Mario Limonciello 2023-11-06 823 case X86_VENDOR_HYGON:
3d762e21d56370 Mario Limonciello 2023-11-06 824 if (dmi_get_bios_year() < 2021)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 825 return;
3d762e21d56370 Mario Limonciello 2023-11-06 826 break;
3d762e21d56370 Mario Limonciello 2023-11-06 827 default:
3d762e21d56370 Mario Limonciello 2023-11-06 828 return;
3d762e21d56370 Mario Limonciello 2023-11-06 829 }
3d762e21d56370 Mario Limonciello 2023-11-06 830 if (!is_hpet_enabled())
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 831 return;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 832
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 833 use_acpi_alarm = true;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 834 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 835 #else
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 836 static inline void use_acpi_alarm_quirks(void) { }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 837 #endif
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 838
d13e9ad9f5146f Rafael J. Wysocki 2022-11-09 839 static void acpi_cmos_wake_setup(struct device *dev)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 840 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 841 if (acpi_disabled)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 842 return;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 843
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 844 use_acpi_alarm_quirks();
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 845
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 846 cmos_rtc.wake_on = rtc_wake_on;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 847 cmos_rtc.wake_off = rtc_wake_off;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 848
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 849 /* ACPI tables bug workaround. */
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @850 if (acpi_gbl_FADT.month_alarm && !acpi_gbl_FADT.day_alarm) {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 851 dev_dbg(dev, "bogus FADT month_alarm (%d)\n",
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 852 acpi_gbl_FADT.month_alarm);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 853 acpi_gbl_FADT.month_alarm = 0;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 854 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 855
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 856 cmos_rtc.day_alrm = acpi_gbl_FADT.day_alarm;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 857 cmos_rtc.mon_alrm = acpi_gbl_FADT.month_alarm;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 858 cmos_rtc.century = acpi_gbl_FADT.century;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 859
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @860 if (acpi_gbl_FADT.flags & ACPI_FADT_S4_RTC_WAKE)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 861 dev_info(dev, "RTC can wake from S4\n");
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 862
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 863 /* RTC always wakes from S1/S2/S3, and often S4/STD */
8c28c4993f117e Wolfram Sang 2024-12-17 864 device_init_wakeup(dev, true);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 865 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 866
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 867 static void cmos_check_acpi_rtc_status(struct device *dev,
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 868 unsigned char *rtc_control)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 869 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 870 struct cmos_rtc *cmos = dev_get_drvdata(dev);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @871 acpi_event_status rtc_status;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @872 acpi_status status;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 873
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @874 if (acpi_gbl_FADT.flags & ACPI_FADT_FIXED_RTC)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 875 return;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 876
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @877 status = acpi_get_event_status(ACPI_EVENT_RTC, &rtc_status);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @878 if (ACPI_FAILURE(status)) {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 879 dev_err(dev, "Could not get RTC status\n");
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @880 } else if (rtc_status & ACPI_EVENT_FLAG_SET) {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 881 unsigned char mask;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 882 *rtc_control &= ~RTC_AIE;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 883 CMOS_WRITE(*rtc_control, RTC_CONTROL);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 884 mask = CMOS_READ(RTC_INTR_FLAGS);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 885 rtc_update_irq(cmos->rtc, 1, mask);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 886 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 887 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 888
:::::: The code at line 776 was first introduced by commit
:::::: dca4d3b71c8a09a16951add656711fbd6f5bfbb0 rtc: cmos: Eliminate forward declarations of some functions
:::::: TO: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
:::::: CC: Alexandre Belloni <alexandre.belloni@bootlin.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread* [abelloni:rtc-next 17/17] drivers/rtc/rtc-cmos.c:776:9: error: implicit declaration of function 'acpi_clear_event'
@ 2026-04-03 21:04 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2026-04-03 21:04 UTC (permalink / raw)
To: Alexandre Belloni; +Cc: oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git rtc-next
head: a33bf4b6adf70aa8c8a18a231ea7aed3fd1b3875
commit: a33bf4b6adf70aa8c8a18a231ea7aed3fd1b3875 [17/17] rtc: cmos: Remove redundant include of linux/acpi.h
config: x86_64-rhel-9.4 (https://download.01.org/0day-ci/archive/20260403/202604032226.TPEKkUt6-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260403/202604032226.TPEKkUt6-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604032226.TPEKkUt6-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/rtc/rtc-cmos.c: In function 'rtc_handler':
>> drivers/rtc/rtc-cmos.c:776:9: error: implicit declaration of function 'acpi_clear_event' [-Wimplicit-function-declaration]
776 | acpi_clear_event(ACPI_EVENT_RTC);
| ^~~~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:776:26: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
776 | acpi_clear_event(ACPI_EVENT_RTC);
| ^~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c:776:26: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/rtc/rtc-cmos.c:777:9: error: implicit declaration of function 'acpi_disable_event' [-Wimplicit-function-declaration]
777 | acpi_disable_event(ACPI_EVENT_RTC, 0);
| ^~~~~~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:778:16: error: 'ACPI_INTERRUPT_HANDLED' undeclared (first use in this function)
778 | return ACPI_INTERRUPT_HANDLED;
| ^~~~~~~~~~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'acpi_rtc_event_setup':
>> drivers/rtc/rtc-cmos.c:783:13: error: 'acpi_disabled' undeclared (first use in this function); did you mean 'irqs_disabled'?
783 | if (acpi_disabled)
| ^~~~~~~~~~~~~
| irqs_disabled
>> drivers/rtc/rtc-cmos.c:786:9: error: implicit declaration of function 'acpi_install_fixed_event_handler' [-Wimplicit-function-declaration]
786 | acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, dev);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c:786:42: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
786 | acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, dev);
| ^~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'acpi_rtc_event_cleanup':
drivers/rtc/rtc-cmos.c:797:13: error: 'acpi_disabled' undeclared (first use in this function); did you mean 'irqs_disabled'?
797 | if (acpi_disabled)
| ^~~~~~~~~~~~~
| irqs_disabled
>> drivers/rtc/rtc-cmos.c:800:9: error: implicit declaration of function 'acpi_remove_fixed_event_handler' [-Wimplicit-function-declaration]
800 | acpi_remove_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c:800:41: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
800 | acpi_remove_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler);
| ^~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'rtc_wake_on':
drivers/rtc/rtc-cmos.c:805:26: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
805 | acpi_clear_event(ACPI_EVENT_RTC);
| ^~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:806:9: error: implicit declaration of function 'acpi_enable_event' [-Wimplicit-function-declaration]
806 | acpi_enable_event(ACPI_EVENT_RTC, 0);
| ^~~~~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'rtc_wake_off':
drivers/rtc/rtc-cmos.c:811:28: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
811 | acpi_disable_event(ACPI_EVENT_RTC, 0);
| ^~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'acpi_cmos_wake_setup':
drivers/rtc/rtc-cmos.c:841:13: error: 'acpi_disabled' undeclared (first use in this function); did you mean 'irqs_disabled'?
841 | if (acpi_disabled)
| ^~~~~~~~~~~~~
| irqs_disabled
>> drivers/rtc/rtc-cmos.c:850:13: error: 'acpi_gbl_FADT' undeclared (first use in this function)
850 | if (acpi_gbl_FADT.month_alarm && !acpi_gbl_FADT.day_alarm) {
| ^~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:860:35: error: 'ACPI_FADT_S4_RTC_WAKE' undeclared (first use in this function)
860 | if (acpi_gbl_FADT.flags & ACPI_FADT_S4_RTC_WAKE)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/rtc/rtc-cmos.c: In function 'cmos_check_acpi_rtc_status':
>> drivers/rtc/rtc-cmos.c:871:9: error: unknown type name 'acpi_event_status'
871 | acpi_event_status rtc_status;
| ^~~~~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:872:9: error: unknown type name 'acpi_status'; did you mean 'si_status'?
872 | acpi_status status;
| ^~~~~~~~~~~
| si_status
drivers/rtc/rtc-cmos.c:874:13: error: 'acpi_gbl_FADT' undeclared (first use in this function)
874 | if (acpi_gbl_FADT.flags & ACPI_FADT_FIXED_RTC)
| ^~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:874:35: error: 'ACPI_FADT_FIXED_RTC' undeclared (first use in this function)
874 | if (acpi_gbl_FADT.flags & ACPI_FADT_FIXED_RTC)
| ^~~~~~~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:877:18: error: implicit declaration of function 'acpi_get_event_status'; did you mean 'acpi_rtc_event_setup'? [-Wimplicit-function-declaration]
877 | status = acpi_get_event_status(ACPI_EVENT_RTC, &rtc_status);
| ^~~~~~~~~~~~~~~~~~~~~
| acpi_rtc_event_setup
drivers/rtc/rtc-cmos.c:877:40: error: 'ACPI_EVENT_RTC' undeclared (first use in this function)
877 | status = acpi_get_event_status(ACPI_EVENT_RTC, &rtc_status);
| ^~~~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:878:13: error: implicit declaration of function 'ACPI_FAILURE' [-Wimplicit-function-declaration]
878 | if (ACPI_FAILURE(status)) {
| ^~~~~~~~~~~~
>> drivers/rtc/rtc-cmos.c:880:33: error: 'ACPI_EVENT_FLAG_SET' undeclared (first use in this function)
880 | } else if (rtc_status & ACPI_EVENT_FLAG_SET) {
| ^~~~~~~~~~~~~~~~~~~
vim +/acpi_clear_event +776 drivers/rtc/rtc-cmos.c
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 744
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 745 static u32 rtc_handler(void *context)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 746 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 747 struct device *dev = context;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 748 struct cmos_rtc *cmos = dev_get_drvdata(dev);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 749 unsigned char rtc_control = 0;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 750 unsigned char rtc_intr;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 751 unsigned long flags;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 752
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 753
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 754 /*
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 755 * Always update rtc irq when ACPI is used as RTC Alarm.
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 756 * Or else, ACPI SCI is enabled during suspend/resume only,
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 757 * update rtc irq in that case.
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 758 */
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 759 if (cmos_use_acpi_alarm())
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 760 cmos_interrupt(0, (void *)cmos->rtc);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 761 else {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 762 /* Fix me: can we use cmos_interrupt() here as well? */
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 763 spin_lock_irqsave(&rtc_lock, flags);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 764 if (cmos_rtc.suspend_ctrl)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 765 rtc_control = CMOS_READ(RTC_CONTROL);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 766 if (rtc_control & RTC_AIE) {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 767 cmos_rtc.suspend_ctrl &= ~RTC_AIE;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 768 CMOS_WRITE(rtc_control, RTC_CONTROL);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 769 rtc_intr = CMOS_READ(RTC_INTR_FLAGS);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 770 rtc_update_irq(cmos->rtc, 1, rtc_intr);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 771 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 772 spin_unlock_irqrestore(&rtc_lock, flags);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 773 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 774
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 775 pm_wakeup_hard_event(dev);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @776 acpi_clear_event(ACPI_EVENT_RTC);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @777 acpi_disable_event(ACPI_EVENT_RTC, 0);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @778 return ACPI_INTERRUPT_HANDLED;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 779 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 780
d13e9ad9f5146f Rafael J. Wysocki 2022-11-09 781 static void acpi_rtc_event_setup(struct device *dev)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 782 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @783 if (acpi_disabled)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 784 return;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 785
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @786 acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, dev);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 787 /*
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 788 * After the RTC handler is installed, the Fixed_RTC event should
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 789 * be disabled. Only when the RTC alarm is set will it be enabled.
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 790 */
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 791 acpi_clear_event(ACPI_EVENT_RTC);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 792 acpi_disable_event(ACPI_EVENT_RTC, 0);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 793 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 794
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 795 static void acpi_rtc_event_cleanup(void)
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 796 {
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 797 if (acpi_disabled)
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 798 return;
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 799
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 @800 acpi_remove_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler);
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 801 }
83ebb7b3036d15 Rafael J. Wysocki 2022-11-09 802
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 803 static void rtc_wake_on(struct device *dev)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 804 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 805 acpi_clear_event(ACPI_EVENT_RTC);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @806 acpi_enable_event(ACPI_EVENT_RTC, 0);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 807 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 808
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 809 static void rtc_wake_off(struct device *dev)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 810 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 811 acpi_disable_event(ACPI_EVENT_RTC, 0);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 812 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 813
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 814 #ifdef CONFIG_X86
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 815 static void use_acpi_alarm_quirks(void)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 816 {
3d762e21d56370 Mario Limonciello 2023-11-06 817 switch (boot_cpu_data.x86_vendor) {
3d762e21d56370 Mario Limonciello 2023-11-06 818 case X86_VENDOR_INTEL:
3d762e21d56370 Mario Limonciello 2023-11-06 819 if (dmi_get_bios_year() < 2015)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 820 return;
3d762e21d56370 Mario Limonciello 2023-11-06 821 break;
3d762e21d56370 Mario Limonciello 2023-11-06 822 case X86_VENDOR_AMD:
3d762e21d56370 Mario Limonciello 2023-11-06 823 case X86_VENDOR_HYGON:
3d762e21d56370 Mario Limonciello 2023-11-06 824 if (dmi_get_bios_year() < 2021)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 825 return;
3d762e21d56370 Mario Limonciello 2023-11-06 826 break;
3d762e21d56370 Mario Limonciello 2023-11-06 827 default:
3d762e21d56370 Mario Limonciello 2023-11-06 828 return;
3d762e21d56370 Mario Limonciello 2023-11-06 829 }
3d762e21d56370 Mario Limonciello 2023-11-06 830 if (!is_hpet_enabled())
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 831 return;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 832
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 833 use_acpi_alarm = true;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 834 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 835 #else
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 836 static inline void use_acpi_alarm_quirks(void) { }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 837 #endif
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 838
d13e9ad9f5146f Rafael J. Wysocki 2022-11-09 839 static void acpi_cmos_wake_setup(struct device *dev)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 840 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 841 if (acpi_disabled)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 842 return;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 843
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 844 use_acpi_alarm_quirks();
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 845
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 846 cmos_rtc.wake_on = rtc_wake_on;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 847 cmos_rtc.wake_off = rtc_wake_off;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 848
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 849 /* ACPI tables bug workaround. */
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @850 if (acpi_gbl_FADT.month_alarm && !acpi_gbl_FADT.day_alarm) {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 851 dev_dbg(dev, "bogus FADT month_alarm (%d)\n",
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 852 acpi_gbl_FADT.month_alarm);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 853 acpi_gbl_FADT.month_alarm = 0;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 854 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 855
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 856 cmos_rtc.day_alrm = acpi_gbl_FADT.day_alarm;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 857 cmos_rtc.mon_alrm = acpi_gbl_FADT.month_alarm;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 858 cmos_rtc.century = acpi_gbl_FADT.century;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 859
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @860 if (acpi_gbl_FADT.flags & ACPI_FADT_S4_RTC_WAKE)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 861 dev_info(dev, "RTC can wake from S4\n");
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 862
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 863 /* RTC always wakes from S1/S2/S3, and often S4/STD */
8c28c4993f117e Wolfram Sang 2024-12-17 864 device_init_wakeup(dev, true);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 865 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 866
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 867 static void cmos_check_acpi_rtc_status(struct device *dev,
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 868 unsigned char *rtc_control)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 869 {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 870 struct cmos_rtc *cmos = dev_get_drvdata(dev);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @871 acpi_event_status rtc_status;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @872 acpi_status status;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 873
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @874 if (acpi_gbl_FADT.flags & ACPI_FADT_FIXED_RTC)
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 875 return;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 876
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @877 status = acpi_get_event_status(ACPI_EVENT_RTC, &rtc_status);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @878 if (ACPI_FAILURE(status)) {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 879 dev_err(dev, "Could not get RTC status\n");
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 @880 } else if (rtc_status & ACPI_EVENT_FLAG_SET) {
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 881 unsigned char mask;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 882 *rtc_control &= ~RTC_AIE;
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 883 CMOS_WRITE(*rtc_control, RTC_CONTROL);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 884 mask = CMOS_READ(RTC_INTR_FLAGS);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 885 rtc_update_irq(cmos->rtc, 1, mask);
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 886 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 887 }
dca4d3b71c8a09 Rafael J. Wysocki 2022-11-09 888
:::::: The code at line 776 was first introduced by commit
:::::: dca4d3b71c8a09a16951add656711fbd6f5bfbb0 rtc: cmos: Eliminate forward declarations of some functions
:::::: TO: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
:::::: CC: Alexandre Belloni <alexandre.belloni@bootlin.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-04-07 3:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-07 3:51 [abelloni:rtc-next 17/17] drivers/rtc/rtc-cmos.c:776:9: error: implicit declaration of function 'acpi_clear_event' kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2026-04-03 21:04 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.