Linux IA64 platform development
 help / color / mirror / Atom feed
* 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