Re: [PATCH v3 03/11] tty: serdev: Add flag buffer aware receive_buf_fp()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 02, 2024 at 08:27:56PM +0200, Christoph Fritz wrote:
> This patch introduces an additional receive buffer callback variation
> besides the already existing receive_buf(). This new callback function
> also passes the flag buffer (TTY_NORMAL, TTY_BREAK, and friends).
> 
> If defined, this function gets prioritized and called instead of the
> standard receive_buf().
> 
> An alternative approach could have been to enhance the receive_buf()
> function and update all drivers that use it.

Please, let's do that instead of adding random letters at the end of a
function pointer :)

> Signed-off-by: Christoph Fritz <christoph.fritz@xxxxxxxxx>
> ---
>  drivers/tty/serdev/serdev-ttyport.c |  2 +-
>  include/linux/serdev.h              | 17 ++++++++++++++---
>  2 files changed, 15 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/tty/serdev/serdev-ttyport.c b/drivers/tty/serdev/serdev-ttyport.c
> index 3d7ae7fa50186..bb47691afdb21 100644
> --- a/drivers/tty/serdev/serdev-ttyport.c
> +++ b/drivers/tty/serdev/serdev-ttyport.c
> @@ -32,7 +32,7 @@ static size_t ttyport_receive_buf(struct tty_port *port, const u8 *cp,
>  	if (!test_bit(SERPORT_ACTIVE, &serport->flags))
>  		return 0;
>  
> -	ret = serdev_controller_receive_buf(ctrl, cp, count);
> +	ret = serdev_controller_receive_buf(ctrl, cp, fp, count);
>  
>  	dev_WARN_ONCE(&ctrl->dev, ret > count,
>  				"receive_buf returns %zu (count = %zu)\n",
> diff --git a/include/linux/serdev.h b/include/linux/serdev.h
> index ff78efc1f60df..c6ef5a8988e07 100644
> --- a/include/linux/serdev.h
> +++ b/include/linux/serdev.h
> @@ -23,11 +23,17 @@ struct serdev_device;
>   * struct serdev_device_ops - Callback operations for a serdev device
>   * @receive_buf:	Function called with data received from device;
>   *			returns number of bytes accepted; may sleep.
> + * @receive_buf_fp:	Function called with data and flag buffer received
> + *			from device; If defined, this function gets called
> + *			instead of @receive_buf;
> + *			returns number of bytes accepted; may sleep.

I don't remember waht "fp" means here, and you don't document it, so
let's just have one recieve_buf() callback please.

thanks,

greg k-h




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux