All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch 0/8] m68k patches for 2.6.24
@ 2007-10-13 12:31 Geert Uytterhoeven
  2007-10-13 12:31 ` [patch 1/8] m68k: Atari input drivers cleanup Geert Uytterhoeven
                   ` (7 more replies)
  0 siblings, 8 replies; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 12:31 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: linux-m68k, linux-kernel

	Hi Linus, Andrew,

Here are some m68k patches for 2.6.24:
  [1] m68k: Atari input drivers cleanup
  [2] m68k: Atari keyboard ACIA driver cleanup
  [3] m68k: ignore restart_syscall
  [4] m68k: Export cachectl.h
  [5] dm: emc_endio returns void
  [6] m68k: fix net drivers after recent get_stats updates
  [7] b43 wireless needs <linux/io.h>
  [8] ssb bus needs <linux/io.h>

Patches 1-4 are m68k support updates.
Patches 5-8 are fixes for regressions/failures introduced after 2.6.23.

Please apply, thanks!

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] 21+ messages in thread

* [patch 1/8] m68k: Atari input drivers cleanup
  2007-10-13 12:31 [patch 0/8] m68k patches for 2.6.24 Geert Uytterhoeven
@ 2007-10-13 12:31 ` Geert Uytterhoeven
  2007-10-15 13:24   ` Dmitry Torokhov
  2007-10-13 12:31 ` [patch 2/8] m68k: Atari keyboard ACIA driver cleanup Geert Uytterhoeven
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 12:31 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton
  Cc: linux-m68k, linux-kernel, Dmitry Torokhov, linux-input, Michael Schmitz

[-- Attachment #1: atari-input-memleak-cleanup.diff --]
[-- Type: text/plain, Size: 6630 bytes --]

m68k: Atari input drivers cleanup:
  - memleak on failed init/register of input devices fixed
  - correct keycodes table (Atari keycodes are almost, but not entirely, equal 
    to Linux keycodes).

Signed-off-by: Michael Schmitz <schmitz@biophys.uni-duesseldorf.de>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/input/keyboard/atakbd.c  |  157 ++++++++++++++++++++++++++++++++++++---
 drivers/input/mouse/atarimouse.c |   18 ++--
 2 files changed, 154 insertions(+), 21 deletions(-)

--- a/drivers/input/keyboard/atakbd.c
+++ b/drivers/input/keyboard/atakbd.c
@@ -55,7 +55,140 @@ MODULE_AUTHOR("Michael Schmitz <schmitz@
 MODULE_DESCRIPTION("Atari keyboard driver");
 MODULE_LICENSE("GPL");
 
-static unsigned char atakbd_keycode[0x72];
+/*
+ 0x47: KP_7     71
+ 0x48: KP_8     72
+ 0x49: KP_9     73
+ 0x62: KP_/     98
+ 0x4b: KP_4     75
+ 0x4c: KP_5     76
+ 0x4d: KP_6     77
+ 0x37: KP_*     55
+ 0x4f: KP_1     79
+ 0x50: KP_2     80
+ 0x51: KP_3     81
+ 0x4a: KP_-     74
+ 0x52: KP_0     82
+ 0x53: KP_.     83
+ 0x4e: KP_+     78
+
+ 0x67: Up       103
+ 0x6c: Down     108
+ 0x69: Left     105
+ 0x6a: Right    106
+ */
+
+
+static unsigned char atakbd_keycode[0x72] = {	/* American layout */
+	[0]	 = KEY_GRAVE,
+	[1]	 = KEY_ESC,
+	[2]	 = KEY_1,
+	[3]	 = KEY_2,
+	[4]	 = KEY_3,
+	[5]	 = KEY_4,
+	[6]	 = KEY_5,
+	[7]	 = KEY_6,
+	[8]	 = KEY_7,
+	[9]	 = KEY_8,
+	[10]	 = KEY_9,
+	[11]	 = KEY_0,
+	[12]	 = KEY_MINUS,
+	[13]	 = KEY_EQUAL,
+	[14]	 = KEY_BACKSPACE,
+	[15]	 = KEY_TAB,
+	[16]	 = KEY_Q,
+	[17]	 = KEY_W,
+	[18]	 = KEY_E,
+	[19]	 = KEY_R,
+	[20]	 = KEY_T,
+	[21]	 = KEY_Y,
+	[22]	 = KEY_U,
+	[23]	 = KEY_I,
+	[24]	 = KEY_O,
+	[25]	 = KEY_P,
+	[26]	 = KEY_LEFTBRACE,
+	[27]	 = KEY_RIGHTBRACE,
+	[28]	 = KEY_ENTER,
+	[29]	 = KEY_LEFTCTRL,
+	[30]	 = KEY_A,
+	[31]	 = KEY_S,
+	[32]	 = KEY_D,
+	[33]	 = KEY_F,
+	[34]	 = KEY_G,
+	[35]	 = KEY_H,
+	[36]	 = KEY_J,
+	[37]	 = KEY_K,
+	[38]	 = KEY_L,
+	[39]	 = KEY_SEMICOLON,
+	[40]	 = KEY_APOSTROPHE,
+	[41]	 = KEY_BACKSLASH,	/* FIXME, '#' */
+	[42]	 = KEY_LEFTSHIFT,
+	[43]	 = KEY_GRAVE,		/* FIXME: '~' */
+	[44]	 = KEY_Z,
+	[45]	 = KEY_X,
+	[46]	 = KEY_C,
+	[47]	 = KEY_V,
+	[48]	 = KEY_B,
+	[49]	 = KEY_N,
+	[50]	 = KEY_M,
+	[51]	 = KEY_COMMA,
+	[52]	 = KEY_DOT,
+	[53]	 = KEY_SLASH,
+	[54]	 = KEY_RIGHTSHIFT,
+	[55]	 = KEY_KPASTERISK,
+	[56]	 = KEY_LEFTALT,
+	[57]	 = KEY_SPACE,
+	[58]	 = KEY_CAPSLOCK,
+	[59]	 = KEY_F1,
+	[60]	 = KEY_F2,
+	[61]	 = KEY_F3,
+	[62]	 = KEY_F4,
+	[63]	 = KEY_F5,
+	[64]	 = KEY_F6,
+	[65]	 = KEY_F7,
+	[66]	 = KEY_F8,
+	[67]	 = KEY_F9,
+	[68]	 = KEY_F10,
+	[69]	 = KEY_ESC,
+	[70]	 = KEY_DELETE,
+	[71]	 = KEY_KP7,
+	[72]	 = KEY_KP8,
+	[73]	 = KEY_KP9,
+	[74]	 = KEY_KPMINUS,
+	[75]	 = KEY_KP4,
+	[76]	 = KEY_KP5,
+	[77]	 = KEY_KP6,
+	[78]	 = KEY_KPPLUS,
+	[79]	 = KEY_KP1,
+	[80]	 = KEY_KP2,
+	[81]	 = KEY_KP3,
+	[82]	 = KEY_KP0,
+	[83]	 = KEY_KPDOT,
+	[90]	 = KEY_KPLEFTPAREN,
+	[91]	 = KEY_KPRIGHTPAREN,
+	[92]	 = KEY_KPASTERISK,	/* FIXME */
+	[93]	 = KEY_KPASTERISK,
+	[94]	 = KEY_KPPLUS,
+	[95]	 = KEY_HELP,
+	[96]	 = KEY_BACKSLASH,	/* FIXME: '<' */
+	[97]	 = KEY_KPASTERISK,	/* FIXME */
+	[98]	 = KEY_KPSLASH,
+	[99]	 = KEY_KPLEFTPAREN,
+	[100]	 = KEY_KPRIGHTPAREN,
+	[101]	 = KEY_KPSLASH,
+	[102]	 = KEY_KPASTERISK,
+	[103]	 = KEY_UP,
+	[104]	 = KEY_KPASTERISK,	/* FIXME */
+	[105]	 = KEY_LEFT,
+	[106]	 = KEY_RIGHT,
+	[107]	 = KEY_KPASTERISK,	/* FIXME */
+	[108]	 = KEY_DOWN,
+	[109]	 = KEY_KPASTERISK,	/* FIXME */
+	[110]	 = KEY_KPASTERISK,	/* FIXME */
+	[111]	 = KEY_KPASTERISK,	/* FIXME */
+	[112]	 = KEY_KPASTERISK,	/* FIXME */
+	[113]	 = KEY_KPASTERISK	/* FIXME */
+};
 
 static struct input_dev *atakbd_dev;
 
@@ -86,21 +219,20 @@ static int __init atakbd_init(void)
 {
 	int i;
 
-	if (!ATARIHW_PRESENT(ST_MFP))
+	if (!MACH_IS_ATARI || !ATARIHW_PRESENT(ST_MFP))
 		return -EIO;
 
-	// TODO: request_mem_region if not done in arch code
-
-	if (!(atakbd_dev = input_allocate_device()))
-		return -ENOMEM;
-
 	// need to init core driver if not already done so
 	if (atari_keyb_init())
 		return -ENODEV;
 
+	atakbd_dev = input_allocate_device();
+	if (!atakbd_dev)
+		return -ENOMEM;
+
 	atakbd_dev->name = "Atari Keyboard";
 	atakbd_dev->phys = "atakbd/input0";
-	atakbd_dev->id.bustype = BUS_ATARI;
+	atakbd_dev->id.bustype = BUS_HOST;
 	atakbd_dev->id.vendor = 0x0001;
 	atakbd_dev->id.product = 0x0001;
 	atakbd_dev->id.version = 0x0100;
@@ -111,16 +243,17 @@ static int __init atakbd_init(void)
 	atakbd_dev->keycodemax = ARRAY_SIZE(atakbd_keycode);
 
 	for (i = 1; i < 0x72; i++) {
-		atakbd_keycode[i] = i;
 		set_bit(atakbd_keycode[i], atakbd_dev->keybit);
 	}
 
-	input_register_device(atakbd_dev);
+	/* error check */
+	if (input_register_device(atakbd_dev)) {
+		input_free_device(atakbd_dev);
+		return -ENOMEM;
+	}
 
 	atari_input_keyboard_interrupt_hook = atakbd_interrupt;
 
-	printk(KERN_INFO "input: %s at IKBD ACIA\n", atakbd_dev->name);
-
 	return 0;
 }
 
--- a/drivers/input/mouse/atarimouse.c
+++ b/drivers/input/mouse/atarimouse.c
@@ -73,14 +73,11 @@ static void atamouse_interrupt(char *buf
 {
 	int buttons, dx, dy;
 
-/*	ikbd_mouse_disable(); */
-
 	buttons = (buf[0] & 1) | ((buf[0] & 2) << 1);
 #ifdef FIXED_ATARI_JOYSTICK
 	buttons |= atari_mouse_buttons & 2;
 	atari_mouse_buttons = buttons;
 #endif
-/*	ikbd_mouse_rel_pos(); */
 
 	/* only relative events get here */
 	dx =  buf[1];
@@ -126,15 +123,16 @@ static int __init atamouse_init(void)
 	if (!MACH_IS_ATARI || !ATARIHW_PRESENT(ST_MFP))
 		return -ENODEV;
 
-	if (!(atamouse_dev = input_allocate_device()))
-		return -ENOMEM;
-
 	if (!(atari_keyb_init()))
 		return -ENODEV;
 
+	atamouse_dev = input_allocate_device();
+	if (!atamouse_dev)
+		return -ENOMEM;
+
 	atamouse_dev->name = "Atari mouse";
 	atamouse_dev->phys = "atamouse/input0";
-	atamouse_dev->id.bustype = BUS_ATARI;
+	atamouse_dev->id.bustype = BUS_HOST;
 	atamouse_dev->id.vendor = 0x0001;
 	atamouse_dev->id.product = 0x0002;
 	atamouse_dev->id.version = 0x0100;
@@ -145,9 +143,11 @@ static int __init atamouse_init(void)
 	atamouse_dev->open = atamouse_open;
 	atamouse_dev->close = atamouse_close;
 
-	input_register_device(atamouse_dev);
+	if (input_register_device(atamouse_dev)) {
+		input_free_device(atamouse_dev);
+		return -ENOMEM;
+	}
 
-	printk(KERN_INFO "input: %s at keyboard ACIA\n", atamouse_dev->name);
 	return 0;
 }
 

-- 
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] 21+ messages in thread

* [patch 2/8] m68k: Atari keyboard ACIA driver cleanup
  2007-10-13 12:31 [patch 0/8] m68k patches for 2.6.24 Geert Uytterhoeven
  2007-10-13 12:31 ` [patch 1/8] m68k: Atari input drivers cleanup Geert Uytterhoeven
@ 2007-10-13 12:31 ` Geert Uytterhoeven
  2007-10-13 15:32   ` Andreas Schwab
  2007-10-13 12:31 ` [patch 3/8] m68k: ignore restart_syscall Geert Uytterhoeven
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 12:31 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton
  Cc: linux-m68k, linux-kernel, Dmitry Torokhov, linux-input, Michael Schmitz

[-- Attachment #1: atari-atakeyb-cleanup.diff --]
[-- Type: text/plain, Size: 6366 bytes --]

m68k: Atari keyboard ACIA driver cleanup:
  - removed dead key autorepeat code
  - removed hardcoded initial keymap

Signed-off-by: Michael Schmitz <schmitz@biophys.uni-duesseldorf.de>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 arch/m68k/atari/atakeyb.c |  104 +++-------------------------------------------
 1 file changed, 7 insertions(+), 97 deletions(-)

--- a/arch/m68k/atari/atakeyb.c
+++ b/arch/m68k/atari/atakeyb.c
@@ -1,5 +1,5 @@
 /*
- * linux/atari/atakeyb.c
+ * linux/arch/m68k/atari/atakeyb.c
  *
  * Atari Keyboard driver for 680x0 Linux
  *
@@ -11,6 +11,9 @@
 /*
  * Atari support by Robert de Vries
  * enhanced by Bjoern Brauel and Roman Hodek
+ *
+ * 2.6 and input cleanup (removed autorepeat stuff) for 2.6.21
+ * 06/07 Michael Schmitz
  */
 
 #include <linux/module.h>
@@ -32,7 +35,6 @@
 #include <asm/atari_joystick.h>
 #include <asm/irq.h>
 
-static void atakeyb_rep(unsigned long ignore);
 extern unsigned int keymap_count;
 
 /* Hook for MIDI serial driver */
@@ -104,25 +106,6 @@ static unsigned long broken_keys[128/(si
  *  - Keypad Left/Right Parenthesis mapped to new K_PPAREN[LR]
  */
 
-static u_short ataplain_map[NR_KEYS] __initdata = {
-	0xf200, 0xf01b, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036,
-	0xf037, 0xf038, 0xf039, 0xf030, 0xf02d, 0xf03d, 0xf008, 0xf009,
-	0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69,
-	0xfb6f, 0xfb70, 0xf05b, 0xf05d, 0xf201, 0xf702, 0xfb61, 0xfb73,
-	0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf03b,
-	0xf027, 0xf060, 0xf700, 0xf05c, 0xfb7a, 0xfb78, 0xfb63, 0xfb76,
-	0xfb62, 0xfb6e, 0xfb6d, 0xf02c, 0xf02e, 0xf02f, 0xf700, 0xf200,
-	0xf703, 0xf020, 0xf207, 0xf100, 0xf101, 0xf102, 0xf103, 0xf104,
-	0xf105, 0xf106, 0xf107, 0xf108, 0xf109, 0xf200, 0xf200, 0xf114,
-	0xf603, 0xf200, 0xf30b, 0xf601, 0xf200, 0xf602, 0xf30a, 0xf200,
-	0xf600, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf200, 0xf200,
-	0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-	0xf200, 0xf1ff, 0xf11b, 0xf312, 0xf313, 0xf30d, 0xf30c, 0xf307,
-	0xf308, 0xf309, 0xf304, 0xf305, 0xf306, 0xf301, 0xf302, 0xf303,
-	0xf300, 0xf310, 0xf30e, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-	0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200
-};
-
 typedef enum kb_state_t {
 	KEYBOARD, AMOUSE, RMOUSE, JOYSTICK, CLOCK, RESYNC
 } KB_STATE_T;
@@ -137,41 +120,6 @@ typedef struct keyboard_state {
 
 KEYBOARD_STATE kb_state;
 
-#define	DEFAULT_KEYB_REP_DELAY	(HZ/4)
-#define	DEFAULT_KEYB_REP_RATE	(HZ/25)
-
-/* These could be settable by some ioctl() in future... */
-static unsigned int key_repeat_delay = DEFAULT_KEYB_REP_DELAY;
-static unsigned int key_repeat_rate = DEFAULT_KEYB_REP_RATE;
-
-static unsigned char rep_scancode;
-static struct timer_list atakeyb_rep_timer = {
-	.function = atakeyb_rep,
-};
-
-static void atakeyb_rep(unsigned long ignore)
-{
-	/* Disable keyboard for the time we call handle_scancode(), else a race
-	 * in the keyboard tty queue may happen */
-	atari_disable_irq(IRQ_MFP_ACIA);
-	del_timer(&atakeyb_rep_timer);
-
-	/* A keyboard int may have come in before we disabled the irq, so
-	 * double-check whether rep_scancode is still != 0 */
-	if (rep_scancode) {
-		init_timer(&atakeyb_rep_timer);
-		atakeyb_rep_timer.expires = jiffies + key_repeat_rate;
-		add_timer(&atakeyb_rep_timer);
-
-		//handle_scancode(rep_scancode, 1);
-		if (atari_input_keyboard_interrupt_hook)
-			atari_input_keyboard_interrupt_hook(rep_scancode, 1);
-	}
-
-	atari_enable_irq(IRQ_MFP_ACIA);
-}
-
-
 /* ++roman: If a keyboard overrun happened, we can't tell in general how much
  * bytes have been lost and in which state of the packet structure we are now.
  * This usually causes keyboards bytes to be interpreted as mouse movements
@@ -209,9 +157,6 @@ repeat:
 		/* ...happens often if interrupts were disabled for too long */
 		printk(KERN_DEBUG "Keyboard overrun\n");
 		scancode = acia.key_data;
-		/* Turn off autorepeating in case a break code has been lost */
-		del_timer(&atakeyb_rep_timer);
-		rep_scancode = 0;
 		if (ikbd_self_test)
 			/* During self test, don't do resyncing, just process the code */
 			goto interpret_scancode;
@@ -281,11 +226,12 @@ repeat:
 					 * make codes instead. Therefore, simply ignore
 					 * break_flag...
 					 */
-					int keyval = plain_map[scancode], keytyp;
+					int keyval, keytyp;
 
 					set_bit(scancode, broken_keys);
 					self_test_last_rcv = jiffies;
-					keyval = plain_map[scancode];
+					/* new Linux scancodes; approx. */
+					keyval = scancode;
 					keytyp = KTYP(keyval) - 0xf0;
 					keyval = KVAL(keyval);
 
@@ -301,19 +247,6 @@ repeat:
 				} else if (test_bit(scancode, broken_keys))
 					break;
 
-#if 0	// FIXME; hangs at boot
-				if (break_flag) {
-					del_timer(&atakeyb_rep_timer);
-					rep_scancode = 0;
-				} else {
-					del_timer(&atakeyb_rep_timer);
-					rep_scancode = scancode;
-					atakeyb_rep_timer.expires = jiffies + key_repeat_delay;
-					add_timer(&atakeyb_rep_timer);
-				}
-#endif
-
-				// handle_scancode(scancode, !break_flag);
 				if (atari_input_keyboard_interrupt_hook)
 					atari_input_keyboard_interrupt_hook((unsigned char)scancode, !break_flag);
 				break;
@@ -639,9 +572,6 @@ int __init atari_keyb_init(void)
 	if (atari_keyb_done)
 		return 0;
 
-	/* setup key map */
-	memcpy(key_maps[0], ataplain_map, sizeof(plain_map));
-
 	kb_state.state = KEYBOARD;
 	kb_state.len = 0;
 
@@ -704,26 +634,6 @@ int __init atari_keyb_init(void)
 	return 0;
 }
 
-int atari_kbdrate(struct kbd_repeat *k)
-{
-	if (k->delay > 0) {
-		/* convert from msec to jiffies */
-		key_repeat_delay = (k->delay * HZ + 500) / 1000;
-		if (key_repeat_delay < 1)
-			key_repeat_delay = 1;
-	}
-	if (k->period > 0) {
-		key_repeat_rate = (k->period * HZ + 500) / 1000;
-		if (key_repeat_rate < 1)
-			key_repeat_rate = 1;
-	}
-
-	k->delay  = key_repeat_delay * 1000 / HZ;
-	k->period = key_repeat_rate  * 1000 / HZ;
-
-	return 0;
-}
-
 int atari_kbd_translate(unsigned char keycode, unsigned char *keycodep, char raw_mode)
 {
 #ifdef CONFIG_MAGIC_SYSRQ

-- 
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] 21+ messages in thread

* [patch 3/8] m68k: ignore restart_syscall
  2007-10-13 12:31 [patch 0/8] m68k patches for 2.6.24 Geert Uytterhoeven
  2007-10-13 12:31 ` [patch 1/8] m68k: Atari input drivers cleanup Geert Uytterhoeven
  2007-10-13 12:31 ` [patch 2/8] m68k: Atari keyboard ACIA driver cleanup Geert Uytterhoeven
@ 2007-10-13 12:31 ` Geert Uytterhoeven
  2007-10-13 18:53   ` Roman Zippel
  2007-10-13 12:31 ` [patch 4/8] m68k: Export cachectl.h Geert Uytterhoeven
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 12:31 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: linux-m68k, linux-kernel

[-- Attachment #1: m68k-ignore-restart_syscall.diff --]
[-- Type: text/plain, Size: 769 bytes --]

m68k: ignore restart_syscall, which is not needed on m68k.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 include/asm-m68k/unistd.h |    3 +++
 1 file changed, 3 insertions(+)

--- a/include/asm-m68k/unistd.h
+++ b/include/asm-m68k/unistd.h
@@ -351,6 +351,9 @@
 #define __ARCH_WANT_SYS_SIGPROCMASK
 #define __ARCH_WANT_SYS_RT_SIGACTION
 
+/* whitelist for checksyscalls */
+#define __IGNORE_restart_syscall
+
 /*
  * "Conditional" syscalls
  *

-- 
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] 21+ messages in thread

* [patch 4/8] m68k: Export cachectl.h
  2007-10-13 12:31 [patch 0/8] m68k patches for 2.6.24 Geert Uytterhoeven
                   ` (2 preceding siblings ...)
  2007-10-13 12:31 ` [patch 3/8] m68k: ignore restart_syscall Geert Uytterhoeven
@ 2007-10-13 12:31 ` Geert Uytterhoeven
  2007-10-13 12:31 ` [patch 5/8] dm: emc_endio returns void Geert Uytterhoeven
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 12:31 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: linux-m68k, linux-kernel, Matthew Wilcox

[-- Attachment #1: m68k-export-asm-cachectl-h.diff --]
[-- Type: text/plain, Size: 801 bytes --]

From: Matthew Wilcox <matthew@wil.cx>

libffi in GCC 4.2 needs cachectl.h to do its cache flushing.  But we
don't currently export it.  I believe this patch should do the trick.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 include/asm-m68k/Kbuild |    1 +
 1 file changed, 1 insertion(+)

--- a/include/asm-m68k/Kbuild
+++ b/include/asm-m68k/Kbuild
@@ -1 +1,2 @@
 include include/asm-generic/Kbuild.asm
+header-y += cachectl.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] 21+ messages in thread

* [patch 5/8] dm: emc_endio returns void
  2007-10-13 12:31 [patch 0/8] m68k patches for 2.6.24 Geert Uytterhoeven
                   ` (3 preceding siblings ...)
  2007-10-13 12:31 ` [patch 4/8] m68k: Export cachectl.h Geert Uytterhoeven
@ 2007-10-13 12:31 ` Geert Uytterhoeven
  2007-10-13 12:31 ` [patch 6/8] m68k: fix net drivers after recent get_stats updates Geert Uytterhoeven
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 12:31 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton; +Cc: linux-m68k, linux-kernel, dm-devel

[-- Attachment #1: dm-emc_endio-returns-void.diff --]
[-- Type: text/plain, Size: 868 bytes --]

emc_endio returns void:
linux/drivers/md/dm-emc.c: In function 'emc_endio':
linux/drivers/md/dm-emc.c:58: warning: 'return' with a value, in function returning void

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/md/dm-emc.c |    2 --
 1 file changed, 2 deletions(-)

--- a/drivers/md/dm-emc.c
+++ b/drivers/md/dm-emc.c
@@ -54,8 +54,6 @@ static void emc_endio(struct bio *bio, i
 
 	/* request is freed in block layer */
 	free_bio(bio);
-
-	return 0;
 }
 
 static struct bio *get_failover_bio(struct dm_path *path, unsigned data_size)

-- 
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] 21+ messages in thread

* [patch 6/8] m68k: fix net drivers after recent get_stats updates
  2007-10-13 12:31 [patch 0/8] m68k patches for 2.6.24 Geert Uytterhoeven
                   ` (4 preceding siblings ...)
  2007-10-13 12:31 ` [patch 5/8] dm: emc_endio returns void Geert Uytterhoeven
@ 2007-10-13 12:31 ` Geert Uytterhoeven
  2007-10-13 12:44   ` Jeff Garzik
  2007-10-13 12:31   ` Geert Uytterhoeven
  2007-10-13 12:31 ` [patch 8/8] ssb bus " Geert Uytterhoeven
  7 siblings, 1 reply; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 12:31 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton
  Cc: linux-m68k, linux-kernel, Jeff Garzik, netdev

[-- Attachment #1: m68k-net-fixes.diff --]
[-- Type: text/plain, Size: 1830 bytes --]

m68k: fix net drivers after recent get_stats updates

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/net/macmace.c |    6 +++---
 drivers/net/mvme147.c |    1 -
 2 files changed, 3 insertions(+), 4 deletions(-)

--- a/drivers/net/macmace.c
+++ b/drivers/net/macmace.c
@@ -538,8 +538,9 @@ static void mace_set_multicast(struct ne
 	local_irq_restore(flags);
 }
 
-static void mace_handle_misc_intrs(struct mace_data *mp, int intr)
+static void mace_handle_misc_intrs(struct net_device *dev, int intr)
 {
+	struct mace_data *mp = netdev_priv(dev);
 	volatile struct mace *mb = mp->mace;
 	static int mace_babbles, mace_jabbers;
 
@@ -571,7 +572,7 @@ static irqreturn_t mace_interrupt(int ir
 	local_irq_save(flags);
 
 	intr = mb->ir; /* read interrupt register */
-	mace_handle_misc_intrs(mp, intr);
+	mace_handle_misc_intrs(dev, intr);
 
 	if (intr & XMTINT) {
 		fs = mb->xmtfs;
@@ -645,7 +646,6 @@ static void mace_tx_timeout(struct net_d
 
 static void mace_dma_rx_frame(struct net_device *dev, struct mace_frame *mf)
 {
-	struct mace_data *mp = netdev_priv(dev);
 	struct sk_buff *skb;
 	unsigned int frame_status = mf->rcvsts;
 
--- a/drivers/net/mvme147.c
+++ b/drivers/net/mvme147.c
@@ -85,7 +85,6 @@ struct net_device * __init mvme147lance_
 	dev->open = &m147lance_open;
 	dev->stop = &m147lance_close;
 	dev->hard_start_xmit = &lance_start_xmit;
-	dev->get_stats = &lance_get_stats;
 	dev->set_multicast_list = &lance_set_multicast;
 	dev->tx_timeout = &lance_tx_timeout;
 	dev->dma = 0;

-- 
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] 21+ messages in thread

* [patch 7/8] b43 wireless needs <linux/io.h>
  2007-10-13 12:31 [patch 0/8] m68k patches for 2.6.24 Geert Uytterhoeven
@ 2007-10-13 12:31   ` Geert Uytterhoeven
  2007-10-13 12:31 ` [patch 2/8] m68k: Atari keyboard ACIA driver cleanup Geert Uytterhoeven
                     ` (6 subsequent siblings)
  7 siblings, 0 replies; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 12:31 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton, Michael Buesch, Stefano Brivio
  Cc: linux-m68k, linux-kernel, linux-wireless

b43 wireless needs <linux/io.h>

linux/drivers/net/wireless/b43/pio.h: In function 'b43_pio_write':
linux/drivers/net/wireless/b43/pio.h:89: error: implicit declaration of function 'mmiowb'

linux/drivers/net/wireless/b43/phy.c: In function 'b43_phy_write':
linux/drivers/net/wireless/b43/phy.c:301: error: implicit declaration of function 'mmiowb'

linuxdrivers/net/wireless/b43/sysfs.c: In function 'b43_attr_interfmode_store':
linuxdrivers/net/wireless/b43/sysfs.c:147: error: implicit declaration of function 'mmiowb'

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/net/wireless/b43/phy.c   |    1 +
 drivers/net/wireless/b43/pio.h   |    1 +
 drivers/net/wireless/b43/sysfs.c |    5 +++--
 3 files changed, 5 insertions(+), 2 deletions(-)

--- a/drivers/net/wireless/b43/phy.c
+++ b/drivers/net/wireless/b43/phy.c
@@ -26,6 +26,7 @@
 */
 
 #include <linux/delay.h>
+#include <linux/io.h>
 #include <linux/types.h>
 
 #include "b43.h"
--- a/drivers/net/wireless/b43/pio.h
+++ b/drivers/net/wireless/b43/pio.h
@@ -4,6 +4,7 @@
 #include "b43.h"
 
 #include <linux/interrupt.h>
+#include <linux/io.h>
 #include <linux/list.h>
 #include <linux/skbuff.h>
 
--- a/drivers/net/wireless/b43/sysfs.c
+++ b/drivers/net/wireless/b43/sysfs.c
@@ -23,13 +23,14 @@
 
 */
 
+#include <linux/capability.h>
+#include <linux/io.h>
+
 #include "b43.h"
 #include "sysfs.h"
 #include "main.h"
 #include "phy.h"
 
-#include <linux/capability.h>
-
 #define GENERIC_FILESIZE	64
 
 static int get_integer(const char *buf, size_t count)

-- 
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] 21+ messages in thread

* [patch 7/8] b43 wireless needs <linux/io.h>
@ 2007-10-13 12:31   ` Geert Uytterhoeven
  0 siblings, 0 replies; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 12:31 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton, Michael Buesch, Stefano Brivio
  Cc: linux-m68k, linux-kernel, linux-wireless

[-- Attachment #1: b43-needs-linux-io.h.diff --]
[-- Type: text/plain, Size: 1845 bytes --]

b43 wireless needs <linux/io.h>

linux/drivers/net/wireless/b43/pio.h: In function 'b43_pio_write':
linux/drivers/net/wireless/b43/pio.h:89: error: implicit declaration of function 'mmiowb'

linux/drivers/net/wireless/b43/phy.c: In function 'b43_phy_write':
linux/drivers/net/wireless/b43/phy.c:301: error: implicit declaration of function 'mmiowb'

linuxdrivers/net/wireless/b43/sysfs.c: In function 'b43_attr_interfmode_store':
linuxdrivers/net/wireless/b43/sysfs.c:147: error: implicit declaration of function 'mmiowb'

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/net/wireless/b43/phy.c   |    1 +
 drivers/net/wireless/b43/pio.h   |    1 +
 drivers/net/wireless/b43/sysfs.c |    5 +++--
 3 files changed, 5 insertions(+), 2 deletions(-)

--- a/drivers/net/wireless/b43/phy.c
+++ b/drivers/net/wireless/b43/phy.c
@@ -26,6 +26,7 @@
 */
 
 #include <linux/delay.h>
+#include <linux/io.h>
 #include <linux/types.h>
 
 #include "b43.h"
--- a/drivers/net/wireless/b43/pio.h
+++ b/drivers/net/wireless/b43/pio.h
@@ -4,6 +4,7 @@
 #include "b43.h"
 
 #include <linux/interrupt.h>
+#include <linux/io.h>
 #include <linux/list.h>
 #include <linux/skbuff.h>
 
--- a/drivers/net/wireless/b43/sysfs.c
+++ b/drivers/net/wireless/b43/sysfs.c
@@ -23,13 +23,14 @@
 
 */
 
+#include <linux/capability.h>
+#include <linux/io.h>
+
 #include "b43.h"
 #include "sysfs.h"
 #include "main.h"
 #include "phy.h"
 
-#include <linux/capability.h>
-
 #define GENERIC_FILESIZE	64
 
 static int get_integer(const char *buf, size_t count)

-- 
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] 21+ messages in thread

* [patch 8/8] ssb bus needs <linux/io.h>
  2007-10-13 12:31 [patch 0/8] m68k patches for 2.6.24 Geert Uytterhoeven
                   ` (6 preceding siblings ...)
  2007-10-13 12:31   ` Geert Uytterhoeven
@ 2007-10-13 12:31 ` Geert Uytterhoeven
  2007-10-13 15:23   ` Michael Buesch
  7 siblings, 1 reply; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 12:31 UTC (permalink / raw)
  To: Linus Torvalds, Andrew Morton, Michael Buesch
  Cc: linux-m68k, linux-kernel, netdev

[-- Attachment #1: ssb-needs-linux-io.h.diff --]
[-- Type: text/plain, Size: 1239 bytes --]

ssb bus needs <linux/io.h>

linux/drivers/ssb/main.c: In function 'ssb_ssb_read16':
linux/drivers/ssb/main.c:518: error: implicit declaration of function 'readw'
linux/drivers/ssb/main.c: In function 'ssb_ssb_read32':
linux/drivers/ssb/main.c:526: error: implicit declaration of function 'readl'
linux/drivers/ssb/main.c: In function 'ssb_ssb_write16':
linux/drivers/ssb/main.c:534: error: implicit declaration of function 'writew'
linux/drivers/ssb/main.c: In function 'ssb_ssb_write32':
linux/drivers/ssb/main.c:542: error: implicit declaration of function 'writel'

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 drivers/ssb/main.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -11,6 +11,7 @@
 #include "ssb_private.h"
 
 #include <linux/delay.h>
+#include <linux/io.h>
 #include <linux/ssb/ssb.h>
 #include <linux/ssb/ssb_regs.h>
 #include <linux/dma-mapping.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] 21+ messages in thread

* Re: [patch 6/8] m68k: fix net drivers after recent get_stats updates
  2007-10-13 12:31 ` [patch 6/8] m68k: fix net drivers after recent get_stats updates Geert Uytterhoeven
@ 2007-10-13 12:44   ` Jeff Garzik
  0 siblings, 0 replies; 21+ messages in thread
From: Jeff Garzik @ 2007-10-13 12:44 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Linus Torvalds, Andrew Morton, linux-m68k, linux-kernel, netdev

ACK


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

* Re: [patch 7/8] b43 wireless needs <linux/io.h>
  2007-10-13 12:31   ` Geert Uytterhoeven
  (?)
@ 2007-10-13 15:21   ` Michael Buesch
  -1 siblings, 0 replies; 21+ messages in thread
From: Michael Buesch @ 2007-10-13 15:21 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Linus Torvalds, Andrew Morton, Stefano Brivio, linux-m68k,
	linux-kernel, linux-wireless, Larry Finger, John Linville

On Saturday 13 October 2007 14:31:30 Geert Uytterhoeven wrote:
> b43 wireless needs <linux/io.h>
> 
> linux/drivers/net/wireless/b43/pio.h: In function 'b43_pio_write':
> linux/drivers/net/wireless/b43/pio.h:89: error: implicit declaration of function 'mmiowb'
> 
> linux/drivers/net/wireless/b43/phy.c: In function 'b43_phy_write':
> linux/drivers/net/wireless/b43/phy.c:301: error: implicit declaration of function 'mmiowb'
> 
> linuxdrivers/net/wireless/b43/sysfs.c: In function 'b43_attr_interfmode_store':
> linuxdrivers/net/wireless/b43/sysfs.c:147: error: implicit declaration of function 'mmiowb'
> 
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Cc: Larry Finger <larry.finger@lwfinger.net>

> ---
>  drivers/net/wireless/b43/phy.c   |    1 +
>  drivers/net/wireless/b43/pio.h   |    1 +
>  drivers/net/wireless/b43/sysfs.c |    5 +++--
>  3 files changed, 5 insertions(+), 2 deletions(-)
> 
> --- a/drivers/net/wireless/b43/phy.c
> +++ b/drivers/net/wireless/b43/phy.c
> @@ -26,6 +26,7 @@
>  */
>  
>  #include <linux/delay.h>
> +#include <linux/io.h>
>  #include <linux/types.h>
>  
>  #include "b43.h"
> --- a/drivers/net/wireless/b43/pio.h
> +++ b/drivers/net/wireless/b43/pio.h
> @@ -4,6 +4,7 @@
>  #include "b43.h"
>  
>  #include <linux/interrupt.h>
> +#include <linux/io.h>
>  #include <linux/list.h>
>  #include <linux/skbuff.h>
>  
> --- a/drivers/net/wireless/b43/sysfs.c
> +++ b/drivers/net/wireless/b43/sysfs.c
> @@ -23,13 +23,14 @@
>  
>  */
>  
> +#include <linux/capability.h>
> +#include <linux/io.h>
> +
>  #include "b43.h"
>  #include "sysfs.h"
>  #include "main.h"
>  #include "phy.h"
>  
> -#include <linux/capability.h>
> -
>  #define GENERIC_FILESIZE	64
>  
>  static int get_integer(const char *buf, size_t count)
> 



-- 
Greetings Michael.

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

* Re: [patch 7/8] b43 wireless needs <linux/io.h>
  2007-10-13 12:31   ` Geert Uytterhoeven
  (?)
  (?)
@ 2007-10-13 15:22   ` Larry Finger
  2007-10-13 18:38     ` Geert Uytterhoeven
  -1 siblings, 1 reply; 21+ messages in thread
From: Larry Finger @ 2007-10-13 15:22 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Linus Torvalds, Andrew Morton, Michael Buesch, linux-m68k,
	linux-kernel, linux-wireless

Geert Uytterhoeven wrote:

> linux/drivers/net/wireless/b43/pio.h: In function 'b43_pio_write':
> linux/drivers/net/wireless/b43/pio.h:89: error: implicit declaration of function 'mmiowb'
>
> linux/drivers/net/wireless/b43/phy.c: In function 'b43_phy_write':
> linux/drivers/net/wireless/b43/phy.c:301: error: implicit declaration of function 'mmiowb'
>
> linuxdrivers/net/wireless/b43/sysfs.c: In function 'b43_attr_interfmode_store':
> linuxdrivers/net/wireless/b43/sysfs.c:147: error: implicit declaration of function 'mmiowb'

>From the distribution list for this E-mail, I presume this error occurred for m68k. Is this correct?
If so, I will probably need to prepare a similar patch for b43legacy.

Thanks,

Larry



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

* Re: [patch 8/8] ssb bus needs <linux/io.h>
  2007-10-13 12:31 ` [patch 8/8] ssb bus " Geert Uytterhoeven
@ 2007-10-13 15:23   ` Michael Buesch
  0 siblings, 0 replies; 21+ messages in thread
From: Michael Buesch @ 2007-10-13 15:23 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Linus Torvalds, Andrew Morton, linux-m68k, linux-kernel, netdev,
	John Linville

On Saturday 13 October 2007 14:31:31 Geert Uytterhoeven wrote:
> ssb bus needs <linux/io.h>
> 
> linux/drivers/ssb/main.c: In function 'ssb_ssb_read16':
> linux/drivers/ssb/main.c:518: error: implicit declaration of function 'readw'
> linux/drivers/ssb/main.c: In function 'ssb_ssb_read32':
> linux/drivers/ssb/main.c:526: error: implicit declaration of function 'readl'
> linux/drivers/ssb/main.c: In function 'ssb_ssb_write16':
> linux/drivers/ssb/main.c:534: error: implicit declaration of function 'writew'
> linux/drivers/ssb/main.c: In function 'ssb_ssb_write32':
> linux/drivers/ssb/main.c:542: error: implicit declaration of function 'writel'
> 
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

Signed-off-by: Michael Buesch <mb@bu3sch.de>

> ---
>  drivers/ssb/main.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> --- a/drivers/ssb/main.c
> +++ b/drivers/ssb/main.c
> @@ -11,6 +11,7 @@
>  #include "ssb_private.h"
>  
>  #include <linux/delay.h>
> +#include <linux/io.h>
>  #include <linux/ssb/ssb.h>
>  #include <linux/ssb/ssb_regs.h>
>  #include <linux/dma-mapping.h>
> 



-- 
Greetings Michael.

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

* Re: [patch 2/8] m68k: Atari keyboard ACIA driver cleanup
  2007-10-13 12:31 ` [patch 2/8] m68k: Atari keyboard ACIA driver cleanup Geert Uytterhoeven
@ 2007-10-13 15:32   ` Andreas Schwab
  2007-10-13 18:27     ` Geert Uytterhoeven
  0 siblings, 1 reply; 21+ messages in thread
From: Andreas Schwab @ 2007-10-13 15:32 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Linus Torvalds, Andrew Morton, linux-m68k, linux-kernel,
	Dmitry Torokhov, linux-input, Michael Schmitz

Geert Uytterhoeven <geert@linux-m68k.org> writes:

> --- a/arch/m68k/atari/atakeyb.c
> +++ b/arch/m68k/atari/atakeyb.c
> @@ -1,5 +1,5 @@
>  /*
> - * linux/atari/atakeyb.c
> + * linux/arch/m68k/atari/atakeyb.c

Please kill that line.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

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

* Re: [patch 2/8] m68k: Atari keyboard ACIA driver cleanup
  2007-10-13 15:32   ` Andreas Schwab
@ 2007-10-13 18:27     ` Geert Uytterhoeven
  2007-10-15 13:19       ` Dmitry Torokhov
  0 siblings, 1 reply; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 18:27 UTC (permalink / raw)
  To: Andreas Schwab
  Cc: Linus Torvalds, Andrew Morton, linux-m68k, linux-kernel,
	Dmitry Torokhov, linux-input, Michael Schmitz

On Sat, 13 Oct 2007, Andreas Schwab wrote:
> Geert Uytterhoeven <geert@linux-m68k.org> writes:
> > --- a/arch/m68k/atari/atakeyb.c
> > +++ b/arch/m68k/atari/atakeyb.c
> > @@ -1,5 +1,5 @@
> >  /*
> > - * linux/atari/atakeyb.c
> > + * linux/arch/m68k/atari/atakeyb.c
> 
> Please kill that line.

Done. New version below:

Subject: m68k: Atari keyboard ACIA driver cleanup
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>, linux-input@atrey.karlin.mff.cuni.cz

m68k: Atari keyboard ACIA driver cleanup:
  - removed dead key autorepeat code
  - removed hardcoded initial keymap

Signed-off-by: Michael Schmitz <schmitz@biophys.uni-duesseldorf.de>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
 arch/m68k/atari/atakeyb.c |  104 ++--------------------------------------------
 1 file changed, 6 insertions(+), 98 deletions(-)

--- a/arch/m68k/atari/atakeyb.c
+++ b/arch/m68k/atari/atakeyb.c
@@ -1,6 +1,4 @@
 /*
- * linux/atari/atakeyb.c
- *
  * Atari Keyboard driver for 680x0 Linux
  *
  * This file is subject to the terms and conditions of the GNU General Public
@@ -11,6 +9,9 @@
 /*
  * Atari support by Robert de Vries
  * enhanced by Bjoern Brauel and Roman Hodek
+ *
+ * 2.6 and input cleanup (removed autorepeat stuff) for 2.6.21
+ * 06/07 Michael Schmitz
  */
 
 #include <linux/module.h>
@@ -32,7 +33,6 @@
 #include <asm/atari_joystick.h>
 #include <asm/irq.h>
 
-static void atakeyb_rep(unsigned long ignore);
 extern unsigned int keymap_count;
 
 /* Hook for MIDI serial driver */
@@ -104,25 +104,6 @@ static unsigned long broken_keys[128/(si
  *  - Keypad Left/Right Parenthesis mapped to new K_PPAREN[LR]
  */
 
-static u_short ataplain_map[NR_KEYS] __initdata = {
-	0xf200, 0xf01b, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036,
-	0xf037, 0xf038, 0xf039, 0xf030, 0xf02d, 0xf03d, 0xf008, 0xf009,
-	0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69,
-	0xfb6f, 0xfb70, 0xf05b, 0xf05d, 0xf201, 0xf702, 0xfb61, 0xfb73,
-	0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf03b,
-	0xf027, 0xf060, 0xf700, 0xf05c, 0xfb7a, 0xfb78, 0xfb63, 0xfb76,
-	0xfb62, 0xfb6e, 0xfb6d, 0xf02c, 0xf02e, 0xf02f, 0xf700, 0xf200,
-	0xf703, 0xf020, 0xf207, 0xf100, 0xf101, 0xf102, 0xf103, 0xf104,
-	0xf105, 0xf106, 0xf107, 0xf108, 0xf109, 0xf200, 0xf200, 0xf114,
-	0xf603, 0xf200, 0xf30b, 0xf601, 0xf200, 0xf602, 0xf30a, 0xf200,
-	0xf600, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf200, 0xf200,
-	0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-	0xf200, 0xf1ff, 0xf11b, 0xf312, 0xf313, 0xf30d, 0xf30c, 0xf307,
-	0xf308, 0xf309, 0xf304, 0xf305, 0xf306, 0xf301, 0xf302, 0xf303,
-	0xf300, 0xf310, 0xf30e, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
-	0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200
-};
-
 typedef enum kb_state_t {
 	KEYBOARD, AMOUSE, RMOUSE, JOYSTICK, CLOCK, RESYNC
 } KB_STATE_T;
@@ -137,41 +118,6 @@ typedef struct keyboard_state {
 
 KEYBOARD_STATE kb_state;
 
-#define	DEFAULT_KEYB_REP_DELAY	(HZ/4)
-#define	DEFAULT_KEYB_REP_RATE	(HZ/25)
-
-/* These could be settable by some ioctl() in future... */
-static unsigned int key_repeat_delay = DEFAULT_KEYB_REP_DELAY;
-static unsigned int key_repeat_rate = DEFAULT_KEYB_REP_RATE;
-
-static unsigned char rep_scancode;
-static struct timer_list atakeyb_rep_timer = {
-	.function = atakeyb_rep,
-};
-
-static void atakeyb_rep(unsigned long ignore)
-{
-	/* Disable keyboard for the time we call handle_scancode(), else a race
-	 * in the keyboard tty queue may happen */
-	atari_disable_irq(IRQ_MFP_ACIA);
-	del_timer(&atakeyb_rep_timer);
-
-	/* A keyboard int may have come in before we disabled the irq, so
-	 * double-check whether rep_scancode is still != 0 */
-	if (rep_scancode) {
-		init_timer(&atakeyb_rep_timer);
-		atakeyb_rep_timer.expires = jiffies + key_repeat_rate;
-		add_timer(&atakeyb_rep_timer);
-
-		//handle_scancode(rep_scancode, 1);
-		if (atari_input_keyboard_interrupt_hook)
-			atari_input_keyboard_interrupt_hook(rep_scancode, 1);
-	}
-
-	atari_enable_irq(IRQ_MFP_ACIA);
-}
-
-
 /* ++roman: If a keyboard overrun happened, we can't tell in general how much
  * bytes have been lost and in which state of the packet structure we are now.
  * This usually causes keyboards bytes to be interpreted as mouse movements
@@ -209,9 +155,6 @@ repeat:
 		/* ...happens often if interrupts were disabled for too long */
 		printk(KERN_DEBUG "Keyboard overrun\n");
 		scancode = acia.key_data;
-		/* Turn off autorepeating in case a break code has been lost */
-		del_timer(&atakeyb_rep_timer);
-		rep_scancode = 0;
 		if (ikbd_self_test)
 			/* During self test, don't do resyncing, just process the code */
 			goto interpret_scancode;
@@ -281,11 +224,12 @@ repeat:
 					 * make codes instead. Therefore, simply ignore
 					 * break_flag...
 					 */
-					int keyval = plain_map[scancode], keytyp;
+					int keyval, keytyp;
 
 					set_bit(scancode, broken_keys);
 					self_test_last_rcv = jiffies;
-					keyval = plain_map[scancode];
+					/* new Linux scancodes; approx. */
+					keyval = scancode;
 					keytyp = KTYP(keyval) - 0xf0;
 					keyval = KVAL(keyval);
 
@@ -301,19 +245,6 @@ repeat:
 				} else if (test_bit(scancode, broken_keys))
 					break;
 
-#if 0	// FIXME; hangs at boot
-				if (break_flag) {
-					del_timer(&atakeyb_rep_timer);
-					rep_scancode = 0;
-				} else {
-					del_timer(&atakeyb_rep_timer);
-					rep_scancode = scancode;
-					atakeyb_rep_timer.expires = jiffies + key_repeat_delay;
-					add_timer(&atakeyb_rep_timer);
-				}
-#endif
-
-				// handle_scancode(scancode, !break_flag);
 				if (atari_input_keyboard_interrupt_hook)
 					atari_input_keyboard_interrupt_hook((unsigned char)scancode, !break_flag);
 				break;
@@ -639,9 +570,6 @@ int __init atari_keyb_init(void)
 	if (atari_keyb_done)
 		return 0;
 
-	/* setup key map */
-	memcpy(key_maps[0], ataplain_map, sizeof(plain_map));
-
 	kb_state.state = KEYBOARD;
 	kb_state.len = 0;
 
@@ -704,26 +632,6 @@ int __init atari_keyb_init(void)
 	return 0;
 }
 
-int atari_kbdrate(struct kbd_repeat *k)
-{
-	if (k->delay > 0) {
-		/* convert from msec to jiffies */
-		key_repeat_delay = (k->delay * HZ + 500) / 1000;
-		if (key_repeat_delay < 1)
-			key_repeat_delay = 1;
-	}
-	if (k->period > 0) {
-		key_repeat_rate = (k->period * HZ + 500) / 1000;
-		if (key_repeat_rate < 1)
-			key_repeat_rate = 1;
-	}
-
-	k->delay  = key_repeat_delay * 1000 / HZ;
-	k->period = key_repeat_rate  * 1000 / HZ;
-
-	return 0;
-}
-
 int atari_kbd_translate(unsigned char keycode, unsigned char *keycodep, char raw_mode)
 {
 #ifdef CONFIG_MAGIC_SYSRQ


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] 21+ messages in thread

* Re: [patch 7/8] b43 wireless needs <linux/io.h>
  2007-10-13 15:22   ` Larry Finger
@ 2007-10-13 18:38     ` Geert Uytterhoeven
  2007-10-13 18:45       ` Michael Buesch
  0 siblings, 1 reply; 21+ messages in thread
From: Geert Uytterhoeven @ 2007-10-13 18:38 UTC (permalink / raw)
  To: Larry Finger
  Cc: Linus Torvalds, Andrew Morton, Michael Buesch, linux-m68k,
	linux-kernel, linux-wireless

On Sat, 13 Oct 2007, Larry Finger wrote:
> Geert Uytterhoeven wrote:
> > linux/drivers/net/wireless/b43/pio.h: In function 'b43_pio_write':
> > linux/drivers/net/wireless/b43/pio.h:89: error: implicit declaration of function 'mmiowb'
> >
> > linux/drivers/net/wireless/b43/phy.c: In function 'b43_phy_write':
> > linux/drivers/net/wireless/b43/phy.c:301: error: implicit declaration of function 'mmiowb'
> >
> > linuxdrivers/net/wireless/b43/sysfs.c: In function 'b43_attr_interfmode_store':
> > linuxdrivers/net/wireless/b43/sysfs.c:147: error: implicit declaration of function 'mmiowb'
> 
> From the distribution list for this E-mail, I presume this error occurred for m68k. Is this correct?

That's correct.

> If so, I will probably need to prepare a similar patch for b43legacy.

I had no problems compiling b43legacy on m68k, though. Probably
<linux/io.h> was included through some other include file.
Of course it's safer to always #include <linux/io.h> when using I/O.

During linking, I did get a bunch of `undefined reference to `dma_*''
errors, with both b43 and b43legacy (and a few other drivers). Probably
they need to depend on HAS_DMA.
I'll post separate patches for those after I've sorted them out.

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] 21+ messages in thread

* Re: [patch 7/8] b43 wireless needs <linux/io.h>
  2007-10-13 18:38     ` Geert Uytterhoeven
@ 2007-10-13 18:45       ` Michael Buesch
  0 siblings, 0 replies; 21+ messages in thread
From: Michael Buesch @ 2007-10-13 18:45 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Larry Finger, Linus Torvalds, Andrew Morton, linux-m68k,
	linux-kernel, linux-wireless

On Saturday 13 October 2007 20:38:43 Geert Uytterhoeven wrote:
> On Sat, 13 Oct 2007, Larry Finger wrote:
> > Geert Uytterhoeven wrote:
> > > linux/drivers/net/wireless/b43/pio.h: In function 'b43_pio_write':
> > > linux/drivers/net/wireless/b43/pio.h:89: error: implicit declaration of function 'mmiowb'
> > >
> > > linux/drivers/net/wireless/b43/phy.c: In function 'b43_phy_write':
> > > linux/drivers/net/wireless/b43/phy.c:301: error: implicit declaration of function 'mmiowb'
> > >
> > > linuxdrivers/net/wireless/b43/sysfs.c: In function 'b43_attr_interfmode_store':
> > > linuxdrivers/net/wireless/b43/sysfs.c:147: error: implicit declaration of function 'mmiowb'
> > 
> > From the distribution list for this E-mail, I presume this error occurred for m68k. Is this correct?
> 
> That's correct.
> 
> > If so, I will probably need to prepare a similar patch for b43legacy.
> 
> I had no problems compiling b43legacy on m68k, though. Probably
> <linux/io.h> was included through some other include file.
> Of course it's safer to always #include <linux/io.h> when using I/O.
> 
> During linking, I did get a bunch of `undefined reference to `dma_*''
> errors, with both b43 and b43legacy (and a few other drivers). Probably
> they need to depend on HAS_DMA.
> I'll post separate patches for those after I've sorted them out.

We could make the b43 and b43legacy DMA engine code depend on HAS_DMA
then. So it can still be compiled with PIO. (Though, I don't know if
anybody would put such a card into a machine without DMA, anyway).

The DMA engine code is a seperate kconfig option.

-- 
Greetings Michael.

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

* Re: [patch 3/8] m68k: ignore restart_syscall
  2007-10-13 12:31 ` [patch 3/8] m68k: ignore restart_syscall Geert Uytterhoeven
@ 2007-10-13 18:53   ` Roman Zippel
  0 siblings, 0 replies; 21+ messages in thread
From: Roman Zippel @ 2007-10-13 18:53 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Linus Torvalds, Andrew Morton, linux-m68k, linux-kernel

Hi,

On Sat, 13 Oct 2007, Geert Uytterhoeven wrote:

> m68k: ignore restart_syscall, which is not needed on m68k.

It's somewhat needed, but nobody has gotten around to actually implement 
it yet...

bye, Roman

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

* Re: [patch 2/8] m68k: Atari keyboard ACIA driver cleanup
  2007-10-13 18:27     ` Geert Uytterhoeven
@ 2007-10-15 13:19       ` Dmitry Torokhov
  0 siblings, 0 replies; 21+ messages in thread
From: Dmitry Torokhov @ 2007-10-15 13:19 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Andreas Schwab, Linus Torvalds, Andrew Morton, linux-m68k,
	linux-kernel, linux-input, Michael Schmitz

On 10/13/07, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Sat, 13 Oct 2007, Andreas Schwab wrote:
> > Geert Uytterhoeven <geert@linux-m68k.org> writes:
> > > --- a/arch/m68k/atari/atakeyb.c
> > > +++ b/arch/m68k/atari/atakeyb.c
> > > @@ -1,5 +1,5 @@
> > >  /*
> > > - * linux/atari/atakeyb.c
> > > + * linux/arch/m68k/atari/atakeyb.c
> >
> > Please kill that line.
>
> Done. New version below:
>
> Subject: m68k: Atari keyboard ACIA driver cleanup
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>, linux-input@atrey.karlin.mff.cuni.cz
>
> m68k: Atari keyboard ACIA driver cleanup:
>  - removed dead key autorepeat code
>  - removed hardcoded initial keymap
>
> Signed-off-by: Michael Schmitz <schmitz@biophys.uni-duesseldorf.de>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

Looks good, thank you Geert. I understand Linus will merge this...

-- 
Dmitry

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

* Re: [patch 1/8] m68k: Atari input drivers cleanup
  2007-10-13 12:31 ` [patch 1/8] m68k: Atari input drivers cleanup Geert Uytterhoeven
@ 2007-10-15 13:24   ` Dmitry Torokhov
  0 siblings, 0 replies; 21+ messages in thread
From: Dmitry Torokhov @ 2007-10-15 13:24 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Linus Torvalds, Andrew Morton, linux-m68k, linux-kernel,
	linux-input, Michael Schmitz

Hi Geert,

On 10/13/07, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> m68k: Atari input drivers cleanup:
>  - memleak on failed init/register of input devices fixed
>  - correct keycodes table (Atari keycodes are almost, but not entirely, equal
>    to Linux keycodes).
>
> Signed-off-by: Michael Schmitz <schmitz@biophys.uni-duesseldorf.de>
> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

Looks much better, thank you.

>
> -       input_register_device(atakbd_dev);
> +       /* error check */
> +       if (input_register_device(atakbd_dev)) {
> +               input_free_device(atakbd_dev);
> +               return -ENOMEM;
> +       }
>

I'd be more happy if we returned real error reported by
input_register_device() instead of substituting it with -ENOMEM.

-- 
Dmitry

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

end of thread, other threads:[~2007-10-15 13:24 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-10-13 12:31 [patch 0/8] m68k patches for 2.6.24 Geert Uytterhoeven
2007-10-13 12:31 ` [patch 1/8] m68k: Atari input drivers cleanup Geert Uytterhoeven
2007-10-15 13:24   ` Dmitry Torokhov
2007-10-13 12:31 ` [patch 2/8] m68k: Atari keyboard ACIA driver cleanup Geert Uytterhoeven
2007-10-13 15:32   ` Andreas Schwab
2007-10-13 18:27     ` Geert Uytterhoeven
2007-10-15 13:19       ` Dmitry Torokhov
2007-10-13 12:31 ` [patch 3/8] m68k: ignore restart_syscall Geert Uytterhoeven
2007-10-13 18:53   ` Roman Zippel
2007-10-13 12:31 ` [patch 4/8] m68k: Export cachectl.h Geert Uytterhoeven
2007-10-13 12:31 ` [patch 5/8] dm: emc_endio returns void Geert Uytterhoeven
2007-10-13 12:31 ` [patch 6/8] m68k: fix net drivers after recent get_stats updates Geert Uytterhoeven
2007-10-13 12:44   ` Jeff Garzik
2007-10-13 12:31 ` [patch 7/8] b43 wireless needs <linux/io.h> Geert Uytterhoeven
2007-10-13 12:31   ` Geert Uytterhoeven
2007-10-13 15:21   ` Michael Buesch
2007-10-13 15:22   ` Larry Finger
2007-10-13 18:38     ` Geert Uytterhoeven
2007-10-13 18:45       ` Michael Buesch
2007-10-13 12:31 ` [patch 8/8] ssb bus " Geert Uytterhoeven
2007-10-13 15:23   ` Michael Buesch

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.