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