From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Jiri Slaby <jirislaby@kernel.org>,
Sunil V L <sunilvl@ventanamicro.com>
Subject: [PATCH v1 6/7] serial: 8250_platform: Refactor serial8250_probe()
Date: Mon, 12 Aug 2024 18:47:08 +0300 [thread overview]
Message-ID: <20240812154901.1068407-7-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20240812154901.1068407-1-andriy.shevchenko@linux.intel.com>
Make it clear that it supports two cases, pure platform device and ACPI.
With this in mind, split serial8250_probe() to two functions and rename
the ACPI case accordingly.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/tty/serial/8250/8250_platform.c | 43 ++++++++++++++++---------
1 file changed, 27 insertions(+), 16 deletions(-)
diff --git a/drivers/tty/serial/8250/8250_platform.c b/drivers/tty/serial/8250/8250_platform.c
index 4a26bab8c9bd..f4a0731ff134 100644
--- a/drivers/tty/serial/8250/8250_platform.c
+++ b/drivers/tty/serial/8250/8250_platform.c
@@ -105,7 +105,7 @@ void __init serial8250_isa_init_ports(void)
/*
* Generic 16550A platform devices
*/
-static int serial8250_platform_probe(struct platform_device *pdev)
+static int serial8250_probe_acpi(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct uart_8250_port uart = { };
@@ -157,25 +157,11 @@ static int serial8250_platform_probe(struct platform_device *pdev)
return 0;
}
-/*
- * Register a set of serial devices attached to a platform device. The
- * list is terminated with a zero flags entry, which means we expect
- * all entries to have at least UPF_BOOT_AUTOCONF set.
- */
-static int serial8250_probe(struct platform_device *dev)
+static int serial8250_probe_platform(struct platform_device *dev, struct plat_serial8250_port *p)
{
- struct plat_serial8250_port *p = dev_get_platdata(&dev->dev);
struct uart_8250_port uart;
int ret, i, irqflag = 0;
- /*
- * Probe platform UART devices defined using standard hardware
- * discovery mechanism like ACPI or DT. Support only ACPI based
- * serial device for now.
- */
- if (!p && has_acpi_companion(&dev->dev))
- return serial8250_platform_probe(dev);
-
memset(&uart, 0, sizeof(uart));
if (share_irqs)
@@ -219,6 +205,31 @@ static int serial8250_probe(struct platform_device *dev)
return 0;
}
+/*
+ * Register a set of serial devices attached to a platform device. The
+ * list is terminated with a zero flags entry, which means we expect
+ * all entries to have at least UPF_BOOT_AUTOCONF set.
+ */
+static int serial8250_probe(struct platform_device *pdev)
+{
+ struct device *dev = &pdev->dev;
+ struct plat_serial8250_port *p;
+
+ p = dev_get_platdata(dev);
+ if (p)
+ return serial8250_probe_platform(pdev, p);
+
+ /*
+ * Probe platform UART devices defined using standard hardware
+ * discovery mechanism like ACPI or DT. Support only ACPI based
+ * serial device for now.
+ */
+ if (has_acpi_companion(dev))
+ return serial8250_probe_acpi(pdev);
+
+ return 0;
+}
+
/*
* Remove serial ports registered against a platform device.
*/
--
2.43.0.rc1.1336.g36b5255a03ac
next prev parent reply other threads:[~2024-08-12 15:49 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-12 15:47 [PATCH v1 0/7] serial: 8250_platform: refactor and clean up a bit Andy Shevchenko
2024-08-12 15:47 ` [PATCH v1 1/7] serial: 8250_platform: Remove duplicate mapping Andy Shevchenko
2024-08-12 15:47 ` [PATCH v1 2/7] serial: 8250_platform: Don't shadow error from serial8250_register_8250_port() Andy Shevchenko
2024-08-12 15:47 ` [PATCH v1 3/7] serial: 8250_platform: Use same check for ACPI in the whole driver Andy Shevchenko
2024-08-12 15:47 ` [PATCH v1 4/7] serial: 8250_platform: Tidy up ACPI ID table Andy Shevchenko
2024-08-12 15:47 ` [PATCH v1 5/7] serial: 8250_platform: Switch to use platform_get_mem_or_io() Andy Shevchenko
2024-08-12 15:47 ` Andy Shevchenko [this message]
2024-08-12 15:47 ` [PATCH v1 7/7] serial: 8250_platform: Unify comment style Andy Shevchenko
2024-08-14 6:28 ` [PATCH v1 0/7] serial: 8250_platform: refactor and clean up a bit Sunil V L
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=20240812154901.1068407-7-andriy.shevchenko@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=sunilvl@ventanamicro.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.