Re: Documentation/timers/hpet_example.c compile bug

From: Randy Dunlap
Date: Sun May 30 2010 - 22:36:48 EST


On 05/29/10 11:41, Randy Dunlap wrote:
> On 05/28/10 04:35, Heiko Carstens wrote:
>> Hi Randy,
>>
>> since your commit e61863099f58e458f08c101da87da752a1e009f5
>> "Documentation/timers/: split txt and source files" I get this compile
>> error on s390 with an allyesconfig:
>>
>> In file included from Documentation/timers/hpet_example.c:15:
>> /usr/include/linux/hpet.h:11: error: expected specifier-qualifier-list before 'u64'
>
> Where is the u64? My (x86_64) copy of /usr/include/linux/hpet.h looks like:
>
> 1 #ifndef __HPET__
> 2 #define __HPET__ 1
> 3
> 4
> 5
> 6
> 7 struct hpet_info {
> 8 unsigned long hi_ireqfreq; /* Hz */
> 9 unsigned long hi_flags; /* information */
> 10 unsigned short hi_hpet;
> 11 unsigned short hi_timer;
> 12 };
> 13
> 14 #define HPET_INFO_PERIODIC 0x0010 /* periodic-capable comparator */
> 15
> 16 #define HPET_IE_ON _IO('h', 0x01) /* interrupt on */
> 17 #define HPET_IE_OFF _IO('h', 0x02) /* interrupt off */
> 18 #define HPET_INFO _IOR('h', 0x03, struct hpet_info)
> 19 #define HPET_EPI _IO('h', 0x04) /* enable periodic */
> 20 #define HPET_DPI _IO('h', 0x05) /* disable periodic */
> 21 #define HPET_IRQFREQ _IOW('h', 0x6, unsigned long) /* IRQFREQ usec */
> 22
> 23 #endif /* !__HPET__ */
>
> I guess s390 hpet.h looks different? Does it just need to #include <linux/types.h> ?
> Or is the problem the kernel-space u64 vs. userspace __u64?
>
>> Please fix.
>
> Any suggestions?

Does it even make sense to build hpet_example on s390?
I.e., does s390 have hpet?
If not, then a simple Kconfig "depends on X86" or "depends on !S390" will fix this.

--
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/