public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [TRIVIAL] drivers/input/serio/i8042-x86ia64.h
@ 2005-07-02 16:11 Rene Herman
  2005-07-04 14:35 ` Vojtech Pavlik
  0 siblings, 1 reply; 2+ messages in thread
From: Rene Herman @ 2005-07-02 16:11 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linux Kernel

[-- Attachment #1: Type: text/plain, Size: 1507 bytes --]

Hi Andrew.

Non-trivial in that I'm unsure of original intent but trivial in that 
it's just a printk()...

On bootup, I see:

pnp: the driver 'i8042 kbd' has been registered
pnp: match found with the PnP device '00:05' and the driver 'i8042 kbd'
pnp: the driver 'i8042 aux' has been registered
PNP: PS/2 controller doesn't have AUX irq; using default 0xc
PNP: PS/2 Controller [PNP0303] at 0x60,0x64 irq 112
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1

That "irq 112" (last PNP: line) should read "irq 1,12" but is being run 
together:

printk(KERN_INFO "PNP: PS/2 Controller [%s%s%s] at %#x,%#x irq %d%s%d\n",
	i8042_pnp_kbd_name,
	(result_kbd > 0 && result_aux > 0) ? "," : "",
	i8042_pnp_aux_name,
	i8042_data_reg,
	i8042_command_reg,
	i8042_kbd_irq,
	(result_aux > 0) ? "," : "", i8042_aux_irq);

That first 'foo ? "," : ""' construct there seems somewhat okay-ish 
since i8042_pnp_aux_name is a 0-string when result_aux <= 0, but this 
obviously does not work for i8042_aux_irq (an integer).

In my case result_aux is 0 due to my BIOS not exporting a PS/2 mouse PNP 
id after which the code just assigns the default irq 12 (the first PNP: 
line above) but winds up printing "irq 112". Due to that default 
assignment, the correct fix would seem to be to just have "%d,%d". 
Attachment does this (and takes the opportunity to change two %#x format 
specifiers for the IRQs to %d).

Did not know who to more specifically bother about this; hope that's okay.

Rene.

[-- Attachment #2: linux-2.6.12.2_ps2_printk.diff --]
[-- Type: text/x-patch, Size: 1306 bytes --]

--- linux-2.6.12.2/drivers/input/serio/i8042-x86ia64io.h.orig	2005-07-02 16:49:16.000000000 +0200
+++ linux-2.6.12.2/drivers/input/serio/i8042-x86ia64io.h	2005-07-02 16:51:17.000000000 +0200
@@ -281,12 +281,12 @@
 	}
 
 	if (!i8042_pnp_kbd_irq) {
-		printk(KERN_WARNING "PNP: PS/2 controller doesn't have KBD irq; using default %#x\n", i8042_kbd_irq);
+		printk(KERN_WARNING "PNP: PS/2 controller doesn't have KBD irq; using default %d\n", i8042_kbd_irq);
 		i8042_pnp_kbd_irq = i8042_kbd_irq;
 	}
 
 	if (!i8042_pnp_aux_irq) {
-		printk(KERN_WARNING "PNP: PS/2 controller doesn't have AUX irq; using default %#x\n", i8042_aux_irq);
+		printk(KERN_WARNING "PNP: PS/2 controller doesn't have AUX irq; using default %d\n", i8042_aux_irq);
 		i8042_pnp_aux_irq = i8042_aux_irq;
 	}
 
@@ -300,10 +300,9 @@
 	i8042_kbd_irq = i8042_pnp_kbd_irq;
 	i8042_aux_irq = i8042_pnp_aux_irq;
 
-	printk(KERN_INFO "PNP: PS/2 Controller [%s%s%s] at %#x,%#x irq %d%s%d\n",
+	printk(KERN_INFO "PNP: PS/2 Controller [%s%s%s] at %#x,%#x irq %d,%d\n",
 		i8042_pnp_kbd_name, (result_kbd > 0 && result_aux > 0) ? "," : "", i8042_pnp_aux_name,
-		i8042_data_reg, i8042_command_reg, i8042_kbd_irq,
-		(result_aux > 0) ? "," : "", i8042_aux_irq);
+		i8042_data_reg, i8042_command_reg, i8042_kbd_irq, i8042_aux_irq);
 
 	return 0;
 }

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

* Re: [TRIVIAL] drivers/input/serio/i8042-x86ia64.h
  2005-07-02 16:11 [TRIVIAL] drivers/input/serio/i8042-x86ia64.h Rene Herman
@ 2005-07-04 14:35 ` Vojtech Pavlik
  0 siblings, 0 replies; 2+ messages in thread
From: Vojtech Pavlik @ 2005-07-04 14:35 UTC (permalink / raw)
  To: Rene Herman; +Cc: Andrew Morton, Linux Kernel

On Sat, Jul 02, 2005 at 06:11:49PM +0200, Rene Herman wrote:
> Hi Andrew.
> 
> Non-trivial in that I'm unsure of original intent but trivial in that 
> it's just a printk()...
> 
> On bootup, I see:
> 
> pnp: the driver 'i8042 kbd' has been registered
> pnp: match found with the PnP device '00:05' and the driver 'i8042 kbd'
> pnp: the driver 'i8042 aux' has been registered
> PNP: PS/2 controller doesn't have AUX irq; using default 0xc
> PNP: PS/2 Controller [PNP0303] at 0x60,0x64 irq 112
> serio: i8042 AUX port at 0x60,0x64 irq 12
> serio: i8042 KBD port at 0x60,0x64 irq 1
> 
> That "irq 112" (last PNP: line) should read "irq 1,12" but is being run 
> together:
> 
> printk(KERN_INFO "PNP: PS/2 Controller [%s%s%s] at %#x,%#x irq %d%s%d\n",
> 	i8042_pnp_kbd_name,
> 	(result_kbd > 0 && result_aux > 0) ? "," : "",
> 	i8042_pnp_aux_name,
> 	i8042_data_reg,
> 	i8042_command_reg,
> 	i8042_kbd_irq,
> 	(result_aux > 0) ? "," : "", i8042_aux_irq);
> 
> That first 'foo ? "," : ""' construct there seems somewhat okay-ish 
> since i8042_pnp_aux_name is a 0-string when result_aux <= 0, but this 
> obviously does not work for i8042_aux_irq (an integer).

I've already fixed this part in my code, and will be pushing it upstream
as soon as the input GIT tree gets merged by Linus.

> In my case result_aux is 0 due to my BIOS not exporting a PS/2 mouse PNP 
> id after which the code just assigns the default irq 12 (the first PNP: 
> line above) but winds up printing "irq 112". Due to that default 
> assignment, the correct fix would seem to be to just have "%d,%d". 
> Attachment does this (and takes the opportunity to change two %#x format 
> specifiers for the IRQs to %d).
> 
> Did not know who to more specifically bother about this; hope that's okay.

> --- linux-2.6.12.2/drivers/input/serio/i8042-x86ia64io.h.orig	2005-07-02 16:49:16.000000000 +0200
> +++ linux-2.6.12.2/drivers/input/serio/i8042-x86ia64io.h	2005-07-02 16:51:17.000000000 +0200
> @@ -281,12 +281,12 @@
>  	}
>  
>  	if (!i8042_pnp_kbd_irq) {
> -		printk(KERN_WARNING "PNP: PS/2 controller doesn't have KBD irq; using default %#x\n", i8042_kbd_irq);
> +		printk(KERN_WARNING "PNP: PS/2 controller doesn't have KBD irq; using default %d\n", i8042_kbd_irq);
>  		i8042_pnp_kbd_irq = i8042_kbd_irq;
>  	}
>  
>  	if (!i8042_pnp_aux_irq) {
> -		printk(KERN_WARNING "PNP: PS/2 controller doesn't have AUX irq; using default %#x\n", i8042_aux_irq);
> +		printk(KERN_WARNING "PNP: PS/2 controller doesn't have AUX irq; using default %d\n", i8042_aux_irq);
>  		i8042_pnp_aux_irq = i8042_aux_irq;
>  	}

And I'm fixing this now, too.

> @@ -300,10 +300,9 @@
>  	i8042_kbd_irq = i8042_pnp_kbd_irq;
>  	i8042_aux_irq = i8042_pnp_aux_irq;
>  
> -	printk(KERN_INFO "PNP: PS/2 Controller [%s%s%s] at %#x,%#x irq %d%s%d\n",
> +	printk(KERN_INFO "PNP: PS/2 Controller [%s%s%s] at %#x,%#x irq %d,%d\n",
>  		i8042_pnp_kbd_name, (result_kbd > 0 && result_aux > 0) ? "," : "", i8042_pnp_aux_name,
> -		i8042_data_reg, i8042_command_reg, i8042_kbd_irq,
> -		(result_aux > 0) ? "," : "", i8042_aux_irq);
> +		i8042_data_reg, i8042_command_reg, i8042_kbd_irq, i8042_aux_irq);
>  
>  	return 0;
>  }


-- 
Vojtech Pavlik
SuSE Labs, SuSE CR

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

end of thread, other threads:[~2005-07-04 14:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-02 16:11 [TRIVIAL] drivers/input/serio/i8042-x86ia64.h Rene Herman
2005-07-04 14:35 ` Vojtech Pavlik

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