All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Schmitz <schmitzmic@gmail.com>
To: Miro Kropacek <miro.kropacek@gmail.com>,
	geert@linux-m68k.org, dmitry.torokhov@gmail.com
Cc: linux-m68k@vger.kernel.org, linux-input@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5] m68k: Fix atari mouse movement
Date: Wed, 21 Oct 2026 15:50:49 +1300	[thread overview]
Message-ID: <c77944ee-f170-ce57-9065-d7d49fcfed6e@gmail.com> (raw)
In-Reply-To: <20261021022336.2232886-1-miro.kropacek@gmail.com>

Hi Miro,

Am 21.10.2026 um 15:23 schrieb Miro Kropacek:
> Kernels are built with -funsigned-char since version 6.2, resulting in
> the signed 8-bit position deltas reported by the IKBD being
> misinterpreted as unsigned.
>
> The hook is handed a raw IKBD packet, so take it as a byte stream and
> apply the sign to the two displacement values alone.
>
> Fixes: 3bc753c06dd02a35 ("kbuild: treat char as always unsigned")
> Link: https://lists.debian.org/debian-68k/2026/08/msg00000.html
> Suggested-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Signed-off-by: Miro Kropacek <miro.kropacek@gmail.com>
> Cc: linux-input <linux-input@vger.kernel.org>
> ---
>
> Changes in v5:
>
> - take the packet as u8 * and cast only the two displacement values,
>   as suggested; this drops the call-site cast v4 needed, and with it
>   the -Wpointer-sign warning
> - add the types include atarikb.h now relies on
>
> The same cast of the two displacement values was tested on an Atari
> Falcon030 with CT60 in v1 of this patch; v5 differs from it only in the
> type of the hook argument.
>
> Michael's Reviewed-by from v3 is dropped, as the approach has changed
> twice since.

Dmitry's reasoning makes sense to me, so we're back on v1 with no change 
in functionality.

Looks good to me, feel free to add my Reviewed-by if it helps get this 
merged.

Cheers,

	Michael


>
>  arch/m68k/atari/atakeyb.c        | 2 +-
>  arch/m68k/include/asm/atarikb.h  | 4 +++-
>  drivers/input/mouse/atarimouse.c | 6 +++---
>  3 files changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/arch/m68k/atari/atakeyb.c b/arch/m68k/atari/atakeyb.c
> index 49a9a459bdf4..b715e2b8351c 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)(u8 *buf);
>  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..bdf67bff1472 100644
> --- a/arch/m68k/include/asm/atarikb.h
> +++ b/arch/m68k/include/asm/atarikb.h
> @@ -15,6 +15,8 @@
>  #ifndef _LINUX_ATARIKB_H
>  #define _LINUX_ATARIKB_H
>
> +#include <linux/types.h>
> +
>  void ikbd_write(const char *, int);
>  void ikbd_mouse_button_action(int mode);
>  void ikbd_mouse_rel_pos(void);
> @@ -37,7 +39,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)(u8 *buf);
>
>  int atari_keyb_init(void);
>
> diff --git a/drivers/input/mouse/atarimouse.c b/drivers/input/mouse/atarimouse.c
> index b1219cc4d9a2..c5b794262e85 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(u8 *buf)
>  {
>  	int buttons, dx, dy;
>
> @@ -71,8 +71,8 @@ static void atamouse_interrupt(char *buf)
>  #endif
>
>  	/* only relative events get here */
> -	dx = buf[1];
> -	dy = buf[2];
> +	dx = (s8)buf[1];
> +	dy = (s8)buf[2];
>
>  	input_report_rel(atamouse_dev, REL_X, dx);
>  	input_report_rel(atamouse_dev, REL_Y, dy);
>

  reply	other threads:[~2026-10-21  2:50 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-19 22:28 [PATCH v3 0/5] m68k SuperVidel patches Michael Schmitz
2026-08-19 22:28 ` [PATCH v3 1/5] m68k: Fix atari mouse movement Michael Schmitz
2026-10-21  0:03   ` [PATCH v4] " Miro Kropacek
2026-10-21  1:41     ` Dmitry Torokhov
2026-10-21  2:23     ` [PATCH v5] " Miro Kropacek
2026-10-21  2:50       ` Michael Schmitz [this message]
2026-10-21  7:32         ` Geert Uytterhoeven
2026-08-19 22:28 ` [PATCH v3 2/5] fbdev: Give atafb proper parent Michael Schmitz
2026-08-20 21:51   ` Helge Deller
2026-08-21  6:44     ` Michael Schmitz
2026-09-07 11:39     ` Miro Kropáček
2026-08-19 22:28 ` [PATCH v3 3/5] fbdev: Add support for further video bit depths on atafb:external Michael Schmitz
2026-08-19 22:28 ` [PATCH v3 4/5] fbdev: Add support for SuperVidel's SuperBlitter Michael Schmitz
2026-08-19 22:28 ` [PATCH v3 5/5] m68k: Add support for Svethlana Michael Schmitz
2026-09-27 12:40   ` Geert Uytterhoeven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=c77944ee-f170-ce57-9065-d7d49fcfed6e@gmail.com \
    --to=schmitzmic@gmail.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@vger.kernel.org \
    --cc=miro.kropacek@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.