driver/char/hpet.c: remove clocksource warning on !IA64
PATCH 1/1 driver/char/hpet.c: remove clocksource warning on !IA64
The warnings,
drivers/char/hpet.c:72: warning: 'clocksource_hpet' defined but not used drivers/char/hpet.c:81: warning: 'hpet_clocksource' defined but not used
from,
commit 3b2b64fd311c92f2137eb7cee7025794cd854057
Author: Linus Torvalds <[email protected]> Date: Fri Aug 31 20:13:57 2007 -0700
This patch eliminates the warnings when the clocksoure isn't used. It also removes some other unused stuff that goes along with the clocksource ..
I don't have access to an ia64 machine, or even a compiler .. So this one is untested for that. I'm hoping one of the ia64 guys can help test this?
--- drivers/char/hpet.c | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-)
drivers/char/hpet.c +20 -12
@@ -62,6 +62,7 @@static u32 hpet_nhpet, hpet_max_freq =HPET_USER_FREQ ; +#ifdef CONFIG_IA64 static void __iomem *hpet_mctr;static cycle_t read_hpet (void )
@@ -80,6 +81,23 @@ static struct clocksource clocksource_hp };static struct clocksource *hpet_clocksource; +/* This clocksource driver currently only works on ia64 */ +static inline void ia64_clocksource_register (void ) +{ +if (!hpet_clocksource) { + hpet_mctr = (void __iomem *)&hpetp->hp_hpet->hpet_mc; +CLKSRC_FSYS_MMIO_SET (clocksource_hpet.fsys_mmio, hpet_mctr); + clocksource_hpet.mult =clocksource_hz2mult (hpetp->hp_tick_freq, + clocksource_hpet.shift); +clocksource_register (&clocksource_hpet); + hpetp->hp_clocksource = &clocksource_hpet; + hpet_clocksource = &clocksource_hpet; + } +} +#else +static inline void ia64_clocksource_register (void ) { } +#endif +/* A lock for concurrent access by app and isr hpet activity. */ static DEFINE_SPINLOCK (hpet_lock);/* A lock for concurrent intermodule access to hpet and isr hpet activity. */
@@ -909,18 +927,8 @@ int hpet_alloc(struct hpet_data *hdp) hpetp->hp_delta =hpet_calibrate (hpetp); -/* This clocksource driver currently only works on ia64 */ -#ifdef CONFIG_IA64 -if (!hpet_clocksource) { - hpet_mctr = (void __iomem *)&hpetp->hp_hpet->hpet_mc; -CLKSRC_FSYS_MMIO_SET (clocksource_hpet.fsys_mmio, hpet_mctr); - clocksource_hpet.mult =clocksource_hz2mult (hpetp->hp_tick_freq, - clocksource_hpet.shift); -clocksource_register (&clocksource_hpet); - hpetp->hp_clocksource = &clocksource_hpet; - hpet_clocksource = &clocksource_hpet; - } -#endif +ia64_clocksource_register (); +return 0 ; }
Signature · 1 line
--
Quoted 10 lines · Daniel Walker
The warnings,
drivers/char/hpet.c:72: warning: 'clocksource_hpet' defined but not useddrivers/char/hpet.c:81: warning: 'hpet_clocksource' defined but not usedfrom,
commit
3b2b64fd311c92f2137eb7cee7025794cd854057Author: Linus Torvalds <[email protected]> Date: Fri Aug 31 20:13:57 2007 -0700
Arg, forgot the most important variable. The new function I created needed the hpetp variable. So I added that in the patch below.. I tested both of the ifdef blocks on i386 by just removing the ifdefs .. So it compiles both ways ..
----
Subject: driver/char/hpet.c: remove clocksource warning on !IA64
The warnings,
drivers/char/hpet.c:72: warning: 'clocksource_hpet' defined but not used drivers/char/hpet.c:81: warning: 'hpet_clocksource' defined but not used
from,
commit 3b2b64fd311c92f2137eb7cee7025794cd854057
Author: Linus Torvalds <[email protected]> Date: Fri Aug 31 20:13:57 2007 -0700
This patch eliminates the warnings when the clocksoure isn't used. It also removes some other unused stuff that goes along with the clocksource ..
I don't have access to an ia64 machine, or even a compiler .. So this one is untested for that. I'm hoping one of the ia64 guys can help test this
--- drivers/char/hpet.c | 68 +++++++++++++++++++++++++++++----------------------- 1 file changed, 38 insertions(+), 30 deletions(-)
drivers/char/hpet.c +38 -30
@@ -62,24 +62,6 @@static u32 hpet_nhpet, hpet_max_freq =HPET_USER_FREQ ; -static void __iomem *hpet_mctr; - -static cycle_t read_hpet (void ) -{ -return (cycle_t )read_counter ((void __iomem *)hpet_mctr); -} - -static struct clocksource clocksource_hpet = { - .name ="hpet" , - .rating =250 , - .read = read_hpet, - .mask =CLOCKSOURCE_MASK (64 ), - .mult =0 ,/*to be caluclated*/ - .shift =10 , - .flags =CLOCK_SOURCE_IS_CONTINUOUS , -}; -static struct clocksource *hpet_clocksource; -/* A lock for concurrent access by app and isr hpet activity. */ static DEFINE_SPINLOCK (hpet_lock);/* A lock for concurrent intermodule access to hpet and isr hpet activity. */
@@ -116,6 +98,42 @@ struct hpets {static struct hpets *hpets; +#ifdef CONFIG_IA64 +static void __iomem *hpet_mctr; + +static cycle_t read_hpet (void ) +{ +return (cycle_t )read_counter ((void __iomem *)hpet_mctr); +} + +static struct clocksource clocksource_hpet = { + .name ="hpet" , + .rating =250 , + .read = read_hpet, + .mask =CLOCKSOURCE_MASK (64 ), + .mult =0 ,/*to be caluclated*/ + .shift =10 , + .flags =CLOCK_SOURCE_IS_CONTINUOUS , +}; +static struct clocksource *hpet_clocksource; + +/* This clocksource driver currently only works on ia64 */ +static inline void ia64_clocksource_register (struct hpets *hpetp) +{ +if (!hpet_clocksource) { + hpet_mctr = (void __iomem *)&hpetp->hp_hpet->hpet_mc; +CLKSRC_FSYS_MMIO_SET (clocksource_hpet.fsys_mmio, hpet_mctr); + clocksource_hpet.mult =clocksource_hz2mult (hpetp->hp_tick_freq, + clocksource_hpet.shift); +clocksource_register (&clocksource_hpet); + hpetp->hp_clocksource = &clocksource_hpet; + hpet_clocksource = &clocksource_hpet; + } +} +#else +static inline void ia64_clocksource_register (struct hpets *hpetp) { } +#endif +#define HPET_OPEN 0x0001#define HPET_IE 0x0002/* interrupt enabled */ #define HPET_PERIODIC 0x0004
@@ -909,18 +927,8 @@ int hpet_alloc(struct hpet_data *hdp) hpetp->hp_delta =hpet_calibrate (hpetp); -/* This clocksource driver currently only works on ia64 */ -#ifdef CONFIG_IA64 -if (!hpet_clocksource) { - hpet_mctr = (void __iomem *)&hpetp->hp_hpet->hpet_mc; -CLKSRC_FSYS_MMIO_SET (clocksource_hpet.fsys_mmio, hpet_mctr); - clocksource_hpet.mult =clocksource_hz2mult (hpetp->hp_tick_freq, - clocksource_hpet.shift); -clocksource_register (&clocksource_hpet); - hpetp->hp_clocksource = &clocksource_hpet; - hpet_clocksource = &clocksource_hpet; - } -#endif +ia64_clocksource_register (hpetp); +return 0 ; }
RE: [PATCH 2.6.23-rc5] driver/char/hpet.c: remove clocksourcewarning on !IA64
Quoted 7 lines
This patch eliminates the warnings when the clocksoure isn't used. It also removes some other unused stuff that goes along with the clocksource ..
I don't have access to an ia64 machine, or even a compiler .. So this one is untested for that. I'm hoping one of the ia64 guys can help test this
Well, it does *compile* cleanly for ia64 [none of my test systems actually have a functional HPET ... the closest I get is one that fails the hd_nirqs part of the "if (!data.hd_address || !data.hd_nirqs) {" test in hpet_acpi_add].
Bob: Does this work for you?
-Tony
Re: [PATCH 2.6.23-rc5] driver/char/hpet.c: remove clocksourcewarning on !IA64
luck wrote: [Sun Sep 02 2007, 03:13:45AM EDT]
Quoted 8 lines
Quoted 7 lines
This patch eliminates the warnings when the clocksoure isn't used. It also removes some other unused stuff that goes along with the clocksource ..
I don't have access to an ia64 machine, or even a compiler .. So this one is untested for that. I'm hoping one of the ia64 guys can help test this
Quoted 5 lines
Well, it does *compile* cleanly for ia64 [none of my test systems actually have a functional HPET ... the closest I get is one that fails the
hd_nirqspart of the "if (!data.hd_address || !data.hd_nirqs) {" test inhpet_acpi_add].Bob: Does this work for you?
I boot tested on the HP internal platform simulator. Should it be necessary, I could have it boot tested later in the week on real hardware.
bob