Re: [PATCH 27/36] tty: propagate u8 data to tty_operations::write()

From: Alexander Gordeev
Date: Fri Aug 11 2023 - 07:53:59 EST


On Thu, Aug 10, 2023 at 11:15:01AM +0200, Jiri Slaby (SUSE) wrote:

Hi Jiri,

> Data are now typed as u8. Propagate this change to
> tty_operations::write().
...
> drivers/s390/char/con3215.c | 3 +--
> drivers/s390/char/con3270.c | 3 +--
> drivers/s390/char/sclp_tty.c | 2 +-
> drivers/s390/char/sclp_vt220.c | 2 +-
...
> diff --git a/drivers/s390/char/con3215.c b/drivers/s390/char/con3215.c
> index a1fef666c9b0..16b6f430dfd3 100644
> --- a/drivers/s390/char/con3215.c
> +++ b/drivers/s390/char/con3215.c
> @@ -1021,8 +1021,7 @@ static unsigned int tty3215_write_room(struct tty_struct *tty)
> /*
> * String write routine for 3215 ttys
> */
> -static int tty3215_write(struct tty_struct *tty,
> - const unsigned char *buf, int count)
> +static int tty3215_write(struct tty_struct *tty, const u8 *buf, int count)
> {
> handle_write(tty->driver_data, buf, count);
> return count;
> diff --git a/drivers/s390/char/con3270.c b/drivers/s390/char/con3270.c
> index d9983550062d..123524bff734 100644
> --- a/drivers/s390/char/con3270.c
> +++ b/drivers/s390/char/con3270.c
> @@ -1803,8 +1803,7 @@ static void tty3270_do_write(struct tty3270 *tp, struct tty_struct *tty,
> /*
> * String write routine for 3270 ttys
> */
> -static int tty3270_write(struct tty_struct *tty,
> - const unsigned char *buf, int count)
> +static int tty3270_write(struct tty_struct *tty, const u8 *buf, int count)
> {
> struct tty3270 *tp;
>
> diff --git a/drivers/s390/char/sclp_tty.c b/drivers/s390/char/sclp_tty.c
> index 971fbb52740b..cc0f6a97124e 100644
> --- a/drivers/s390/char/sclp_tty.c
> +++ b/drivers/s390/char/sclp_tty.c
> @@ -230,7 +230,7 @@ static int sclp_tty_write_string(const unsigned char *str, int count, int may_fa
> * routine will return the number of characters actually accepted for writing.
> */
> static int
> -sclp_tty_write(struct tty_struct *tty, const unsigned char *buf, int count)
> +sclp_tty_write(struct tty_struct *tty, const u8 *buf, int count)
> {
> if (sclp_tty_chars_count > 0) {
> sclp_tty_write_string(sclp_tty_chars, sclp_tty_chars_count, 0);
> diff --git a/drivers/s390/char/sclp_vt220.c b/drivers/s390/char/sclp_vt220.c
> index a32f34a1c6d2..44974d801c1e 100644
> --- a/drivers/s390/char/sclp_vt220.c
> +++ b/drivers/s390/char/sclp_vt220.c
> @@ -463,7 +463,7 @@ __sclp_vt220_write(const unsigned char *buf, int count, int do_schedule,
> * number of characters actually accepted for writing.
> */
> static int
> -sclp_vt220_write(struct tty_struct *tty, const unsigned char *buf, int count)
> +sclp_vt220_write(struct tty_struct *tty, const u8 *buf, int count)
> {
> return __sclp_vt220_write(buf, count, 1, 0, 1);
> }
...

In this and following patch it is only ::write() (and other) callbacks
switched to u8, while the called internal functions stay with old types.

Do you plan to follow with part II etc, or it is archs/drivers that
are expected to sort it out eventually?

(I speak for s390, but the other affected archs are in the same boat I guess).

Thanks!