* [patch 0/3] m68k: -Werror-implicit-function-declaration fallout
@ 2007-07-20 16:40 Geert Uytterhoeven
2007-07-20 16:40 ` [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible Geert Uytterhoeven
` (2 more replies)
0 siblings, 3 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2007-07-20 16:40 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-m68k, linux-kernel
Hi Andrew,
These patches fix the fallout on m68k of the recent introduction of
-Werror-implicit-function-declaration:
[1] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
[2] netdev: i82596 Ethernet needs <asm/cacheflush.h>
[3] scsi: wd33c93 needs <asm/irq.h>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 24+ messages in thread
* [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
2007-07-20 16:40 [patch 0/3] m68k: -Werror-implicit-function-declaration fallout Geert Uytterhoeven
@ 2007-07-20 16:40 ` Geert Uytterhoeven
2007-07-20 17:47 ` Dmitry Torokhov
2007-07-20 16:40 ` [patch 2/3] netdev: i82596 Ethernet needs <asm/cacheflush.h> Geert Uytterhoeven
2007-07-20 16:40 ` [patch 3/3] scsi: wd33c93 needs <asm/irq.h> Geert Uytterhoeven
2 siblings, 1 reply; 24+ messages in thread
From: Geert Uytterhoeven @ 2007-07-20 16:40 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-m68k, linux-kernel, Dmitry Torokhov, linux-input,
linuxppc-dev
[-- Attachment #1: mac-mac_hid_mouse_emulate_buttons-prototype.diff --]
[-- Type: text/plain, Size: 2315 bytes --]
From: Geert Uytterhoeven <geert@linux-m68k.org>
m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
drivers/char/keyboard.c: In function 'kbd_keycode':
drivers/char/keyboard.c:1142: error: implicit declaration of function 'mac_hid_mouse_emulate_buttons'
The forward declaration of mac_hid_mouse_emulate_buttons() is not visible on
m68k because it's hidden in the middle of a big #ifdef block.
Move it to <linux/hid.h>, correct the type of the second parameter, and
include <linux/hid.h> where needed.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/char/keyboard.c | 5 +----
drivers/macintosh/mac_hid.c | 1 +
include/linux/hid.h | 3 +++
3 files changed, 5 insertions(+), 4 deletions(-)
--- a/drivers/char/keyboard.c
+++ b/drivers/char/keyboard.c
@@ -41,6 +41,7 @@
#include <linux/sysrq.h>
#include <linux/input.h>
#include <linux/reboot.h>
+#include <linux/hid.h>
extern void ctrl_alt_del(void);
@@ -1022,10 +1023,6 @@ static const unsigned short x86_keycodes
308,310,313,314,315,317,318,319,320,357,322,323,324,325,276,330,
332,340,365,342,343,344,345,346,356,270,341,368,369,370,371,372 };
-#ifdef CONFIG_MAC_EMUMOUSEBTN
-extern int mac_hid_mouse_emulate_buttons(int, int, int);
-#endif /* CONFIG_MAC_EMUMOUSEBTN */
-
#ifdef CONFIG_SPARC
static int sparc_l1_a_state = 0;
extern void sun_do_break(void);
--- a/drivers/macintosh/mac_hid.c
+++ b/drivers/macintosh/mac_hid.c
@@ -13,6 +13,7 @@
#include <linux/sysctl.h>
#include <linux/input.h>
#include <linux/module.h>
+#include <linux/hid.h>
static struct input_dev *emumousebtn;
--- a/include/linux/hid.h
+++ b/include/linux/hid.h
@@ -522,6 +522,9 @@ int usbhid_quirks_init(char **quirks_par
void usbhid_quirks_exit(void);
void usbhid_fixup_report_descriptor(const u16, const u16, char *, unsigned, char **);
+/* mac hid */
+extern int mac_hid_mouse_emulate_buttons(int, unsigned int, int);
+
#ifdef CONFIG_HID_FF
int hid_ff_init(struct hid_device *hid);
--
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 24+ messages in thread
* [patch 2/3] netdev: i82596 Ethernet needs <asm/cacheflush.h>
2007-07-20 16:40 [patch 0/3] m68k: -Werror-implicit-function-declaration fallout Geert Uytterhoeven
2007-07-20 16:40 ` [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible Geert Uytterhoeven
@ 2007-07-20 16:40 ` Geert Uytterhoeven
2007-07-24 20:37 ` Jeff Garzik
2007-07-20 16:40 ` [patch 3/3] scsi: wd33c93 needs <asm/irq.h> Geert Uytterhoeven
2 siblings, 1 reply; 24+ messages in thread
From: Geert Uytterhoeven @ 2007-07-20 16:40 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-m68k, linux-kernel, Jeff Garzik, netdev
[-- Attachment #1: m68k-82596-needs-asm-cacheflush.diff --]
[-- Type: text/plain, Size: 1043 bytes --]
netdev: i82596 Ethernet needs <asm/cacheflush.h> on m68k
drivers/net/82596.c: In function 'init_rx_bufs':
drivers/net/82596.c:552: error: implicit declaration of function 'cache_clear'
drivers/net/82596.c: In function 'i596_start_xmit':
drivers/net/82596.c:1104: error: implicit declaration of function 'cache_push'
The driver still compiles on ia32 (CONFIG_APRICOT=y)
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/net/82596.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/net/82596.c
+++ b/drivers/net/82596.c
@@ -57,6 +57,7 @@
#include <asm/io.h>
#include <asm/dma.h>
#include <asm/pgtable.h>
+#include <asm/cacheflush.h>
static char version[] __initdata =
"82596.c $Revision: 1.5 $\n";
--
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 24+ messages in thread
* [patch 3/3] scsi: wd33c93 needs <asm/irq.h>
2007-07-20 16:40 [patch 0/3] m68k: -Werror-implicit-function-declaration fallout Geert Uytterhoeven
2007-07-20 16:40 ` [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible Geert Uytterhoeven
2007-07-20 16:40 ` [patch 2/3] netdev: i82596 Ethernet needs <asm/cacheflush.h> Geert Uytterhoeven
@ 2007-07-20 16:40 ` Geert Uytterhoeven
2007-07-20 16:48 ` James Bottomley
2007-07-20 17:31 ` Ralf Baechle
2 siblings, 2 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2007-07-20 16:40 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-m68k, linux-kernel, James E.J. Bottomley, linux-scsi,
linux-mips
[-- Attachment #1: m68k-wd33c93-needs-asm-irq.diff --]
[-- Type: text/plain, Size: 1015 bytes --]
wd33c93 SCSI needs <asm/irq.h> on m68k
drivers/scsi/wd33c93.c: In function 'wd33c93_host_reset':
drivers/scsi/wd33c93.c:1582: error: implicit declaration of function 'disable_irq'
drivers/scsi/wd33c93.c:1603: error: implicit declaration of function 'enable_irq'
The driver still compiles on MIPS (CONFIG_SGIWD93_SCSI=y)
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/scsi/wd33c93.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/scsi/wd33c93.c
+++ b/drivers/scsi/wd33c93.c
@@ -89,6 +89,8 @@
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
+#include <asm/irq.h>
+
#include "wd33c93.h"
#define optimum_sx_per(hostdata) (hostdata)->sx_table[1].period_ns
--
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 3/3] scsi: wd33c93 needs <asm/irq.h>
2007-07-20 16:40 ` [patch 3/3] scsi: wd33c93 needs <asm/irq.h> Geert Uytterhoeven
@ 2007-07-20 16:48 ` James Bottomley
2007-07-20 17:05 ` Geert Uytterhoeven
2007-07-20 17:13 ` Adrian Bunk
2007-07-20 17:31 ` Ralf Baechle
1 sibling, 2 replies; 24+ messages in thread
From: James Bottomley @ 2007-07-20 16:48 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Andrew Morton, linux-m68k, linux-kernel, linux-scsi, linux-mips
On Fri, 2007-07-20 at 18:40 +0200, Geert Uytterhoeven wrote:
> plain text document attachment (m68k-wd33c93-needs-asm-irq.diff)
> wd33c93 SCSI needs <asm/irq.h> on m68k
>
> drivers/scsi/wd33c93.c: In function 'wd33c93_host_reset':
> drivers/scsi/wd33c93.c:1582: error: implicit declaration of function 'disable_irq'
> drivers/scsi/wd33c93.c:1603: error: implicit declaration of function 'enable_irq'
>
> The driver still compiles on MIPS (CONFIG_SGIWD93_SCSI=y)
That's fixed here, isn't it:
http://git.kernel.org/?p=linux/kernel/git/jejb/scsi-misc-2.6.git;a=commit;h=078dda95c521b1c78d1b5da69ac90d581abc9951
(sorry about the lack of descriptive subject line)
James
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 3/3] scsi: wd33c93 needs <asm/irq.h>
2007-07-20 16:48 ` James Bottomley
@ 2007-07-20 17:05 ` Geert Uytterhoeven
2007-07-20 17:13 ` Adrian Bunk
1 sibling, 0 replies; 24+ messages in thread
From: Geert Uytterhoeven @ 2007-07-20 17:05 UTC (permalink / raw)
To: James Bottomley
Cc: Andrew Morton, linux-m68k, linux-kernel, linux-scsi, linux-mips
On Fri, 20 Jul 2007, James Bottomley wrote:
> On Fri, 2007-07-20 at 18:40 +0200, Geert Uytterhoeven wrote:
> > plain text document attachment (m68k-wd33c93-needs-asm-irq.diff)
> > wd33c93 SCSI needs <asm/irq.h> on m68k
> >
> > drivers/scsi/wd33c93.c: In function 'wd33c93_host_reset':
> > drivers/scsi/wd33c93.c:1582: error: implicit declaration of function 'disable_irq'
> > drivers/scsi/wd33c93.c:1603: error: implicit declaration of function 'enable_irq'
> >
> > The driver still compiles on MIPS (CONFIG_SGIWD93_SCSI=y)
>
> That's fixed here, isn't it:
>
> http://git.kernel.org/?p=linux/kernel/git/jejb/scsi-misc-2.6.git;a=commit;h=078dda95c521b1c78d1b5da69ac90d581abc9951
Indeed, thx!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 3/3] scsi: wd33c93 needs <asm/irq.h>
2007-07-20 16:48 ` James Bottomley
2007-07-20 17:05 ` Geert Uytterhoeven
@ 2007-07-20 17:13 ` Adrian Bunk
1 sibling, 0 replies; 24+ messages in thread
From: Adrian Bunk @ 2007-07-20 17:13 UTC (permalink / raw)
To: James Bottomley
Cc: Geert Uytterhoeven, Andrew Morton, linux-m68k, linux-kernel,
linux-scsi, linux-mips
On Fri, Jul 20, 2007 at 11:48:57AM -0500, James Bottomley wrote:
> On Fri, 2007-07-20 at 18:40 +0200, Geert Uytterhoeven wrote:
> > plain text document attachment (m68k-wd33c93-needs-asm-irq.diff)
> > wd33c93 SCSI needs <asm/irq.h> on m68k
> >
> > drivers/scsi/wd33c93.c: In function 'wd33c93_host_reset':
> > drivers/scsi/wd33c93.c:1582: error: implicit declaration of function 'disable_irq'
> > drivers/scsi/wd33c93.c:1603: error: implicit declaration of function 'enable_irq'
> >
> > The driver still compiles on MIPS (CONFIG_SGIWD93_SCSI=y)
>
> That's fixed here, isn't it:
>
> http://git.kernel.org/?p=linux/kernel/git/jejb/scsi-misc-2.6.git;a=commit;h=078dda95c521b1c78d1b5da69ac90d581abc9951
>
> (sorry about the lack of descriptive subject line)
It wasn't a compile error when I sent this patch to you for the first
time 11 months ago...
> James
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 3/3] scsi: wd33c93 needs <asm/irq.h>
2007-07-20 16:40 ` [patch 3/3] scsi: wd33c93 needs <asm/irq.h> Geert Uytterhoeven
2007-07-20 16:48 ` James Bottomley
@ 2007-07-20 17:31 ` Ralf Baechle
2007-07-20 17:33 ` Christoph Hellwig
2007-07-20 17:34 ` Matthew Wilcox
1 sibling, 2 replies; 24+ messages in thread
From: Ralf Baechle @ 2007-07-20 17:31 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Andrew Morton, linux-m68k, linux-kernel, James E.J. Bottomley,
linux-scsi, linux-mips
On Fri, Jul 20, 2007 at 06:40:46PM +0200, Geert Uytterhoeven wrote:
> --- a/drivers/scsi/wd33c93.c
> +++ b/drivers/scsi/wd33c93.c
> @@ -89,6 +89,8 @@
> #include <scsi/scsi_device.h>
> #include <scsi/scsi_host.h>
>
> +#include <asm/irq.h>
These days that should probably be <linux/irq.h>.
Ralf
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 3/3] scsi: wd33c93 needs <asm/irq.h>
2007-07-20 17:31 ` Ralf Baechle
@ 2007-07-20 17:33 ` Christoph Hellwig
2007-07-20 17:43 ` Sergei Shtylyov
2007-07-20 17:46 ` Ralf Baechle
2007-07-20 17:34 ` Matthew Wilcox
1 sibling, 2 replies; 24+ messages in thread
From: Christoph Hellwig @ 2007-07-20 17:33 UTC (permalink / raw)
To: Ralf Baechle
Cc: Geert Uytterhoeven, Andrew Morton, linux-m68k, linux-kernel,
James E.J. Bottomley, linux-scsi, linux-mips
On Fri, Jul 20, 2007 at 06:31:32PM +0100, Ralf Baechle wrote:
> > +#include <asm/irq.h>
>
> These days that should probably be <linux/irq.h>.
Not at all, linux/irq.h is something entirely different.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 3/3] scsi: wd33c93 needs <asm/irq.h>
2007-07-20 17:31 ` Ralf Baechle
2007-07-20 17:33 ` Christoph Hellwig
@ 2007-07-20 17:34 ` Matthew Wilcox
1 sibling, 0 replies; 24+ messages in thread
From: Matthew Wilcox @ 2007-07-20 17:34 UTC (permalink / raw)
To: Ralf Baechle
Cc: Geert Uytterhoeven, Andrew Morton, linux-m68k, linux-kernel,
James E.J. Bottomley, linux-scsi, linux-mips, Russell King
On Fri, Jul 20, 2007 at 06:31:32PM +0100, Ralf Baechle wrote:
> On Fri, Jul 20, 2007 at 06:40:46PM +0200, Geert Uytterhoeven wrote:
> > +#include <asm/irq.h>
>
> These days that should probably be <linux/irq.h>.
Go and read the comments at the top of linux/irq.h.
And then report to Russell for your whipping.
--
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 3/3] scsi: wd33c93 needs <asm/irq.h>
2007-07-20 17:33 ` Christoph Hellwig
@ 2007-07-20 17:43 ` Sergei Shtylyov
2007-07-20 17:50 ` Matthew Wilcox
2007-07-20 17:46 ` Ralf Baechle
1 sibling, 1 reply; 24+ messages in thread
From: Sergei Shtylyov @ 2007-07-20 17:43 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Ralf Baechle, Geert Uytterhoeven, Andrew Morton, linux-m68k,
linux-kernel, James E.J. Bottomley, linux-scsi, linux-mips
Hello Christoph:
>>>+#include <asm/irq.h>
>>These days that should probably be <linux/irq.h>.
> Not at all, linux/irq.h is something entirely different.
Actually, <linux/interrupt.h>
WBR, Sergei
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 3/3] scsi: wd33c93 needs <asm/irq.h>
2007-07-20 17:33 ` Christoph Hellwig
2007-07-20 17:43 ` Sergei Shtylyov
@ 2007-07-20 17:46 ` Ralf Baechle
1 sibling, 0 replies; 24+ messages in thread
From: Ralf Baechle @ 2007-07-20 17:46 UTC (permalink / raw)
To: Christoph Hellwig, Geert Uytterhoeven, Andrew Morton, linux-m68k,
linux-kernel, James E.J. Bottomley, linux-scsi, linux-mips
On Fri, Jul 20, 2007 at 06:33:59PM +0100, Christoph Hellwig wrote:
> On Fri, Jul 20, 2007 at 06:31:32PM +0100, Ralf Baechle wrote:
> > > +#include <asm/irq.h>
> >
> > These days that should probably be <linux/irq.h>.
>
> Not at all, linux/irq.h is something entirely different.
Well, fine. But checkpatch.pl will bitch about this and other files.
So one way or the other it's not quite kosher.
Ralf
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
2007-07-20 16:40 ` [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible Geert Uytterhoeven
@ 2007-07-20 17:47 ` Dmitry Torokhov
2007-07-20 18:35 ` Adrian Bunk
0 siblings, 1 reply; 24+ messages in thread
From: Dmitry Torokhov @ 2007-07-20 17:47 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Andrew Morton, linux-m68k, linux-kernel, linux-input,
linuxppc-dev
Hi Geert,
On 7/20/07, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> From: Geert Uytterhoeven <geert@linux-m68k.org>
>
> m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
>
> drivers/char/keyboard.c: In function 'kbd_keycode':
> drivers/char/keyboard.c:1142: error: implicit declaration of function 'mac_hid_mouse_emulate_buttons'
>
> The forward declaration of mac_hid_mouse_emulate_buttons() is not visible on
> m68k because it's hidden in the middle of a big #ifdef block.
>
> Move it to <linux/hid.h>, correct the type of the second parameter, and
> include <linux/hid.h> where needed.
linux/hid.h contains definitions needed for drivers speaking HID
protocol, I don't think we want to put quirks for legacy keyboard
driver there. I'd just move the #ifdef within drivers/char/keyboard.c
for now.
BTW, I don't think that mac button emulation will work well when x86
evdev-based driver gains popularity - it "grabs" the device and so no
event will flow through keyboard driver... We'd need a new solution...
--
Dmitry
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 3/3] scsi: wd33c93 needs <asm/irq.h>
2007-07-20 17:43 ` Sergei Shtylyov
@ 2007-07-20 17:50 ` Matthew Wilcox
2007-07-22 23:34 ` Al Viro
0 siblings, 1 reply; 24+ messages in thread
From: Matthew Wilcox @ 2007-07-20 17:50 UTC (permalink / raw)
To: Sergei Shtylyov
Cc: Christoph Hellwig, Ralf Baechle, Geert Uytterhoeven,
Andrew Morton, linux-m68k, linux-kernel, James E.J. Bottomley,
linux-scsi, linux-mips
On Fri, Jul 20, 2007 at 09:43:47PM +0400, Sergei Shtylyov wrote:
> Hello Christoph:
>
> >>>+#include <asm/irq.h>
>
> >>These days that should probably be <linux/irq.h>.
>
> >Not at all, linux/irq.h is something entirely different.
>
> Actually, <linux/interrupt.h>
Not for enable/disable_irq. For request_irq, yes.
This is something that should be fixed.
--
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
2007-07-20 17:47 ` Dmitry Torokhov
@ 2007-07-20 18:35 ` Adrian Bunk
2007-07-20 18:51 ` Dmitry Torokhov
0 siblings, 1 reply; 24+ messages in thread
From: Adrian Bunk @ 2007-07-20 18:35 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Geert Uytterhoeven, Andrew Morton, linux-m68k, linux-kernel,
linux-input, linuxppc-dev
On Fri, Jul 20, 2007 at 01:47:36PM -0400, Dmitry Torokhov wrote:
> Hi Geert,
>
> On 7/20/07, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>> From: Geert Uytterhoeven <geert@linux-m68k.org>
>>
>> m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
>>
>> drivers/char/keyboard.c: In function 'kbd_keycode':
>> drivers/char/keyboard.c:1142: error: implicit declaration of function
>> 'mac_hid_mouse_emulate_buttons'
>>
>> The forward declaration of mac_hid_mouse_emulate_buttons() is not visible
>> on
>> m68k because it's hidden in the middle of a big #ifdef block.
>>
>> Move it to <linux/hid.h>, correct the type of the second parameter, and
>> include <linux/hid.h> where needed.
>
> linux/hid.h contains definitions needed for drivers speaking HID
> protocol, I don't think we want to put quirks for legacy keyboard
> driver there. I'd just move the #ifdef within drivers/char/keyboard.c
> for now.
>...
If you only move it you will keep the bug of the wrong second parameter.
But if you move it to any header file gcc is able to figure out such
errors itself instead of them being nasty runtime errors.
Such prototypes in C files are really bad since (like in this case) they
prevent the finding of bugs. It doesn't matter which header file you put
the prototype into (it can even be a new one), but it belongs into a
header file.
> Dmitry
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
2007-07-20 18:35 ` Adrian Bunk
@ 2007-07-20 18:51 ` Dmitry Torokhov
2007-07-20 19:07 ` Adrian Bunk
2007-07-21 8:27 ` Geert Uytterhoeven
0 siblings, 2 replies; 24+ messages in thread
From: Dmitry Torokhov @ 2007-07-20 18:51 UTC (permalink / raw)
To: Adrian Bunk
Cc: Geert Uytterhoeven, Andrew Morton, linux-m68k, linux-kernel,
linux-input, linuxppc-dev
On 7/20/07, Adrian Bunk <bunk@stusta.de> wrote:
> On Fri, Jul 20, 2007 at 01:47:36PM -0400, Dmitry Torokhov wrote:
> > Hi Geert,
> >
> > On 7/20/07, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> >> From: Geert Uytterhoeven <geert@linux-m68k.org>
> >>
> >> m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
> >>
> >> drivers/char/keyboard.c: In function 'kbd_keycode':
> >> drivers/char/keyboard.c:1142: error: implicit declaration of function
> >> 'mac_hid_mouse_emulate_buttons'
> >>
> >> The forward declaration of mac_hid_mouse_emulate_buttons() is not visible
> >> on
> >> m68k because it's hidden in the middle of a big #ifdef block.
> >>
> >> Move it to <linux/hid.h>, correct the type of the second parameter, and
> >> include <linux/hid.h> where needed.
> >
> > linux/hid.h contains definitions needed for drivers speaking HID
> > protocol, I don't think we want to put quirks for legacy keyboard
> > driver there. I'd just move the #ifdef within drivers/char/keyboard.c
> > for now.
> >...
>
> If you only move it you will keep the bug of the wrong second parameter.
>
> But if you move it to any header file gcc is able to figure out such
> errors itself instead of them being nasty runtime errors.
>
> Such prototypes in C files are really bad since (like in this case) they
> prevent the finding of bugs. It doesn't matter which header file you put
> the prototype into (it can even be a new one), but it belongs into a
> header file.
>
I am OK with adding a new header file. I was just saying that placing
that declaration in linux/hid.h makes about the same sense as putting
it into linux/scsi.h
--
Dmitry
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
2007-07-20 18:51 ` Dmitry Torokhov
@ 2007-07-20 19:07 ` Adrian Bunk
2007-07-20 19:30 ` Dmitry Torokhov
2007-07-21 8:27 ` Geert Uytterhoeven
1 sibling, 1 reply; 24+ messages in thread
From: Adrian Bunk @ 2007-07-20 19:07 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Geert Uytterhoeven, Andrew Morton, linux-m68k, linux-kernel,
linux-input, linuxppc-dev
On Fri, Jul 20, 2007 at 02:51:02PM -0400, Dmitry Torokhov wrote:
> On 7/20/07, Adrian Bunk <bunk@stusta.de> wrote:
>> On Fri, Jul 20, 2007 at 01:47:36PM -0400, Dmitry Torokhov wrote:
>> > Hi Geert,
>> >
>> > On 7/20/07, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>> >> From: Geert Uytterhoeven <geert@linux-m68k.org>
>> >>
>> >> m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
>> >>
>> >> drivers/char/keyboard.c: In function 'kbd_keycode':
>> >> drivers/char/keyboard.c:1142: error: implicit declaration of function
>> >> 'mac_hid_mouse_emulate_buttons'
>> >>
>> >> The forward declaration of mac_hid_mouse_emulate_buttons() is not
>> visible
>> >> on
>> >> m68k because it's hidden in the middle of a big #ifdef block.
>> >>
>> >> Move it to <linux/hid.h>, correct the type of the second parameter, and
>> >> include <linux/hid.h> where needed.
>> >
>> > linux/hid.h contains definitions needed for drivers speaking HID
>> > protocol, I don't think we want to put quirks for legacy keyboard
>> > driver there. I'd just move the #ifdef within drivers/char/keyboard.c
>> > for now.
>> >...
>>
>> If you only move it you will keep the bug of the wrong second parameter.
>>
>> But if you move it to any header file gcc is able to figure out such
>> errors itself instead of them being nasty runtime errors.
>>
>> Such prototypes in C files are really bad since (like in this case) they
>> prevent the finding of bugs. It doesn't matter which header file you put
>> the prototype into (it can even be a new one), but it belongs into a
>> header file.
>
> I am OK with adding a new header file. I was just saying that placing
> that declaration in linux/hid.h makes about the same sense as putting
> it into linux/scsi.h
scsi.h would also be fine with me. ;-)
Are you making a patch or should I send one? [1]
> Dmitry
cu
Adrian
[1] for a new header file, not scsi.h
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
2007-07-20 19:07 ` Adrian Bunk
@ 2007-07-20 19:30 ` Dmitry Torokhov
0 siblings, 0 replies; 24+ messages in thread
From: Dmitry Torokhov @ 2007-07-20 19:30 UTC (permalink / raw)
To: Adrian Bunk
Cc: Geert Uytterhoeven, Andrew Morton, linux-m68k, linux-kernel,
linux-input, linuxppc-dev
On 7/20/07, Adrian Bunk <bunk@stusta.de> wrote:
> On Fri, Jul 20, 2007 at 02:51:02PM -0400, Dmitry Torokhov wrote:
> > On 7/20/07, Adrian Bunk <bunk@stusta.de> wrote:
> >> On Fri, Jul 20, 2007 at 01:47:36PM -0400, Dmitry Torokhov wrote:
> >> > Hi Geert,
> >> >
> >> > On 7/20/07, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> >> >> From: Geert Uytterhoeven <geert@linux-m68k.org>
> >> >>
> >> >> m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
> >> >>
> >> >> drivers/char/keyboard.c: In function 'kbd_keycode':
> >> >> drivers/char/keyboard.c:1142: error: implicit declaration of function
> >> >> 'mac_hid_mouse_emulate_buttons'
> >> >>
> >> >> The forward declaration of mac_hid_mouse_emulate_buttons() is not
> >> visible
> >> >> on
> >> >> m68k because it's hidden in the middle of a big #ifdef block.
> >> >>
> >> >> Move it to <linux/hid.h>, correct the type of the second parameter, and
> >> >> include <linux/hid.h> where needed.
> >> >
> >> > linux/hid.h contains definitions needed for drivers speaking HID
> >> > protocol, I don't think we want to put quirks for legacy keyboard
> >> > driver there. I'd just move the #ifdef within drivers/char/keyboard.c
> >> > for now.
> >> >...
> >>
> >> If you only move it you will keep the bug of the wrong second parameter.
> >>
> >> But if you move it to any header file gcc is able to figure out such
> >> errors itself instead of them being nasty runtime errors.
> >>
> >> Such prototypes in C files are really bad since (like in this case) they
> >> prevent the finding of bugs. It doesn't matter which header file you put
> >> the prototype into (it can even be a new one), but it belongs into a
> >> header file.
> >
> > I am OK with adding a new header file. I was just saying that placing
> > that declaration in linux/hid.h makes about the same sense as putting
> > it into linux/scsi.h
>
> scsi.h would also be fine with me. ;-)
>
> Are you making a patch or should I send one? [1]
>
If you send one I'll gladly take it ;)
--
Dmitry
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
2007-07-20 18:51 ` Dmitry Torokhov
2007-07-20 19:07 ` Adrian Bunk
@ 2007-07-21 8:27 ` Geert Uytterhoeven
2007-07-22 4:22 ` Dmitry Torokhov
1 sibling, 1 reply; 24+ messages in thread
From: Geert Uytterhoeven @ 2007-07-21 8:27 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Adrian Bunk, Andrew Morton, linux-m68k, linux-kernel, linux-input,
linuxppc-dev
On Fri, 20 Jul 2007, Dmitry Torokhov wrote:
> On 7/20/07, Adrian Bunk <bunk@stusta.de> wrote:
> > On Fri, Jul 20, 2007 at 01:47:36PM -0400, Dmitry Torokhov wrote:
> > > On 7/20/07, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > >> From: Geert Uytterhoeven <geert@linux-m68k.org>
> > >>
> > >> m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
> > >>
> > >> drivers/char/keyboard.c: In function 'kbd_keycode':
> > >> drivers/char/keyboard.c:1142: error: implicit declaration of function
> > >> 'mac_hid_mouse_emulate_buttons'
> > >>
> > >> The forward declaration of mac_hid_mouse_emulate_buttons() is not visible
> > >> on
> > >> m68k because it's hidden in the middle of a big #ifdef block.
> > >>
> > >> Move it to <linux/hid.h>, correct the type of the second parameter, and
> > >> include <linux/hid.h> where needed.
> > >
> > > linux/hid.h contains definitions needed for drivers speaking HID
> > > protocol, I don't think we want to put quirks for legacy keyboard
> > > driver there. I'd just move the #ifdef within drivers/char/keyboard.c
> > > for now.
> > >...
> >
> > If you only move it you will keep the bug of the wrong second parameter.
> >
> > But if you move it to any header file gcc is able to figure out such
> > errors itself instead of them being nasty runtime errors.
> >
> > Such prototypes in C files are really bad since (like in this case) they
> > prevent the finding of bugs. It doesn't matter which header file you put
> > the prototype into (it can even be a new one), but it belongs into a
> > header file.
> >
>
> I am OK with adding a new header file. I was just saying that placing
> that declaration in linux/hid.h makes about the same sense as putting
> it into linux/scsi.h
At first I just wanted to move it. Then I thought about the angry
comments I would get about not moving it to a header file ;-)
<linux/hid.h> looked like the best candidate. <linux/kbd_kern.h> is
another option.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
2007-07-21 8:27 ` Geert Uytterhoeven
@ 2007-07-22 4:22 ` Dmitry Torokhov
2007-07-22 12:51 ` Geert Uytterhoeven
0 siblings, 1 reply; 24+ messages in thread
From: Dmitry Torokhov @ 2007-07-22 4:22 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Adrian Bunk, Andrew Morton, linux-m68k, linux-kernel, linux-input,
linuxppc-dev
Hi Geert,
On Saturday 21 July 2007 04:27, Geert Uytterhoeven wrote:
> On Fri, 20 Jul 2007, Dmitry Torokhov wrote:
> >
> > I am OK with adding a new header file. I was just saying that placing
> > that declaration in linux/hid.h makes about the same sense as putting
> > it into linux/scsi.h
>
> At first I just wanted to move it. Then I thought about the angry
> comments I would get about not moving it to a header file ;-)
>
> <linux/hid.h> looked like the best candidate. <linux/kbd_kern.h> is
> another option.
>
linux/kbd_kern.h sounds much better.
--
Dmitry
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
2007-07-22 4:22 ` Dmitry Torokhov
@ 2007-07-22 12:51 ` Geert Uytterhoeven
2007-07-24 0:45 ` Dmitry Torokhov
0 siblings, 1 reply; 24+ messages in thread
From: Geert Uytterhoeven @ 2007-07-22 12:51 UTC (permalink / raw)
To: Dmitry Torokhov
Cc: Adrian Bunk, Andrew Morton, linux-m68k, linux-kernel, linux-input,
linuxppc-dev
On Sun, 22 Jul 2007, Dmitry Torokhov wrote:
> On Saturday 21 July 2007 04:27, Geert Uytterhoeven wrote:
> > On Fri, 20 Jul 2007, Dmitry Torokhov wrote:
> > > I am OK with adding a new header file. I was just saying that placing
> > > that declaration in linux/hid.h makes about the same sense as putting
> > > it into linux/scsi.h
> >
> > At first I just wanted to move it. Then I thought about the angry
> > comments I would get about not moving it to a header file ;-)
> >
> > <linux/hid.h> looked like the best candidate. <linux/kbd_kern.h> is
> > another option.
> >
>
> linux/kbd_kern.h sounds much better.
And so it will be.
---
m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
drivers/char/keyboard.c: In function 'kbd_keycode':
drivers/char/keyboard.c:1142: error: implicit declaration of function 'mac_hid_mouse_emulate_buttons'
The forward declaration of mac_hid_mouse_emulate_buttons() is not visible on
m68k because it's hidden in the middle of a big #ifdef block.
Move it to <linux/kbd_kern.h>, correct the type of the second parameter, and
include <linux/kbd_kern.h> where needed.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/char/keyboard.c | 4 ----
drivers/macintosh/mac_hid.c | 1 +
include/linux/kbd_kern.h | 3 +++
3 files changed, 4 insertions(+), 4 deletions(-)
--- a/drivers/char/keyboard.c
+++ b/drivers/char/keyboard.c
@@ -1022,10 +1022,6 @@ static const unsigned short x86_keycodes
308,310,313,314,315,317,318,319,320,357,322,323,324,325,276,330,
332,340,365,342,343,344,345,346,356,270,341,368,369,370,371,372 };
-#ifdef CONFIG_MAC_EMUMOUSEBTN
-extern int mac_hid_mouse_emulate_buttons(int, int, int);
-#endif /* CONFIG_MAC_EMUMOUSEBTN */
-
#ifdef CONFIG_SPARC
static int sparc_l1_a_state = 0;
extern void sun_do_break(void);
--- a/drivers/macintosh/mac_hid.c
+++ b/drivers/macintosh/mac_hid.c
@@ -13,6 +13,7 @@
#include <linux/sysctl.h>
#include <linux/input.h>
#include <linux/module.h>
+#include <linux/kbd_kern.h>
static struct input_dev *emumousebtn;
--- a/include/linux/kbd_kern.h
+++ b/include/linux/kbd_kern.h
@@ -161,4 +161,7 @@ static inline void con_schedule_flip(str
schedule_delayed_work(&t->buf.work, 0);
}
+/* mac_hid.c */
+extern int mac_hid_mouse_emulate_buttons(int, unsigned int, int);
+
#endif
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 3/3] scsi: wd33c93 needs <asm/irq.h>
2007-07-20 17:50 ` Matthew Wilcox
@ 2007-07-22 23:34 ` Al Viro
0 siblings, 0 replies; 24+ messages in thread
From: Al Viro @ 2007-07-22 23:34 UTC (permalink / raw)
To: Matthew Wilcox
Cc: Sergei Shtylyov, Christoph Hellwig, Ralf Baechle,
Geert Uytterhoeven, Andrew Morton, linux-m68k, linux-kernel,
James E.J. Bottomley, linux-scsi, linux-mips
On Fri, Jul 20, 2007 at 11:50:50AM -0600, Matthew Wilcox wrote:
> On Fri, Jul 20, 2007 at 09:43:47PM +0400, Sergei Shtylyov wrote:
> > Hello Christoph:
> >
> > >>>+#include <asm/irq.h>
> >
> > >>These days that should probably be <linux/irq.h>.
> >
> > >Not at all, linux/irq.h is something entirely different.
> >
> > Actually, <linux/interrupt.h>
>
> Not for enable/disable_irq. For request_irq, yes.
>
> This is something that should be fixed.
Now it is... FWIW, I suspect that absolute majority of asm/irq.h
uses can be removed now.
Next steps in irq.h/interrupt.h cleanups:
* scouring asm/irq.h like it had been done for sparc32;
the parts that are only used by relevant arch/ code should be
taken there and includes _in_ asm/irq.h trimmed to minimum
* separating tasklet.h, with interrupt.h still including it.
Using it where needed.
* asm/softirq.h (with stuff mostly taken there from asm/hardirq.h)
and linux/softirq.h; again interrupt.h still should include it.
* mechanical adding include of linux/interrupt.h to files that use
request_irq/free_irq/enable_irq/disable_irq/irqreturn_t/IRQF_...
---> in the next merge window:
* replace include of linux/interrupt.h in netdevice.h with
that of linux/softirq.h.
* trim uses of linux/interrupt.h that are not needed anymore.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible
2007-07-22 12:51 ` Geert Uytterhoeven
@ 2007-07-24 0:45 ` Dmitry Torokhov
0 siblings, 0 replies; 24+ messages in thread
From: Dmitry Torokhov @ 2007-07-24 0:45 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Adrian Bunk, Andrew Morton, linux-m68k, linux-kernel, linux-input,
linuxppc-dev
On Sunday 22 July 2007 08:51, Geert Uytterhoeven wrote:
> On Sun, 22 Jul 2007, Dmitry Torokhov wrote:
> > On Saturday 21 July 2007 04:27, Geert Uytterhoeven wrote:
> > > On Fri, 20 Jul 2007, Dmitry Torokhov wrote:
> > > > I am OK with adding a new header file. I was just saying that placing
> > > > that declaration in linux/hid.h makes about the same sense as putting
> > > > it into linux/scsi.h
> > >
> > > At first I just wanted to move it. Then I thought about the angry
> > > comments I would get about not moving it to a header file ;-)
> > >
> > > <linux/hid.h> looked like the best candidate. <linux/kbd_kern.h> is
> > > another option.
> > >
> >
> > linux/kbd_kern.h sounds much better.
>
> And so it will be.
Applied to 'for-linus' branch of input tree, thank you.
--
Dmitry
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [patch 2/3] netdev: i82596 Ethernet needs <asm/cacheflush.h>
2007-07-20 16:40 ` [patch 2/3] netdev: i82596 Ethernet needs <asm/cacheflush.h> Geert Uytterhoeven
@ 2007-07-24 20:37 ` Jeff Garzik
0 siblings, 0 replies; 24+ messages in thread
From: Jeff Garzik @ 2007-07-24 20:37 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: Andrew Morton, linux-m68k, linux-kernel, netdev
Geert Uytterhoeven wrote:
> netdev: i82596 Ethernet needs <asm/cacheflush.h> on m68k
>
> drivers/net/82596.c: In function 'init_rx_bufs':
> drivers/net/82596.c:552: error: implicit declaration of function 'cache_clear'
> drivers/net/82596.c: In function 'i596_start_xmit':
> drivers/net/82596.c:1104: error: implicit declaration of function 'cache_push'
>
> The driver still compiles on ia32 (CONFIG_APRICOT=y)
>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
applied
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2007-07-24 20:39 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-20 16:40 [patch 0/3] m68k: -Werror-implicit-function-declaration fallout Geert Uytterhoeven
2007-07-20 16:40 ` [patch 1/3] m68k/mac: Make mac_hid_mouse_emulate_buttons() declaration visible Geert Uytterhoeven
2007-07-20 17:47 ` Dmitry Torokhov
2007-07-20 18:35 ` Adrian Bunk
2007-07-20 18:51 ` Dmitry Torokhov
2007-07-20 19:07 ` Adrian Bunk
2007-07-20 19:30 ` Dmitry Torokhov
2007-07-21 8:27 ` Geert Uytterhoeven
2007-07-22 4:22 ` Dmitry Torokhov
2007-07-22 12:51 ` Geert Uytterhoeven
2007-07-24 0:45 ` Dmitry Torokhov
2007-07-20 16:40 ` [patch 2/3] netdev: i82596 Ethernet needs <asm/cacheflush.h> Geert Uytterhoeven
2007-07-24 20:37 ` Jeff Garzik
2007-07-20 16:40 ` [patch 3/3] scsi: wd33c93 needs <asm/irq.h> Geert Uytterhoeven
2007-07-20 16:48 ` James Bottomley
2007-07-20 17:05 ` Geert Uytterhoeven
2007-07-20 17:13 ` Adrian Bunk
2007-07-20 17:31 ` Ralf Baechle
2007-07-20 17:33 ` Christoph Hellwig
2007-07-20 17:43 ` Sergei Shtylyov
2007-07-20 17:50 ` Matthew Wilcox
2007-07-22 23:34 ` Al Viro
2007-07-20 17:46 ` Ralf Baechle
2007-07-20 17:34 ` Matthew Wilcox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox