* 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