Re: [PATCH net 3/3] ice: Add set_termios tty operations handle to GNSS
From: Jakub Kicinski <kuba@kernel.org>
Date: 2022-08-31 21:54:44
On Mon, 29 Aug 2022 15:00:49 -0700 Tony Nguyen wrote:
From: Michal Michalik <redacted>
Some third party tools (ex. ubxtool) try to change GNSS TTY parameters
(ex. speed). While being optional implementation, without set_termios
handle this operation fails and prevents those third party tools from
working. TTY interface in ice driver is virtual and doesn't need any change
on set_termios, so is left empty. Add this mock to support all Linux TTY
APIs.
Fixes: 43113ff73453 ("ice: add TTY for GNSS module for E810T device")
Signed-off-by: Michal Michalik <redacted>
Tested-by: Gurucharan <redacted> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>Please CC GNSS and TTY maintainers on the patches relating to the TTY/GNSS channel going forward. CC: Greg, Jiri, Johan We'll pull in a day or two if there are no objections.
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/ethernet/intel/ice/ice_gnss.c b/drivers/net/ethernet/intel/ice/ice_gnss.c index b5a7f246d230..c2dc5e5c8fa4 100644 --- a/drivers/net/ethernet/intel/ice/ice_gnss.c +++ b/drivers/net/ethernet/intel/ice/ice_gnss.c@@ -404,11 +404,26 @@ static unsigned int ice_gnss_tty_write_room(struct tty_struct *tty) return ICE_GNSS_TTY_WRITE_BUF; } +/** + * ice_gnss_tty_set_termios - mock for set_termios tty operations + * @tty: pointer to the tty_struct + * @new_termios: pointer to the new termios parameters + */ +static void +ice_gnss_tty_set_termios(struct tty_struct *tty, struct ktermios *new_termios) +{ + /* Some 3rd party tools (ex. ubxtool) want to change the TTY parameters. + * In our virtual interface (I2C communication over FW AQ) we don't have + * to change anything, but we need to implement it to unblock tools. + */ +} + static const struct tty_operations tty_gps_ops = { .open = ice_gnss_tty_open, .close = ice_gnss_tty_close, .write = ice_gnss_tty_write, .write_room = ice_gnss_tty_write_room, + .set_termios = ice_gnss_tty_set_termios, }; /**