ethercat/tty
Thomas Petazzoni 2824232792 tty/module.c: fix ec_tty_send_xchar() prototype for Linux >= 6.8
In upstream Linux kernel commit:
  3a00da027946cd08db1c1be2de4620950bbdf074 ("tty: make tty_operations::send_xchar accept u8 char")

The prototype of tty_operations->send_xchar() was changed from:

  void (*send_xchar)(struct tty_struct *tty, char ch);

to:

  void (*send_xchar)(struct tty_struct *tty, u8 ch);

This commit was merged in Linux 6.8, and therefore the
ec_tty_send_xchar() implementation needs to be changed to avoid the
following build failure:

/home/autobuild/autobuild/instance-7/output-1/build/igh-ethercat-1.6.2/./tty/module.c:751:19: error: initialization of "void (*)(struct tty_struct *, u8)" {aka "void (*)(struct tty_struct *, unsigned char)"} from incompatible pointer type "void (*)(struct tty_struct *, char)" [-Werror=incompatible-pointer-types]
  751 |     .send_xchar = ec_tty_send_xchar,
      |                   ^~~~~~~~~~~~~~~~~

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-12-31 10:42:49 +01:00
..
Kbuild.in Fixed mail address; limited lines to 78 characters; removed $Id$. 2024-02-01 15:15:41 +01:00
Makefile.am Fixed mail address; limited lines to 78 characters; removed $Id$. 2024-02-01 15:15:41 +01:00
README Fixed mail address; limited lines to 78 characters; removed $Id$. 2024-02-01 15:15:41 +01:00
module.c tty/module.c: fix ec_tty_send_xchar() prototype for Linux >= 6.8 2024-12-31 10:42:49 +01:00

README

vim700: spelllang=en spell

Virtual TTY interface driver for EtherCAT slave supporting serial comm

Quick installation guide:

./configure --with-linux-dir=/your/linux/directory --enable-tty
make all modules
make modules_install install
rcethercat start
insmod tty/ec_tty.ko
insmod examples/tty/ec_tty_example.ko

The default settings for the serial line are 9600 8 N 1.

The tty example operates a Beckhoff EL6002 at ring position 1. For a short
test, connect port X1 with a serial port via null modem cable. If a minicom is
started on that port and the below command is entered, the output should be
visible in minicom:

echo "Hello World" > /dev/ttyEC0

Have a lot of fun!