* Re: [PATCH] cleanup legacy console_print function [not found] <DDFD17CC94A9BD49A82147DDF7D545C501F0FF17@exchange.ZeugmaSystems.local> @ 2009-09-15 17:27 ` Bjorn Helgaas 2009-09-15 17:55 ` Anirban Sinha 0 siblings, 1 reply; 8+ messages in thread From: Bjorn Helgaas @ 2009-09-15 17:27 UTC (permalink / raw) To: Anirban Sinha Cc: Linus Torvalds, linux-kernel, Randy Dunlap, linux-ia64, Luck, Tony On Monday 14 September 2009 12:28:21 pm Anirban Sinha wrote: > From e096c1774450f8348a7af3b7e47800710a490212 Mon Sep 17 00:00:00 2001 > From: Anirban Sinha <asinha@zeugmasystems.com> > Date: Mon, 14 Sep 2009 11:13:37 -0700 > Subject: cleanup console_print() > > console_print() is an old legacy interface mostly unused in the entire > kernel tree. It's best to clean up its existing use and let developers > use their own implementation of it as they feel fit. This broke the ia64 build, please fix: arch/ia64/kernel/head.h: Assembler messages: arch/ia64/kernel/head.h:1: Error: Unknown opcode `extern void console_print(const char*s)' make[1]: *** [arch/ia64/kernel/head.o] Error 1 make[1]: *** Waiting for unfinished jobs.... Bjorn > --- > arch/ia64/kernel/head.S | 1 + > arch/ia64/kernel/head.h | 1 + > arch/ia64/kernel/process.c | 7 +++++++ > drivers/char/serial167.c | 5 ++--- > include/linux/dtlk.h | 19 ------------------- > include/linux/tty.h | 4 ---- > kernel/printk.c | 6 ------ > 7 files changed, 11 insertions(+), 32 deletions(-) > create mode 100644 arch/ia64/kernel/head.h > > diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S > index 23f846d..e6c5c3d 100644 > --- a/arch/ia64/kernel/head.S > +++ b/arch/ia64/kernel/head.S > @@ -34,6 +34,7 @@ > #include <asm/mca_asm.h> > #include <linux/init.h> > #include <linux/linkage.h> > +#include "head.h" > > #ifdef CONFIG_HOTPLUG_CPU > #define SAL_PSR_BITS_TO_SET \ > diff --git a/arch/ia64/kernel/head.h b/arch/ia64/kernel/head.h > new file mode 100644 > index 0000000..2e2ac68 > --- /dev/null > +++ b/arch/ia64/kernel/head.h > @@ -0,0 +1 @@ > +extern void console_print(const char *s); > diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c > index 89969e9..b34bef7 100644 > --- a/arch/ia64/kernel/process.c > +++ b/arch/ia64/kernel/process.c > @@ -161,6 +161,13 @@ show_regs (struct pt_regs *regs) > show_stack(NULL, NULL); > } > > +/* local support for deprecated console_print */ > +void > +console_print(const char *s) > +{ > + printk(KERN_EMERG "%s", s); > +} > + > void > do_notify_resume_user(sigset_t *unused, struct sigscratch *scr, long > in_syscall) > { > diff --git a/drivers/char/serial167.c b/drivers/char/serial167.c > index 51e7a46..5942a9d 100644 > --- a/drivers/char/serial167.c > +++ b/drivers/char/serial167.c > @@ -171,7 +171,6 @@ static int startup(struct cyclades_port *); > static void cy_throttle(struct tty_struct *); > static void cy_unthrottle(struct tty_struct *); > static void config_setup(struct cyclades_port *); > -extern void console_print(const char *); > #ifdef CYCLOM_SHOW_STATUS > static void show_status(int); > #endif > @@ -245,7 +244,7 @@ void SP(char *data) > { > unsigned long flags; > local_irq_save(flags); > - console_print(data); > + printk(KERN_EMERG "%s", data); > local_irq_restore(flags); > } > > @@ -255,7 +254,7 @@ void CP(char data) > unsigned long flags; > local_irq_save(flags); > scrn[0] = data; > - console_print(scrn); > + printk(KERN_EMERG "%c", scrn); > local_irq_restore(flags); > } /* CP */ > > diff --git a/include/linux/dtlk.h b/include/linux/dtlk.h > index 2896d90..22a7b9a 100644 > --- a/include/linux/dtlk.h > +++ b/include/linux/dtlk.h > @@ -1,22 +1,3 @@ > -#if 0 > - > -#define TRACE_TXT(text) \ > - { \ > - if(dtlk_trace) \ > - { \ > - console_print(text); \ > - console_print("\n"); \ > - } \ > - } > - > -#define TRACE_CHR(chr) \ > - { \ > - if(dtlk_trace) \ > - console_print(chr); \ > - } \ > - > -#endif > - > #define DTLK_MINOR 0 > #define DTLK_IO_EXTENT 0x02 > > diff --git a/include/linux/tty.h b/include/linux/tty.h > index 0d3974f..a916a31 100644 > --- a/include/linux/tty.h > +++ b/include/linux/tty.h > @@ -519,10 +519,6 @@ extern void serial_console_init(void); > > extern int pcxe_open(struct tty_struct *tty, struct file *filp); > > -/* printk.c */ > - > -extern void console_print(const char *); > - > /* vt.c */ > > extern int vt_ioctl(struct tty_struct *tty, struct file *file, > diff --git a/kernel/printk.c b/kernel/printk.c > index e10d193..602033a 100644 > --- a/kernel/printk.c > +++ b/kernel/printk.c > @@ -1075,12 +1075,6 @@ void __sched console_conditional_schedule(void) > } > EXPORT_SYMBOL(console_conditional_schedule); > > -void console_print(const char *s) > -{ > - printk(KERN_EMERG "%s", s); > -} > -EXPORT_SYMBOL(console_print); > - > void console_unblank(void) > { > struct console *c; ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH] cleanup legacy console_print function 2009-09-15 17:27 ` [PATCH] cleanup legacy console_print function Bjorn Helgaas @ 2009-09-15 17:55 ` Anirban Sinha 2009-09-15 18:00 ` Tony Luck 0 siblings, 1 reply; 8+ messages in thread From: Anirban Sinha @ 2009-09-15 17:55 UTC (permalink / raw) To: Bjorn Helgaas Cc: Linus Torvalds, linux-kernel, Randy Dunlap, linux-ia64, Luck, Tony Oops! Sorry for breaking the build. I do not have a intel 64 machine to try my change. However, I believe this will help: diff --git a/arch/ia64/kernel/head.h b/arch/ia64/kernel/head.h index 2e2ac68..e762125 100644 --- a/arch/ia64/kernel/head.h +++ b/arch/ia64/kernel/head.h @@ -1 +1,3 @@ +#ifndef __ASSEMBLY__ extern void console_print(const char *s); +#endif Can you please try this patch and test if this fixed it. If it does, I will go ahead, commit the change locally and post the final patch. Ani >-----Original Message----- >From: Bjorn Helgaas [mailto:bjorn.helgaas@hp.com] >Sent: Tuesday, September 15, 2009 10:27 AM >To: Anirban Sinha >Cc: Linus Torvalds; linux-kernel@vger.kernel.org; Randy Dunlap; linux- >ia64@vger.kernel.org; Luck, Tony >Subject: Re: [PATCH] cleanup legacy console_print function > >On Monday 14 September 2009 12:28:21 pm Anirban Sinha wrote: >> From e096c1774450f8348a7af3b7e47800710a490212 Mon Sep 17 00:00:00 2001 >> From: Anirban Sinha <asinha@zeugmasystems.com> >> Date: Mon, 14 Sep 2009 11:13:37 -0700 >> Subject: cleanup console_print() >> >> console_print() is an old legacy interface mostly unused in the entire >> kernel tree. It's best to clean up its existing use and let developers >> use their own implementation of it as they feel fit. > >This broke the ia64 build, please fix: > >arch/ia64/kernel/head.h: Assembler messages: >arch/ia64/kernel/head.h:1: Error: Unknown opcode `extern void >console_print(const char*s)' >make[1]: *** [arch/ia64/kernel/head.o] Error 1 >make[1]: *** Waiting for unfinished jobs.... > >Bjorn > > >> --- >> arch/ia64/kernel/head.S | 1 + >> arch/ia64/kernel/head.h | 1 + >> arch/ia64/kernel/process.c | 7 +++++++ >> drivers/char/serial167.c | 5 ++--- >> include/linux/dtlk.h | 19 ------------------- >> include/linux/tty.h | 4 ---- >> kernel/printk.c | 6 ------ >> 7 files changed, 11 insertions(+), 32 deletions(-) >> create mode 100644 arch/ia64/kernel/head.h >> >> diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S >> index 23f846d..e6c5c3d 100644 >> --- a/arch/ia64/kernel/head.S >> +++ b/arch/ia64/kernel/head.S >> @@ -34,6 +34,7 @@ >> #include <asm/mca_asm.h> >> #include <linux/init.h> >> #include <linux/linkage.h> >> +#include "head.h" >> >> #ifdef CONFIG_HOTPLUG_CPU >> #define SAL_PSR_BITS_TO_SET \ >> diff --git a/arch/ia64/kernel/head.h b/arch/ia64/kernel/head.h >> new file mode 100644 >> index 0000000..2e2ac68 >> --- /dev/null >> +++ b/arch/ia64/kernel/head.h >> @@ -0,0 +1 @@ >> +extern void console_print(const char *s); >> diff --git a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c >> index 89969e9..b34bef7 100644 >> --- a/arch/ia64/kernel/process.c >> +++ b/arch/ia64/kernel/process.c >> @@ -161,6 +161,13 @@ show_regs (struct pt_regs *regs) >> show_stack(NULL, NULL); >> } >> >> +/* local support for deprecated console_print */ >> +void >> +console_print(const char *s) >> +{ >> + printk(KERN_EMERG "%s", s); >> +} >> + >> void >> do_notify_resume_user(sigset_t *unused, struct sigscratch *scr, long >> in_syscall) >> { >> diff --git a/drivers/char/serial167.c b/drivers/char/serial167.c >> index 51e7a46..5942a9d 100644 >> --- a/drivers/char/serial167.c >> +++ b/drivers/char/serial167.c >> @@ -171,7 +171,6 @@ static int startup(struct cyclades_port *); >> static void cy_throttle(struct tty_struct *); >> static void cy_unthrottle(struct tty_struct *); >> static void config_setup(struct cyclades_port *); >> -extern void console_print(const char *); >> #ifdef CYCLOM_SHOW_STATUS >> static void show_status(int); >> #endif >> @@ -245,7 +244,7 @@ void SP(char *data) >> { >> unsigned long flags; >> local_irq_save(flags); >> - console_print(data); >> + printk(KERN_EMERG "%s", data); >> local_irq_restore(flags); >> } >> >> @@ -255,7 +254,7 @@ void CP(char data) >> unsigned long flags; >> local_irq_save(flags); >> scrn[0] = data; >> - console_print(scrn); >> + printk(KERN_EMERG "%c", scrn); >> local_irq_restore(flags); >> } /* CP */ >> >> diff --git a/include/linux/dtlk.h b/include/linux/dtlk.h >> index 2896d90..22a7b9a 100644 >> --- a/include/linux/dtlk.h >> +++ b/include/linux/dtlk.h >> @@ -1,22 +1,3 @@ >> -#if 0 >> - >> -#define TRACE_TXT(text) \ >> - { \ >> - if(dtlk_trace) \ >> - { \ >> - console_print(text); \ >> - console_print("\n"); \ >> - } \ >> - } >> - >> -#define TRACE_CHR(chr) \ >> - { \ >> - if(dtlk_trace) \ >> - console_print(chr); \ >> - } \ >> - >> -#endif >> - >> #define DTLK_MINOR 0 >> #define DTLK_IO_EXTENT 0x02 >> >> diff --git a/include/linux/tty.h b/include/linux/tty.h >> index 0d3974f..a916a31 100644 >> --- a/include/linux/tty.h >> +++ b/include/linux/tty.h >> @@ -519,10 +519,6 @@ extern void serial_console_init(void); >> >> extern int pcxe_open(struct tty_struct *tty, struct file *filp); >> >> -/* printk.c */ >> - >> -extern void console_print(const char *); >> - >> /* vt.c */ >> >> extern int vt_ioctl(struct tty_struct *tty, struct file *file, >> diff --git a/kernel/printk.c b/kernel/printk.c >> index e10d193..602033a 100644 >> --- a/kernel/printk.c >> +++ b/kernel/printk.c >> @@ -1075,12 +1075,6 @@ void __sched console_conditional_schedule(void) >> } >> EXPORT_SYMBOL(console_conditional_schedule); >> >> -void console_print(const char *s) >> -{ >> - printk(KERN_EMERG "%s", s); >> -} >> -EXPORT_SYMBOL(console_print); >> - >> void console_unblank(void) >> { >> struct console *c; > ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] cleanup legacy console_print function 2009-09-15 17:55 ` Anirban Sinha @ 2009-09-15 18:00 ` Tony Luck 2009-09-15 18:05 ` Anirban Sinha 0 siblings, 1 reply; 8+ messages in thread From: Tony Luck @ 2009-09-15 18:00 UTC (permalink / raw) To: Anirban Sinha Cc: Bjorn Helgaas, Linus Torvalds, linux-kernel, Randy Dunlap, linux-ia64 > --- a/arch/ia64/kernel/head.h > +++ b/arch/ia64/kernel/head.h > @@ -1 +1,3 @@ > +#ifndef __ASSEMBLY__ > extern void console_print(const char *s); > +#endif Umm. Your new file "head.h" is only included by head.S ... perhaps it would be better to delete head.h entirely and drop the #include from head.S? -Tony ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH] cleanup legacy console_print function 2009-09-15 18:00 ` Tony Luck @ 2009-09-15 18:05 ` Anirban Sinha 2009-09-15 18:11 ` Luck, Tony 0 siblings, 1 reply; 8+ messages in thread From: Anirban Sinha @ 2009-09-15 18:05 UTC (permalink / raw) To: Tony Luck Cc: Bjorn Helgaas, Linus Torvalds, linux-kernel, Randy Dunlap, linux-ia64 >Umm. Your new file "head.h" is only included by head.S ... perhaps it >would be >better to delete head.h entirely and drop the #include from head.S? > Will it resolve the function symbol though? I dunno. I can drop the head.h completely and add: #ifndef __ASSEMBLY__ extern void console_print(const char *s); #endif to head.S if that is a better option. Ani ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH] cleanup legacy console_print function 2009-09-15 18:05 ` Anirban Sinha @ 2009-09-15 18:11 ` Luck, Tony 2009-09-15 18:25 ` Anirban Sinha 0 siblings, 1 reply; 8+ messages in thread From: Luck, Tony @ 2009-09-15 18:11 UTC (permalink / raw) To: Anirban Sinha Cc: Bjorn Helgaas, Linus Torvalds, linux-kernel@vger.kernel.org, Randy Dunlap, linux-ia64@vger.kernel.org > Will it resolve the function symbol though? I dunno. > > I can drop the head.h completely and add: > > #ifndef __ASSEMBLY__ > extern void console_print(const char *s); > #endif > > to head.S if that is a better option. head.S is in assembler (hence the ".S" suffix). So adding code wrapped inside #ifndef __ASSEMBLY__ to it would be a no-op. On ia64 (and I think most other assemblers) it is not necessary to provide any kind of "extern" declaration before using external symbols. -Tony ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH] cleanup legacy console_print function 2009-09-15 18:11 ` Luck, Tony @ 2009-09-15 18:25 ` Anirban Sinha 2009-09-15 18:39 ` Tony Luck 0 siblings, 1 reply; 8+ messages in thread From: Anirban Sinha @ 2009-09-15 18:25 UTC (permalink / raw) To: Luck, Tony Cc: Bjorn Helgaas, Linus Torvalds, linux-kernel, Randy Dunlap, linux-ia64 >On ia64 (and I think most other assemblers) it is not >necessary to provide any kind of "extern" declaration >before using external symbols. Ok, here goes: From: Anirban Sinha <asinha@zeugmasystems.com> Date: Tue, 15 Sep 2009 11:19:29 -0700 Subject: Fix ia64 build breakage. On ia64 it is not necessary to provide any kind of "extern" declaration before using external symbols. Signed-off-by: Anirban Sinha <asinha@zeugmasystems.com> --- arch/ia64/kernel/head.S | 1 - arch/ia64/kernel/head.h | 1 - arch/ia64/kernel/process.c | 2 +- 3 files changed, 1 insertions(+), 3 deletions(-) delete mode 100644 arch/ia64/kernel/head.h diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S index e6c5c3d..23f846d 100644 --- a/arch/ia64/kernel/head.S +++ b/arch/ia64/kernel/head.S @@ -34,7 +34,6 @@ #include <asm/mca_asm.h> #include <linux/init.h> #include <linux/linkage.h> -#include "head.h" #ifdef CONFIG_HOTPLUG_CPU #define SAL_PSR_BITS_TO_SET \ diff --git a/arch/ia64/kernel/head.h b/arch/ia64/kernel/head.h deleted file mode 100644 index 2e2ac68..0000000 --- a/arch/ia64/kernel/head.h +++ /dev/null @@ -1 +0,0 @@ -extern void console_print(const char *s); -- 1.6.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] cleanup legacy console_print function 2009-09-15 18:25 ` Anirban Sinha @ 2009-09-15 18:39 ` Tony Luck 2009-09-15 19:08 ` Anirban Sinha 0 siblings, 1 reply; 8+ messages in thread From: Tony Luck @ 2009-09-15 18:39 UTC (permalink / raw) To: Anirban Sinha Cc: Bjorn Helgaas, Linus Torvalds, linux-kernel, Randy Dunlap, linux-ia64 On Tue, Sep 15, 2009 at 11:25 AM, Anirban Sinha <ASinha@zeugmasystems.com> wrote: > arch/ia64/kernel/head.S | 1 - > arch/ia64/kernel/head.h | 1 - > arch/ia64/kernel/process.c | 2 +- > 3 files changed, 1 insertions(+), 3 deletions(-) The diffstat doesn't match the patch (doesn't include a change to process.c) ... but the patch itself is OK. Acked-by: Tony Luck <tony.luck@intel.com> ^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH] cleanup legacy console_print function 2009-09-15 18:39 ` Tony Luck @ 2009-09-15 19:08 ` Anirban Sinha 0 siblings, 0 replies; 8+ messages in thread From: Anirban Sinha @ 2009-09-15 19:08 UTC (permalink / raw) To: Tony Luck Cc: Bjorn Helgaas, Linus Torvalds, linux-kernel, Randy Dunlap, linux-ia64 > >The diffstat doesn't match the patch (doesn't include a change to >process.c) ... but the patch itself is OK. > >Acked-by: Tony Luck <tony.luck@intel.com> Yeah, my bad. I had a local change in that file which I also committed. Anyway, here it is again: Subject: Fix ia64 build breakage. On ia64 it is not necessary to provide any kind of "extern" declaration before using external symbols. Signed-off-by: Anirban Sinha <asinha@zeugmasystems.com> Acked-by: Tony Luck <tony.luck@intel.com> --- arch/ia64/kernel/head.S | 1 - arch/ia64/kernel/head.h | 1 - 2 files changed, 0 insertions(+), 2 deletions(-) delete mode 100644 arch/ia64/kernel/head.h diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S index e6c5c3d..23f846d 100644 --- a/arch/ia64/kernel/head.S +++ b/arch/ia64/kernel/head.S @@ -34,7 +34,6 @@ #include <asm/mca_asm.h> #include <linux/init.h> #include <linux/linkage.h> -#include "head.h" #ifdef CONFIG_HOTPLUG_CPU #define SAL_PSR_BITS_TO_SET \ diff --git a/arch/ia64/kernel/head.h b/arch/ia64/kernel/head.h deleted file mode 100644 index 2e2ac68..0000000 --- a/arch/ia64/kernel/head.h +++ /dev/null @@ -1 +0,0 @@ -extern void console_print(const char *s); -- 1.6.4 ^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-09-15 19:08 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <DDFD17CC94A9BD49A82147DDF7D545C501F0FF17@exchange.ZeugmaSystems.local>
2009-09-15 17:27 ` [PATCH] cleanup legacy console_print function Bjorn Helgaas
2009-09-15 17:55 ` Anirban Sinha
2009-09-15 18:00 ` Tony Luck
2009-09-15 18:05 ` Anirban Sinha
2009-09-15 18:11 ` Luck, Tony
2009-09-15 18:25 ` Anirban Sinha
2009-09-15 18:39 ` Tony Luck
2009-09-15 19:08 ` Anirban Sinha
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox