public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
Cc: gregkh@linuxfoundation.org, linux-serial@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Subject: Re: [PATCH 26/29] serial: 8250: use serial_in/out() helpers
Date: Thu, 20 Feb 2025 17:23:35 +0200	[thread overview]
Message-ID: <Z7dI9-mTl820lyY-@smile.fi.intel.com> (raw)
In-Reply-To: <20250220111606.138045-27-jirislaby@kernel.org>

On Thu, Feb 20, 2025 at 12:16:03PM +0100, Jiri Slaby (SUSE) wrote:
> There are serial_in/out() helpers to be used instead of direct
> p->serial_in/out(). Use them in various 8250 drivers.

Okay, I have checked all calls, and I think to avoid possible issues
we need to add a few comments here and there, see below.

But first of all, can we actually use serial_port_in()/serial_port_out()
in the cases where we have already a pointer to uart_port?

...

Here we should add a comment like

/*
 * This function is being called as part of the uart_port::serial_out()
 * routine. Hence it must not call serial_out() on itself against
 * the modified registers here, i.e. LCR.
 */

> static void dw8250_force_idle(struct uart_port *p)
> {
> 	struct uart_8250_port *up = up_to_u8250p(p);
> 	unsigned int lsr;

Here we should add a comment like

	/*
	 * The following call currently performs serial_out()
	 * against the FCR register. Because it differs to LCR
	 * there will be no dead loop, but if it ever gets
	 * modified, we might need a new custom version that
	 * avoids infinite recursion.
	 */

> 	serial8250_clear_and_reinit_fifos(up);

...

On top of this function we need to add the same comment as on top of
dw8250_force_idle() above.

>  static void dw8250_check_lcr(struct uart_port *p, int offset, int value)

...

The rest is legit as we shouldn't use those in the ->serial_in()/->serial_out().

-- 
With Best Regards,
Andy Shevchenko



  parent reply	other threads:[~2025-02-20 15:23 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-20 11:15 [PATCH 00/29] tty: cleanup no. 99 Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 01/29] tty: convert "TTY Struct Flags" to an enum Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 02/29] tty: audit: do not use N_TTY_BUF_SIZE Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 03/29] tty: caif: " Jiri Slaby (SUSE)
2025-02-20 14:27   ` Jakub Kicinski
2025-02-20 11:15 ` [PATCH 04/29] tty: move N_TTY_BUF_SIZE to n_tty Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 05/29] tty: n_tty: use uint for space returned by tty_write_room() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 06/29] tty: n_tty: simplify process_output() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 07/29] tty: n_tty: clean up process_output_block() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 08/29] tty: n_tty: drop n_tty_trace() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 09/29] tty: n_tty: extract n_tty_continue_cookie() from n_tty_read() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 10/29] tty: n_tty: extract n_tty_wait_for_input() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 11/29] tty: n_tty: move more_to_be_read to the end of n_tty_read() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 12/29] tty: tty_driver: move TTY macros to the top Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 13/29] tty: tty_driver: convert "TTY Driver Flags" to an enum Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 14/29] tty: tty_driver: document both {,__}tty_alloc_driver() properly Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 15/29] tty: tty_driver: introduce TTY driver sub/types enums Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 16/29] tty: serdev: drop serdev_controller_ops::write_room() Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 17/29] tty: moxa: drop version dump to logs Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 18/29] tty: moxa: drop ISA support Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 19/29] tty: moxa: carve out special ioctls and extra tty_port Jiri Slaby (SUSE)
2025-02-20 11:15 ` [PATCH 20/29] tty: srmcons: fix retval from srmcons_init() Jiri Slaby (SUSE)
2025-02-20 21:48   ` Magnus Lindholm
2025-02-21  7:53     ` Jiri Slaby
2025-02-20 11:15 ` [PATCH 21/29] tty: staging/greybus: pass tty_driver flags to tty_alloc_driver() Jiri Slaby (SUSE)
2025-02-21 12:25   ` Johan Hovold
2025-02-20 11:15 ` [PATCH 22/29] tty: sunsu: drop serial_{in,out}p() Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 23/29] tty: sunsu: remove unused serial_icr_read() Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 24/29] serial: remove redundant tty_port_link_device() Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 25/29] serial: pass struct uart_state to uart_line_info() Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 26/29] serial: 8250: use serial_in/out() helpers Jiri Slaby (SUSE)
2025-02-20 12:27   ` Andy Shevchenko
2025-02-20 14:39     ` Greg KH
2025-02-20 14:57       ` Andy Shevchenko
2025-02-20 15:27         ` Andy Shevchenko
2025-02-20 15:23   ` Andy Shevchenko [this message]
2025-02-21 10:07     ` Jiri Slaby
2025-02-20 11:16 ` [PATCH 27/29] serial: 8250_rsa: simplify rsa8250_{request/release}_resource() Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 28/29] serial: 8250_port: do not use goto for UPQ_NO_TXEN_TEST code flow Jiri Slaby (SUSE)
2025-02-20 11:16 ` [PATCH 29/29] serial: 8250_port: simplify serial8250_request_std_resource() Jiri Slaby (SUSE)
2025-03-17  4:28 ` [PATCH 00/29] tty: cleanup no. 99 Greg KH
2025-03-17  4:59   ` Jiri Slaby
2025-03-17  7:00     ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z7dI9-mTl820lyY-@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=jirislaby@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox