* Re: [PATCH 1/5] m68k: Fix atari mouse movement [not found] ` <20260814031745.17140-2-schmitzmic@gmail.com> @ 2026-08-14 7:53 ` Geert Uytterhoeven 2026-08-14 23:15 ` Michael Schmitz 0 siblings, 1 reply; 3+ messages in thread From: Geert Uytterhoeven @ 2026-08-14 7:53 UTC (permalink / raw) To: Michael Schmitz; +Cc: linux-m68k, Miro Kropacek, linux-input Hi Michael, CC linux-input On Fri, 14 Aug 2026 at 05:17, Michael Schmitz <schmitzmic@gmail.com> wrote: > From: Miro Kropacek <miro.kropacek@gmail.com> > > Kernels are built with -funsigned-char since version 6.2, resulting > in signed mouse position deltas getting misinterpreted as unsigned. > > Cast deltas passed in (unsigned) scancode buffer to correctly > interpret sign. > > Fixes: 3bc753c06dd02a35 ("kbuild: treat char as always unsigned") > Link: https://lists.debian.org/debian-68k/2026/08/msg00000.html > Signed-off-by: Miro Kropacek <miro.kropacek@gmail.com> > Reviewed-by: Michael Schmitz <schmitzmic@gmail.com> Since you're now in the path to upstream, you should add your SoB here (applies to all patches). > --- a/drivers/input/mouse/atarimouse.c > +++ b/drivers/input/mouse/atarimouse.c > @@ -70,9 +70,12 @@ static void atamouse_interrupt(char *buf) Alternative, you could change/restore the function's signature to take a "signed char *". > atari_mouse_buttons = buttons; > #endif > > - /* only relative events get here */ > - dx = buf[1]; > - dy = buf[2]; > + /* only relative events get here; the IKBD sends signed 8-bit > + * deltas, and the kernel builds with -funsigned-char since 6.2, > + * so an explicit signed cast is required > + */ > + dx = (s8)buf[1]; > + dy = (s8)buf[2]; > > input_report_rel(atamouse_dev, REL_X, dx); > input_report_rel(atamouse_dev, REL_Y, dy); Regardless: Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> 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] 3+ messages in thread
* Re: [PATCH 1/5] m68k: Fix atari mouse movement 2026-08-14 7:53 ` [PATCH 1/5] m68k: Fix atari mouse movement Geert Uytterhoeven @ 2026-08-14 23:15 ` Michael Schmitz 2026-08-16 5:03 ` Michael Schmitz 0 siblings, 1 reply; 3+ messages in thread From: Michael Schmitz @ 2026-08-14 23:15 UTC (permalink / raw) To: Geert Uytterhoeven; +Cc: linux-m68k, Miro Kropacek, linux-input Hi Geert, thanks for your review! Am 14.08.2026 um 19:53 schrieb Geert Uytterhoeven: > Hi Michael, > > CC linux-input > > On Fri, 14 Aug 2026 at 05:17, Michael Schmitz <schmitzmic@gmail.com> wrote: >> From: Miro Kropacek <miro.kropacek@gmail.com> >> >> Kernels are built with -funsigned-char since version 6.2, resulting >> in signed mouse position deltas getting misinterpreted as unsigned. >> >> Cast deltas passed in (unsigned) scancode buffer to correctly >> interpret sign. >> >> Fixes: 3bc753c06dd02a35 ("kbuild: treat char as always unsigned") >> Link: https://lists.debian.org/debian-68k/2026/08/msg00000.html >> Signed-off-by: Miro Kropacek <miro.kropacek@gmail.com> >> Reviewed-by: Michael Schmitz <schmitzmic@gmail.com> > > Since you're now in the path to upstream, you should add your SoB here > (applies to all patches). > >> --- a/drivers/input/mouse/atarimouse.c >> +++ b/drivers/input/mouse/atarimouse.c >> @@ -70,9 +70,12 @@ static void atamouse_interrupt(char *buf) > > Alternative, you could change/restore the function's signature to take a > "signed char *". Agreed, but without a way to test this, I'd rather wait for Miro confirming that change also fixed the issue. Cheers, Michael >> atari_mouse_buttons = buttons; >> #endif >> >> - /* only relative events get here */ >> - dx = buf[1]; >> - dy = buf[2]; >> + /* only relative events get here; the IKBD sends signed 8-bit >> + * deltas, and the kernel builds with -funsigned-char since 6.2, >> + * so an explicit signed cast is required >> + */ >> + dx = (s8)buf[1]; >> + dy = (s8)buf[2]; >> >> input_report_rel(atamouse_dev, REL_X, dx); >> input_report_rel(atamouse_dev, REL_Y, dy); > > Regardless: > Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> > > 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] 3+ messages in thread
* Re: [PATCH 1/5] m68k: Fix atari mouse movement 2026-08-14 23:15 ` Michael Schmitz @ 2026-08-16 5:03 ` Michael Schmitz 0 siblings, 0 replies; 3+ messages in thread From: Michael Schmitz @ 2026-08-16 5:03 UTC (permalink / raw) To: Geert Uytterhoeven; +Cc: linux-m68k, Miro Kropacek, linux-input Hi Geert, Am 15.08.2026 um 11:15 schrieb Michael Schmitz: >>> --- a/drivers/input/mouse/atarimouse.c >>> +++ b/drivers/input/mouse/atarimouse.c >>> @@ -70,9 +70,12 @@ static void atamouse_interrupt(char *buf) >> >> Alternative, you could change/restore the function's signature to take a >> "signed char *". > > Agreed, but without a way to test this, I'd rather wait for Miro > confirming that change also fixed the issue. Still untested, but even though not 100% identical, this change (whitespace-damaged) produces functionally equivalent code: diff --git a/arch/m68k/atari/atakeyb.c b/arch/m68k/atari/atakeyb.c index 49a9a459bdf4..6e150f816c02 100644 --- a/arch/m68k/atari/atakeyb.c +++ b/arch/m68k/atari/atakeyb.c @@ -39,7 +39,7 @@ void (*atari_MIDI_interrupt_hook) (void); /* Hook for keyboard inputdev driver */ void (*atari_input_keyboard_interrupt_hook) (unsigned char, char); /* Hook for mouse inputdev driver */ -void (*atari_input_mouse_interrupt_hook) (char *); +void (*atari_input_mouse_interrupt_hook) (signed char *); EXPORT_SYMBOL(atari_input_keyboard_interrupt_hook); EXPORT_SYMBOL(atari_input_mouse_interrupt_hook); diff --git a/arch/m68k/include/asm/atarikb.h b/arch/m68k/include/asm/atarikb.h index 68f3622bf591..b2d9e7676324 100644 --- a/arch/m68k/include/asm/atarikb.h +++ b/arch/m68k/include/asm/atarikb.h @@ -37,7 +37,7 @@ extern void (*atari_MIDI_interrupt_hook) (void); /* Hook for keyboard inputdev driver */ extern void (*atari_input_keyboard_interrupt_hook) (unsigned char, char); /* Hook for mouse inputdev driver */ -extern void (*atari_input_mouse_interrupt_hook) (char *); +extern void (*atari_input_mouse_interrupt_hook) (signed char *); int atari_keyb_init(void); diff --git a/drivers/input/mouse/atarimouse.c b/drivers/input/mouse/atarimouse.c index 351aab69e905..e2801be8f371 100644 --- a/drivers/input/mouse/atarimouse.c +++ b/drivers/input/mouse/atarimouse.c @@ -60,7 +60,7 @@ extern int atari_mouse_buttons; static struct input_dev *atamouse_dev; -static void atamouse_interrupt(char *buf) +static void atamouse_interrupt(signed char *buf) { int buttons, dx, dy; (no cast used in the Atari ikbd interrupt handler though ...). I'll go with that one then ... Cheers, Michael > Cheers, > > Michael > >>> atari_mouse_buttons = buttons; >>> #endif >>> >>> - /* only relative events get here */ >>> - dx = buf[1]; >>> - dy = buf[2]; >>> + /* only relative events get here; the IKBD sends signed 8-bit >>> + * deltas, and the kernel builds with -funsigned-char since 6.2, >>> + * so an explicit signed cast is required >>> + */ >>> + dx = (s8)buf[1]; >>> + dy = (s8)buf[2]; >>> >>> input_report_rel(atamouse_dev, REL_X, dx); >>> input_report_rel(atamouse_dev, REL_Y, dy); >> >> Regardless: >> Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org> >> >> 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 related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-08-16 5:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260814031745.17140-1-schmitzmic@gmail.com>
[not found] ` <20260814031745.17140-2-schmitzmic@gmail.com>
2026-08-14 7:53 ` [PATCH 1/5] m68k: Fix atari mouse movement Geert Uytterhoeven
2026-08-14 23:15 ` Michael Schmitz
2026-08-16 5:03 ` Michael Schmitz
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox