All of lore.kernel.org
 help / color / mirror / Atom feed
* Documentation/timers/hpet_example.c compile bug
@ 2010-05-28 11:35 Heiko Carstens
  2010-05-29 18:41 ` Randy Dunlap
  2010-06-01  2:30 ` [PATCH] Documentation/timers/hpet_example.c: only build on X64 Randy Dunlap
  0 siblings, 2 replies; 9+ messages in thread
From: Heiko Carstens @ 2010-05-28 11:35 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: linux-kernel

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'

Please fix.

Thanks!

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Documentation/timers/hpet_example.c compile bug
  2010-05-28 11:35 Documentation/timers/hpet_example.c compile bug Heiko Carstens
@ 2010-05-29 18:41 ` Randy Dunlap
  2010-05-31  2:34   ` Randy Dunlap
  2010-06-01  2:30 ` [PATCH] Documentation/timers/hpet_example.c: only build on X64 Randy Dunlap
  1 sibling, 1 reply; 9+ messages in thread
From: Randy Dunlap @ 2010-05-29 18:41 UTC (permalink / raw)
  To: Heiko Carstens; +Cc: linux-kernel

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?

-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Documentation/timers/hpet_example.c compile bug
  2010-05-29 18:41 ` Randy Dunlap
@ 2010-05-31  2:34   ` Randy Dunlap
  2010-05-31  2:49     ` Arjan van de Ven
  0 siblings, 1 reply; 9+ messages in thread
From: Randy Dunlap @ 2010-05-31  2:34 UTC (permalink / raw)
  To: Heiko Carstens; +Cc: linux-kernel

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 ***

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Documentation/timers/hpet_example.c compile bug
  2010-05-31  2:34   ` Randy Dunlap
@ 2010-05-31  2:49     ` Arjan van de Ven
  2010-05-31  2:58       ` Randy Dunlap
  0 siblings, 1 reply; 9+ messages in thread
From: Arjan van de Ven @ 2010-05-31  2:49 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Heiko Carstens, linux-kernel

On Sun, 30 May 2010 19:34:35 -0700
Randy Dunlap <randy.dunlap@oracle.com> wrote:
> 
> 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.

HPET is very PC specific.

but.. even on x86, it does not really make sense, and exposing this as
an interface to userspace is a historical mistake, the use of which we
really ought to discourage.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Documentation/timers/hpet_example.c compile bug
  2010-05-31  2:49     ` Arjan van de Ven
@ 2010-05-31  2:58       ` Randy Dunlap
  2010-05-31  3:10         ` Arjan van de Ven
  0 siblings, 1 reply; 9+ messages in thread
From: Randy Dunlap @ 2010-05-31  2:58 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: Heiko Carstens, linux-kernel

On 05/30/10 19:49, Arjan van de Ven wrote:
> On Sun, 30 May 2010 19:34:35 -0700
> Randy Dunlap <randy.dunlap@oracle.com> wrote:
>>
>> 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.
> 
> HPET is very PC specific.
> 
> but.. even on x86, it does not really make sense, and exposing this as
> an interface to userspace is a historical mistake, the use of which we
> really ought to discourage.

Do you mean exposing anything that is in /usr/include/linux/hpet.h via ioctls?
especially struct hpet_info ?

-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Documentation/timers/hpet_example.c compile bug
  2010-05-31  2:58       ` Randy Dunlap
@ 2010-05-31  3:10         ` Arjan van de Ven
  0 siblings, 0 replies; 9+ messages in thread
From: Arjan van de Ven @ 2010-05-31  3:10 UTC (permalink / raw)
  To: Randy Dunlap; +Cc: Heiko Carstens, linux-kernel

On Sun, 30 May 2010 19:58:38 -0700
Randy Dunlap <randy.dunlap@oracle.com> wrote:

> On 05/30/10 19:49, Arjan van de Ven wrote:
> > On Sun, 30 May 2010 19:34:35 -0700
> > Randy Dunlap <randy.dunlap@oracle.com> wrote:
> >>
> >> 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.
> > 
> > HPET is very PC specific.
> > 
> > but.. even on x86, it does not really make sense, and exposing this
> > as an interface to userspace is a historical mistake, the use of
> > which we really ought to discourage.
> 
> Do you mean exposing anything that is in /usr/include/linux/hpet.h
> via ioctls? especially struct hpet_info ?

exposing even the concept of HPET, so yeah, including that header.
not all systems have hpet.. and frankly, we have better interfaces for
the same functionality...



-- 
Arjan van de Ven 	Intel Open Source Technology Centre
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH] Documentation/timers/hpet_example.c: only build on X64
  2010-05-28 11:35 Documentation/timers/hpet_example.c compile bug Heiko Carstens
  2010-05-29 18:41 ` Randy Dunlap
@ 2010-06-01  2:30 ` Randy Dunlap
  2010-06-01 15:55   ` Linus Torvalds
  1 sibling, 1 reply; 9+ messages in thread
From: Randy Dunlap @ 2010-06-01  2:30 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: linux-kernel, arjan, Linus Torvalds, Andrew Morton, Thomas Gleixner

From: Randy Dunlap <randy.dunlap@oracle.com>

We should only build hpet_example on X64, where it is
implemented.  It can cause build errors on other arch-es.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Arjan van de Ven <arjan@infradead.org>
---
 Documentation/timers/Makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- lnx-2635-rc1.orig/Documentation/timers/Makefile
+++ lnx-2635-rc1/Documentation/timers/Makefile
@@ -2,7 +2,7 @@
 obj- := dummy.o
 
 # List of programs to build
-hostprogs-y := hpet_example
+hostprogs-$(CONFIG_X86) := hpet_example
 
 # Tell kbuild to always build the programs
 always := $(hostprogs-y)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Documentation/timers/hpet_example.c: only build on X64
  2010-06-01  2:30 ` [PATCH] Documentation/timers/hpet_example.c: only build on X64 Randy Dunlap
@ 2010-06-01 15:55   ` Linus Torvalds
  2010-06-01 16:55     ` [PATCH v2] Documentation/timers/hpet_example.c: only build on X86 Randy Dunlap
  0 siblings, 1 reply; 9+ messages in thread
From: Linus Torvalds @ 2010-06-01 15:55 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: Heiko Carstens, linux-kernel, arjan, Andrew Morton, Thomas Gleixner



On Mon, 31 May 2010, Randy Dunlap wrote:
> 
> We should only build hpet_example on X64, where it is
> implemented.  It can cause build errors on other arch-es.

Both the subject and the body say "X64" (don't use that, btw, it's x86-64, 
please), but the patch itself says CONFIG_X86.

So what is it? Is it any x86, is it just 64-bit, or what? 

So if it's any x86, then please say so in the explanation. And if it's 
really just x86-64, then use CONFIG_X86_64 as the config variable (and 
x86-64 rather than X64 in the commentary).

			Linus

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v2] Documentation/timers/hpet_example.c: only build on X86
  2010-06-01 15:55   ` Linus Torvalds
@ 2010-06-01 16:55     ` Randy Dunlap
  0 siblings, 0 replies; 9+ messages in thread
From: Randy Dunlap @ 2010-06-01 16:55 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Heiko Carstens, linux-kernel, arjan, Andrew Morton, Thomas Gleixner

From: Randy Dunlap <randy.dunlap@oracle.com>

We should only build hpet_example on (any) X86, where it is
implemented.  It can cause build errors on other arch-es.

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Arjan van de Ven <arjan@infradead.org>
---
 Documentation/timers/Makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- lnx-2635-rc1.orig/Documentation/timers/Makefile
+++ lnx-2635-rc1/Documentation/timers/Makefile
@@ -2,7 +2,7 @@
 obj- := dummy.o
 
 # List of programs to build
-hostprogs-y := hpet_example
+hostprogs-$(CONFIG_X86) := hpet_example
 
 # Tell kbuild to always build the programs
 always := $(hostprogs-y)

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-06-01 16:57 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-05-28 11:35 Documentation/timers/hpet_example.c compile bug Heiko Carstens
2010-05-29 18:41 ` Randy Dunlap
2010-05-31  2:34   ` Randy Dunlap
2010-05-31  2:49     ` Arjan van de Ven
2010-05-31  2:58       ` Randy Dunlap
2010-05-31  3:10         ` Arjan van de Ven
2010-06-01  2:30 ` [PATCH] Documentation/timers/hpet_example.c: only build on X64 Randy Dunlap
2010-06-01 15:55   ` Linus Torvalds
2010-06-01 16:55     ` [PATCH v2] Documentation/timers/hpet_example.c: only build on X86 Randy Dunlap

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.