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

From: Jiri Slaby
Date: Thu Aug 17 2023 - 06:43:34 EST


Hi,

On 11. 08. 23, 13:52, Alexander Gordeev wrote:
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?

Yes, I would say something like part V. would do the job -- at least that's my plan. Slowly propagating from the tty core to leafs (drivers).

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


thanks,
--
js
suse labs