The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH] cleanup legacy console_print function
  2009-08-27 19:34     ` Linus Torvalds
@ 2009-09-11 19:29       ` Anirban Sinha
  2009-09-14 14:50         ` Linus Torvalds
  0 siblings, 1 reply; 13+ messages in thread
From: Anirban Sinha @ 2009-09-11 19:29 UTC (permalink / raw)
  To: Linus Torvalds, linux-kernel, Randy Dunlap; +Cc: Anirban Sinha

Hi Linus:

>>Looks ok to me, but I'm not going to apply it in late -rc, since it
>>doesn't really fix any bug. Feel free to re-send after 2.6.31 is out,
>or
>>try to get it into one of the trees to be merged later.
>>
>
>Thanks Linus. I will resend the patch once 2.6.31 is out of the door.

Here's the patch again:


Subject: cleanup legacy console_print function

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
usew their own implementation of it as they feel fit.


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 |    7 +++++++
drivers/char/serial167.c   |    5 ++---
include/linux/dtlk.h       |    6 +++---
include/linux/tty.h        |    4 ----
kernel/printk.c            |    6 ------
7 files changed, 14 insertions(+), 16 deletions(-)

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 5d7c0e5..c2bb591 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..4f93c45 100644
--- a/include/linux/dtlk.h
+++ b/include/linux/dtlk.h
@@ -4,15 +4,15 @@
 	{ \
 	  if(dtlk_trace) \
 	  { \
-	    console_print(text); \
-	    console_print("\n"); \
+	    printk(KERN_EMERG "%s", text);	\
+	    printk(KERN_EMERG "\n");		\
 	  } \
 	}
 
 #define TRACE_CHR(chr) \
 	{ \
 	  if(dtlk_trace) \
-	    console_print(chr); \
+	    printk(KERN_EMERG "%c", chr); \
 	} \
 
 #endif
diff --git a/include/linux/tty.h b/include/linux/tty.h
index e8c6c91..ba191e3 100644
--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -517,10 +517,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 b4d97b5..32e15ce 100644
--- a/kernel/printk.c
+++ b/kernel/printk.c
@@ -1060,12 +1060,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] 13+ messages in thread

* Re: [PATCH] cleanup legacy console_print function
  2009-09-11 19:29       ` [PATCH] cleanup legacy console_print function Anirban Sinha
@ 2009-09-14 14:50         ` Linus Torvalds
  2009-09-14 17:18           ` Anirban Sinha
  0 siblings, 1 reply; 13+ messages in thread
From: Linus Torvalds @ 2009-09-14 14:50 UTC (permalink / raw)
  To: Anirban Sinha; +Cc: linux-kernel, Randy Dunlap



On Fri, 11 Sep 2009, Anirban Sinha wrote:
>
> -           console_print(text); \
> -           console_print("\n"); \
> +           printk(KERN_EMERG "%s", text);      \
> +           printk(KERN_EMERG "\n");            \

Just clean it up to be

	printk(KERN_EMERG "%s\n", text);

instead while at it.

>  #define TRACE_CHR(chr) \
>  	{ \
>  	  if(dtlk_trace) \
> -	    console_print(chr); \
> +	    printk(KERN_EMERG "%c", chr); \

That can't be right. The translation is to use "%s", not "%c".

		Linus

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

* RE: [PATCH] cleanup legacy console_print function
  2009-09-14 14:50         ` Linus Torvalds
@ 2009-09-14 17:18           ` Anirban Sinha
  0 siblings, 0 replies; 13+ messages in thread
From: Anirban Sinha @ 2009-09-14 17:18 UTC (permalink / raw)
  To: Linus Torvalds, linux-kernel; +Cc: Randy Dunlap


>On Fri, 11 Sep 2009, Anirban Sinha wrote:
>>
>> -           console_print(text); \
>> -           console_print("\n"); \
>> +           printk(KERN_EMERG "%s", text);      \
>> +           printk(KERN_EMERG "\n");            \
>
>Just clean it up to be
>
>	printk(KERN_EMERG "%s\n", text);
>
>instead while at it.
>
>>  #define TRACE_CHR(chr) \
>>  	{ \
>>  	  if(dtlk_trace) \
>> -	    console_print(chr); \
>> +	    printk(KERN_EMERG "%c", chr); \
>
>That can't be right. The translation is to use "%s", not "%c".

Better still, for both the above cases, I will simply remove those macro
definitions. They are enclosed within {#if0 #endif}, so no code could
possibly be using it. If anyone has any strong reasons for keeping it
still, please raise your voice now.

Cheers,

Ani


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

* Re: [PATCH] cleanup legacy console_print function
@ 2009-09-14 18:28 Anirban Sinha
  2009-09-15 17:27 ` Bjorn Helgaas
  0 siblings, 1 reply; 13+ messages in thread
From: Anirban Sinha @ 2009-09-14 18:28 UTC (permalink / raw)
  To: Linus Torvalds, linux-kernel; +Cc: Randy Dunlap

Here you go!


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


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 |    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;
-- 
1.6.4


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

* RE: [PATCH] cleanup legacy console_print function
@ 2009-09-15 15:54 Anirban Sinha
  0 siblings, 0 replies; 13+ messages in thread
From: Anirban Sinha @ 2009-09-15 15:54 UTC (permalink / raw)
  To: Anirban Sinha, Linus Torvalds, linux-kernel; +Cc: Randy Dunlap

>
>Here you go!
>

Thanks Linus for committing the patch.

    Ani



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

* Re: [PATCH] cleanup legacy console_print function
  2009-09-14 18:28 [PATCH] cleanup legacy console_print function Anirban Sinha
@ 2009-09-15 17:27 ` Bjorn Helgaas
  2009-09-15 17:55   ` Anirban Sinha
  0 siblings, 1 reply; 13+ 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] 13+ messages in thread

* RE: [PATCH] cleanup legacy console_print function
  2009-09-15 17:27 ` Bjorn Helgaas
@ 2009-09-15 17:55   ` Anirban Sinha
  2009-09-15 18:00     ` Tony Luck
  0 siblings, 1 reply; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ 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; 13+ 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] 13+ messages in thread

end of thread, other threads:[~2009-09-15 19:09 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-14 18:28 [PATCH] cleanup legacy console_print function Anirban Sinha
2009-09-15 17:27 ` 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
  -- strict thread matches above, loose matches on Subject: below --
2009-09-15 15:54 Anirban Sinha
2009-08-25 23:47 [PATCH] console_print: change the function api to make it have printk style interface Anirban Sinha
2009-08-26  0:26 ` Randy Dunlap
2009-08-26 20:05   ` Anirban Sinha
2009-08-27 19:34     ` Linus Torvalds
2009-09-11 19:29       ` [PATCH] cleanup legacy console_print function Anirban Sinha
2009-09-14 14:50         ` Linus Torvalds
2009-09-14 17:18           ` Anirban Sinha

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox