public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org
Cc: Jiri Slaby <jirislaby@kernel.org>, Hugo Villeneuve <hugo@hugovil.com>
Subject: [PATCH v2 09/16] serial: max3100: Remove duplicating irq field
Date: Tue,  2 Apr 2024 22:50:36 +0300	[thread overview]
Message-ID: <20240402195306.269276-10-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20240402195306.269276-1-andriy.shevchenko@linux.intel.com>

The struct uart_port has a copy of the IRQ that is also stored
in the private data structure. Remove the duplication in the latter
one.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/tty/serial/max3100.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/drivers/tty/serial/max3100.c b/drivers/tty/serial/max3100.c
index bd3f281969e3..85899ef010e9 100644
--- a/drivers/tty/serial/max3100.c
+++ b/drivers/tty/serial/max3100.c
@@ -93,8 +93,6 @@ struct max3100_port {
 #define MAX3100_7BIT 4
 	int rx_enabled;	        /* if we should rx chars */
 
-	int irq;		/* irq assigned to the max3100 */
-
 	int minor;		/* minor number */
 	int loopback_commit;	/* need to change loopback */
 	int loopback;		/* 1 if we are in loopback mode */
@@ -550,8 +548,8 @@ static void max3100_shutdown(struct uart_port *port)
 		destroy_workqueue(s->workqueue);
 		s->workqueue = NULL;
 	}
-	if (s->irq)
-		free_irq(s->irq, s);
+	if (port->irq)
+		free_irq(port->irq, s);
 
 	/* set shutdown mode to save power */
 	max3100_sr(s, MAX3100_WC | MAX3100_SHDN, &rx);
@@ -563,6 +561,7 @@ static int max3100_startup(struct uart_port *port)
 					      struct max3100_port,
 					      port);
 	char b[12];
+	int ret;
 
 	dev_dbg(&s->spi->dev, "%s\n", __func__);
 
@@ -585,10 +584,10 @@ static int max3100_startup(struct uart_port *port)
 	}
 	INIT_WORK(&s->work, max3100_work);
 
-	if (request_irq(s->irq, max3100_irq,
-			IRQF_TRIGGER_FALLING, "max3100", s) < 0) {
-		dev_warn(&s->spi->dev, "cannot allocate irq %d\n", s->irq);
-		s->irq = 0;
+	ret = request_irq(port->irq, max3100_irq, IRQF_TRIGGER_FALLING, "max3100", s);
+	if (ret < 0) {
+		dev_warn(&s->spi->dev, "cannot allocate irq %d\n", port->irq);
+		port->irq = 0;
 		destroy_workqueue(s->workqueue);
 		s->workqueue = NULL;
 		return -EBUSY;
@@ -744,14 +743,13 @@ static int max3100_probe(struct spi_device *spi)
 		return -ENOMEM;
 	}
 	max3100s[i]->spi = spi;
-	max3100s[i]->irq = spi->irq;
 	spin_lock_init(&max3100s[i]->conf_lock);
 	spi_set_drvdata(spi, max3100s[i]);
 	max3100s[i]->minor = i;
 	timer_setup(&max3100s[i]->timer, max3100_timeout, 0);
 
 	dev_dbg(&spi->dev, "%s: adding port %d\n", __func__, i);
-	max3100s[i]->port.irq = max3100s[i]->irq;
+	max3100s[i]->port.irq = spi->irq;
 	max3100s[i]->port.fifosize = 16;
 	max3100s[i]->port.ops = &max3100_ops;
 	max3100s[i]->port.flags = UPF_SKIP_TEST | UPF_BOOT_AUTOCONF;
@@ -815,7 +813,7 @@ static int max3100_suspend(struct device *dev)
 
 	dev_dbg(&s->spi->dev, "%s\n", __func__);
 
-	disable_irq(s->irq);
+	disable_irq(s->port.irq);
 
 	s->suspending = 1;
 	uart_suspend_port(&max3100_uart_driver, &s->port);
@@ -834,7 +832,7 @@ static int max3100_resume(struct device *dev)
 	uart_resume_port(&max3100_uart_driver, &s->port);
 	s->suspending = 0;
 
-	enable_irq(s->irq);
+	enable_irq(s->port.irq);
 
 	s->conf_commit = 1;
 	if (s->workqueue)
-- 
2.43.0.rc1.1.gbec44491f096


  parent reply	other threads:[~2024-04-02 19:53 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-02 19:50 [PATCH v2 00/16] serial: max3100: Put into shape Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 01/16] serial: max3100: Lock port->lock when calling uart_handle_cts_change() Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 02/16] serial: max3100: Update uart_driver_registered on driver removal Andy Shevchenko
2024-04-02 20:11   ` Hugo Villeneuve
2024-04-02 19:50 ` [PATCH v2 03/16] serial: max3100: Fix bitwise types Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 04/16] serial: max3100: Make struct plat_max3100 local Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 05/16] serial: max3100: Remove custom HW shutdown support Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 06/16] serial: max3100: Replace custom polling timeout with standard one Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 07/16] serial: max3100: Enable TIOCM_LOOP Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 08/16] serial: max3100: Get crystal frequency via device property Andy Shevchenko
2024-04-02 19:50 ` Andy Shevchenko [this message]
2024-04-02 19:50 ` [PATCH v2 10/16] serial: max3100: Switch to use dev_err_probe() Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 11/16] serial: max3100: Replace MODULE_ALIAS() with respective ID tables Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 12/16] serial: max3100: Switch to DEFINE_SIMPLE_DEV_PM_OPS() Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 13/16] serial: max3100: Extract to_max3100_port() helper macro Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 14/16] serial: max3100: Remove unneeded forward declaration Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 15/16] serial: max3100: Sort headers Andy Shevchenko
2024-04-02 19:50 ` [PATCH v2 16/16] serial: max3100: Update Kconfig entry Andy Shevchenko
2024-04-09 13:52 ` [PATCH v2 00/16] serial: max3100: Put into shape Greg Kroah-Hartman
2024-04-09 13:55   ` Andy Shevchenko
2024-04-09 14:48     ` Andy Shevchenko

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=20240402195306.269276-10-andriy.shevchenko@linux.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hugo@hugovil.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