Hi Sudip,

[auto build test ERROR on abelloni/rtc-next]
[also build test ERROR on v4.5-rc6 next-20160301]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improving the system]

url:    
https://github.com/0day-ci/linux/commits/Sudip-Mukherjee/rtc-rtc-generic-use-correct-header-file/20160301-204926
base:   https://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux.git 
rtc-next
config: parisc-allmodconfig (attached as .config)
reproduce:
        wget 
https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross
 -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=parisc 

All errors (new ones prefixed by >>):

   In file included from drivers/rtc/rtc-generic.c:12:0:
   include/asm-generic/rtc.h: In function 'rtc_is_updating':
>> include/asm-generic/rtc.h:43:2: error: implicit declaration of function 
>> 'CMOS_READ' [-Werror=implicit-function-declaration]
     uip = (CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP);
     ^
   include/asm-generic/rtc.h: In function '__get_rtc_time':
>> include/asm-generic/rtc.h:94:33: error: 'RTC_ALWAYS_BCD' undeclared (first 
>> use in this function)
     if (!(ctrl & RTC_DM_BINARY) || RTC_ALWAYS_BCD)
                                    ^
   include/asm-generic/rtc.h:94:33: note: each undeclared identifier is 
reported only once for each function it appears in
   include/asm-generic/rtc.h: In function '__set_rtc_time':
   include/asm-generic/rtc.h:188:9: error: 'RTC_ALWAYS_BCD' undeclared (first 
use in this function)
         || RTC_ALWAYS_BCD) {
            ^
>> include/asm-generic/rtc.h:199:2: error: implicit declaration of function 
>> 'CMOS_WRITE' [-Werror=implicit-function-declaration]
     CMOS_WRITE((save_control|RTC_SET), RTC_CONTROL);
     ^
   cc1: some warnings being treated as errors

vim +/CMOS_READ +43 include/asm-generic/rtc.h

^1da177e Linus Torvalds   2005-04-16   37  static inline unsigned char 
rtc_is_updating(void)
^1da177e Linus Torvalds   2005-04-16   38  {
^1da177e Linus Torvalds   2005-04-16   39       unsigned char uip;
795d45b2 Andrew Morton    2008-02-04   40       unsigned long flags;
^1da177e Linus Torvalds   2005-04-16   41  
795d45b2 Andrew Morton    2008-02-04   42       spin_lock_irqsave(&rtc_lock, 
flags);
^1da177e Linus Torvalds   2005-04-16  @43       uip = 
(CMOS_READ(RTC_FREQ_SELECT) & RTC_UIP);
795d45b2 Andrew Morton    2008-02-04   44       
spin_unlock_irqrestore(&rtc_lock, flags);
^1da177e Linus Torvalds   2005-04-16   45       return uip;
^1da177e Linus Torvalds   2005-04-16   46  }
^1da177e Linus Torvalds   2005-04-16   47  
5f7dc5d7 Ivan Kokshaysky  2009-01-15   48  static inline unsigned int 
__get_rtc_time(struct rtc_time *time)
^1da177e Linus Torvalds   2005-04-16   49  {
^1da177e Linus Torvalds   2005-04-16   50       unsigned char ctrl;
795d45b2 Andrew Morton    2008-02-04   51       unsigned long flags;
3c217e51 Sylvain Chouleur 2015-06-08   52       unsigned char century = 0;
795d45b2 Andrew Morton    2008-02-04   53  
^1da177e Linus Torvalds   2005-04-16   54  #ifdef CONFIG_MACH_DECSTATION
^1da177e Linus Torvalds   2005-04-16   55       unsigned int real_year;
^1da177e Linus Torvalds   2005-04-16   56  #endif
^1da177e Linus Torvalds   2005-04-16   57  
^1da177e Linus Torvalds   2005-04-16   58       /*
^1da177e Linus Torvalds   2005-04-16   59        * read RTC once any update in 
progress is done. The update
38c052f8 Ingo Molnar      2008-08-23   60        * can take just over 2ms. We 
wait 20ms. There is no need to
^1da177e Linus Torvalds   2005-04-16   61        * to poll-wait (up to 1s - 
eeccch) for the falling edge of RTC_UIP.
^1da177e Linus Torvalds   2005-04-16   62        * If you need to know 
*exactly* when a second has started, enable
^1da177e Linus Torvalds   2005-04-16   63        * periodic update complete 
interrupts, (via ioctl) and then 
^1da177e Linus Torvalds   2005-04-16   64        * immediately read /dev/rtc 
which will block until you get the IRQ.
^1da177e Linus Torvalds   2005-04-16   65        * Once the read clears, read 
the RTC time (again via ioctl). Easy.
^1da177e Linus Torvalds   2005-04-16   66        */
38c052f8 Ingo Molnar      2008-08-23   67       if (rtc_is_updating())
38c052f8 Ingo Molnar      2008-08-23   68               mdelay(20);
^1da177e Linus Torvalds   2005-04-16   69  
^1da177e Linus Torvalds   2005-04-16   70       /*
^1da177e Linus Torvalds   2005-04-16   71        * Only the values that we read 
from the RTC are set. We leave
^1da177e Linus Torvalds   2005-04-16   72        * tm_wday, tm_yday and 
tm_isdst untouched. Even though the
^1da177e Linus Torvalds   2005-04-16   73        * RTC has RTC_DAY_OF_WEEK, we 
ignore it, as it is only updated
^1da177e Linus Torvalds   2005-04-16   74        * by the RTC when initially 
set to a non-zero value.
^1da177e Linus Torvalds   2005-04-16   75        */
795d45b2 Andrew Morton    2008-02-04   76       spin_lock_irqsave(&rtc_lock, 
flags);
^1da177e Linus Torvalds   2005-04-16   77       time->tm_sec = 
CMOS_READ(RTC_SECONDS);
^1da177e Linus Torvalds   2005-04-16   78       time->tm_min = 
CMOS_READ(RTC_MINUTES);
^1da177e Linus Torvalds   2005-04-16   79       time->tm_hour = 
CMOS_READ(RTC_HOURS);
^1da177e Linus Torvalds   2005-04-16   80       time->tm_mday = 
CMOS_READ(RTC_DAY_OF_MONTH);
^1da177e Linus Torvalds   2005-04-16   81       time->tm_mon = 
CMOS_READ(RTC_MONTH);
^1da177e Linus Torvalds   2005-04-16   82       time->tm_year = 
CMOS_READ(RTC_YEAR);
^1da177e Linus Torvalds   2005-04-16   83  #ifdef CONFIG_MACH_DECSTATION
^1da177e Linus Torvalds   2005-04-16   84       real_year = 
CMOS_READ(RTC_DEC_YEAR);
^1da177e Linus Torvalds   2005-04-16   85  #endif
3c217e51 Sylvain Chouleur 2015-06-08   86  #ifdef CONFIG_ACPI
3c217e51 Sylvain Chouleur 2015-06-08   87       if 
(acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID &&
3c217e51 Sylvain Chouleur 2015-06-08   88           acpi_gbl_FADT.century)
3c217e51 Sylvain Chouleur 2015-06-08   89               century = 
CMOS_READ(acpi_gbl_FADT.century);
3c217e51 Sylvain Chouleur 2015-06-08   90  #endif
^1da177e Linus Torvalds   2005-04-16   91       ctrl = CMOS_READ(RTC_CONTROL);
795d45b2 Andrew Morton    2008-02-04   92       
spin_unlock_irqrestore(&rtc_lock, flags);
^1da177e Linus Torvalds   2005-04-16   93  
^1da177e Linus Torvalds   2005-04-16  @94       if (!(ctrl & RTC_DM_BINARY) || 
RTC_ALWAYS_BCD)
^1da177e Linus Torvalds   2005-04-16   95       {
357c6e63 Adrian Bunk      2008-10-18   96               time->tm_sec = 
bcd2bin(time->tm_sec);
357c6e63 Adrian Bunk      2008-10-18   97               time->tm_min = 
bcd2bin(time->tm_min);
357c6e63 Adrian Bunk      2008-10-18   98               time->tm_hour = 
bcd2bin(time->tm_hour);
357c6e63 Adrian Bunk      2008-10-18   99               time->tm_mday = 
bcd2bin(time->tm_mday);
357c6e63 Adrian Bunk      2008-10-18  100               time->tm_mon = 
bcd2bin(time->tm_mon);
357c6e63 Adrian Bunk      2008-10-18  101               time->tm_year = 
bcd2bin(time->tm_year);
3c217e51 Sylvain Chouleur 2015-06-08  102               century = 
bcd2bin(century);
^1da177e Linus Torvalds   2005-04-16  103       }
^1da177e Linus Torvalds   2005-04-16  104  
^1da177e Linus Torvalds   2005-04-16  105  #ifdef CONFIG_MACH_DECSTATION
^1da177e Linus Torvalds   2005-04-16  106       time->tm_year += real_year - 72;
^1da177e Linus Torvalds   2005-04-16  107  #endif
^1da177e Linus Torvalds   2005-04-16  108  
3c217e51 Sylvain Chouleur 2015-06-08  109       if (century)
3c217e51 Sylvain Chouleur 2015-06-08  110               time->tm_year += 
(century - 19) * 100;
3c217e51 Sylvain Chouleur 2015-06-08  111  
^1da177e Linus Torvalds   2005-04-16  112       /*
^1da177e Linus Torvalds   2005-04-16  113        * Account for differences 
between how the RTC uses the values
^1da177e Linus Torvalds   2005-04-16  114        * and how they are defined in 
a struct rtc_time;
^1da177e Linus Torvalds   2005-04-16  115        */
^1da177e Linus Torvalds   2005-04-16  116       if (time->tm_year <= 69)
^1da177e Linus Torvalds   2005-04-16  117               time->tm_year += 100;
^1da177e Linus Torvalds   2005-04-16  118  
^1da177e Linus Torvalds   2005-04-16  119       time->tm_mon--;
^1da177e Linus Torvalds   2005-04-16  120  
^1da177e Linus Torvalds   2005-04-16  121       return RTC_24H;
^1da177e Linus Torvalds   2005-04-16  122  }
^1da177e Linus Torvalds   2005-04-16  123  
5f7dc5d7 Ivan Kokshaysky  2009-01-15  124  #ifndef get_rtc_time
5f7dc5d7 Ivan Kokshaysky  2009-01-15  125  #define get_rtc_time __get_rtc_time
5f7dc5d7 Ivan Kokshaysky  2009-01-15  126  #endif
5f7dc5d7 Ivan Kokshaysky  2009-01-15  127  
^1da177e Linus Torvalds   2005-04-16  128  /* Set the current date and time in 
the real time clock. */
5f7dc5d7 Ivan Kokshaysky  2009-01-15  129  static inline int 
__set_rtc_time(struct rtc_time *time)
^1da177e Linus Torvalds   2005-04-16  130  {
eb71c87a Linus Torvalds   2006-06-24  131       unsigned long flags;
^1da177e Linus Torvalds   2005-04-16  132       unsigned char mon, day, hrs, 
min, sec;
^1da177e Linus Torvalds   2005-04-16  133       unsigned char save_control, 
save_freq_select;
^1da177e Linus Torvalds   2005-04-16  134       unsigned int yrs;
^1da177e Linus Torvalds   2005-04-16  135  #ifdef CONFIG_MACH_DECSTATION
^1da177e Linus Torvalds   2005-04-16  136       unsigned int real_yrs, leap_yr;
^1da177e Linus Torvalds   2005-04-16  137  #endif
3c217e51 Sylvain Chouleur 2015-06-08  138       unsigned char century = 0;
^1da177e Linus Torvalds   2005-04-16  139  
^1da177e Linus Torvalds   2005-04-16  140       yrs = time->tm_year;
^1da177e Linus Torvalds   2005-04-16  141       mon = time->tm_mon + 1;   /* 
tm_mon starts at zero */
^1da177e Linus Torvalds   2005-04-16  142       day = time->tm_mday;
^1da177e Linus Torvalds   2005-04-16  143       hrs = time->tm_hour;
^1da177e Linus Torvalds   2005-04-16  144       min = time->tm_min;
^1da177e Linus Torvalds   2005-04-16  145       sec = time->tm_sec;
^1da177e Linus Torvalds   2005-04-16  146  
^1da177e Linus Torvalds   2005-04-16  147       if (yrs > 255)  /* They are 
unsigned */
^1da177e Linus Torvalds   2005-04-16  148               return -EINVAL;
^1da177e Linus Torvalds   2005-04-16  149  
eb71c87a Linus Torvalds   2006-06-24  150       spin_lock_irqsave(&rtc_lock, 
flags);
^1da177e Linus Torvalds   2005-04-16  151  #ifdef CONFIG_MACH_DECSTATION
^1da177e Linus Torvalds   2005-04-16  152       real_yrs = yrs;
^1da177e Linus Torvalds   2005-04-16  153       leap_yr = ((!((yrs + 1900) % 4) 
&& ((yrs + 1900) % 100)) ||
^1da177e Linus Torvalds   2005-04-16  154                       !((yrs + 1900) 
% 400));
^1da177e Linus Torvalds   2005-04-16  155       yrs = 72;
^1da177e Linus Torvalds   2005-04-16  156  
^1da177e Linus Torvalds   2005-04-16  157       /*
^1da177e Linus Torvalds   2005-04-16  158        * We want to keep the year set 
to 73 until March
^1da177e Linus Torvalds   2005-04-16  159        * for non-leap years, so that 
Feb, 29th is handled
^1da177e Linus Torvalds   2005-04-16  160        * correctly.
^1da177e Linus Torvalds   2005-04-16  161        */
^1da177e Linus Torvalds   2005-04-16  162       if (!leap_yr && mon < 3) {
^1da177e Linus Torvalds   2005-04-16  163               real_yrs--;
^1da177e Linus Torvalds   2005-04-16  164               yrs = 73;
^1da177e Linus Torvalds   2005-04-16  165       }
^1da177e Linus Torvalds   2005-04-16  166  #endif
3c217e51 Sylvain Chouleur 2015-06-08  167  
3c217e51 Sylvain Chouleur 2015-06-08  168  #ifdef CONFIG_ACPI
3c217e51 Sylvain Chouleur 2015-06-08  169       if 
(acpi_gbl_FADT.header.revision >= FADT2_REVISION_ID &&
3c217e51 Sylvain Chouleur 2015-06-08  170           acpi_gbl_FADT.century) {
3c217e51 Sylvain Chouleur 2015-06-08  171               century = (yrs + 1900) 
/ 100;
3c217e51 Sylvain Chouleur 2015-06-08  172               yrs %= 100;
3c217e51 Sylvain Chouleur 2015-06-08  173       }
3c217e51 Sylvain Chouleur 2015-06-08  174  #endif
3c217e51 Sylvain Chouleur 2015-06-08  175  
^1da177e Linus Torvalds   2005-04-16  176       /* These limits and adjustments 
are independent of
^1da177e Linus Torvalds   2005-04-16  177        * whether the chip is in 
binary mode or not.
^1da177e Linus Torvalds   2005-04-16  178        */
^1da177e Linus Torvalds   2005-04-16  179       if (yrs > 169) {
eb71c87a Linus Torvalds   2006-06-24  180               
spin_unlock_irqrestore(&rtc_lock, flags);
^1da177e Linus Torvalds   2005-04-16  181               return -EINVAL;
^1da177e Linus Torvalds   2005-04-16  182       }
^1da177e Linus Torvalds   2005-04-16  183  
^1da177e Linus Torvalds   2005-04-16  184       if (yrs >= 100)
^1da177e Linus Torvalds   2005-04-16  185               yrs -= 100;
^1da177e Linus Torvalds   2005-04-16  186  
^1da177e Linus Torvalds   2005-04-16  187       if (!(CMOS_READ(RTC_CONTROL) & 
RTC_DM_BINARY)
^1da177e Linus Torvalds   2005-04-16  188           || RTC_ALWAYS_BCD) {
357c6e63 Adrian Bunk      2008-10-18  189               sec = bin2bcd(sec);
357c6e63 Adrian Bunk      2008-10-18  190               min = bin2bcd(min);
357c6e63 Adrian Bunk      2008-10-18  191               hrs = bin2bcd(hrs);
357c6e63 Adrian Bunk      2008-10-18  192               day = bin2bcd(day);
357c6e63 Adrian Bunk      2008-10-18  193               mon = bin2bcd(mon);
357c6e63 Adrian Bunk      2008-10-18  194               yrs = bin2bcd(yrs);
3c217e51 Sylvain Chouleur 2015-06-08  195               century = 
bin2bcd(century);
^1da177e Linus Torvalds   2005-04-16  196       }
^1da177e Linus Torvalds   2005-04-16  197  
^1da177e Linus Torvalds   2005-04-16  198       save_control = 
CMOS_READ(RTC_CONTROL);
^1da177e Linus Torvalds   2005-04-16 @199       
CMOS_WRITE((save_control|RTC_SET), RTC_CONTROL);
^1da177e Linus Torvalds   2005-04-16  200       save_freq_select = 
CMOS_READ(RTC_FREQ_SELECT);
^1da177e Linus Torvalds   2005-04-16  201       
CMOS_WRITE((save_freq_select|RTC_DIV_RESET2), RTC_FREQ_SELECT);
^1da177e Linus Torvalds   2005-04-16  202  

:::::: The code at line 43 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <[email protected]>
:::::: CC: Linus Torvalds <[email protected]>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: Binary data

Reply via email to