From: Michal Simek <michal.simek@xilinx.com> To: linux-kernel@vger.kernel.org, monstr@monstr.eu, Alan Cox <gnomes@lxorguk.ukuu.org.uk> Cc: "Sören Brinkmann" <soren.brinkmann@xilinx.com>, "Jiri Slaby" <jslaby@suse.com>, linux-serial@vger.kernel.org, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, linux-arm-kernel@lists.infradead.org Subject: [RFC PATCH 4/4] serial: uartps: Remove static port array Date: Fri, 21 Jul 2017 11:32:27 +0200 [thread overview] Message-ID: <1764822fbab7d1072270436e3b6160353c06c553.1500629544.git.michal.simek@xilinx.com> (raw) In-Reply-To: <cover.1500629544.git.michal.simek@xilinx.com> In-Reply-To: <cover.1500629544.git.michal.simek@xilinx.com> Allocate uart port structure dynamically. Signed-off-by: Michal Simek <michal.simek@xilinx.com> --- drivers/tty/serial/xilinx_uartps.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c index 4fb74baeae35..1c9ec8c4c2b6 100644 --- a/drivers/tty/serial/xilinx_uartps.c +++ b/drivers/tty/serial/xilinx_uartps.c @@ -1102,8 +1102,6 @@ static void cdns_uart_pm(struct uart_port *port, unsigned int state, #endif }; -static struct uart_port cdns_uart_port[CDNS_UART_NR_PORTS]; - #ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE /** * cdns_uart_console_wait_tx - Wait for the TX to be full @@ -1443,6 +1441,9 @@ static int cdns_uart_probe(struct platform_device *pdev) GFP_KERNEL); if (!cdns_uart_data) return -ENOMEM; + port = devm_kzalloc(&pdev->dev, sizeof(*port), GFP_KERNEL); + if (!port) + return -ENOMEM; match = of_match_node(cdns_uart_of_match, pdev->dev.of_node); if (match && match->data) { @@ -1508,16 +1509,7 @@ static int cdns_uart_probe(struct platform_device *pdev) if (id < 0) id = 0; - /* Try the given port id if failed use default method */ - if (cdns_uart_port[id].mapbase != 0) { - /* Find the next unused port */ - for (id = 0; id < CDNS_UART_NR_PORTS; id++) - if (cdns_uart_port[id].mapbase == 0) - break; - } - - port = &cdns_uart_port[id]; - if (!port || id >= CDNS_UART_NR_PORTS) { + if (id >= CDNS_UART_NR_PORTS) { dev_err(&pdev->dev, "Cannot get uart_port structure\n"); rc = -ENODEV; goto err_out_notif_unreg; -- 1.9.1
WARNING: multiple messages have this Message-ID (diff)
From: michal.simek@xilinx.com (Michal Simek) To: linux-arm-kernel@lists.infradead.org Subject: [RFC PATCH 4/4] serial: uartps: Remove static port array Date: Fri, 21 Jul 2017 11:32:27 +0200 [thread overview] Message-ID: <1764822fbab7d1072270436e3b6160353c06c553.1500629544.git.michal.simek@xilinx.com> (raw) In-Reply-To: <cover.1500629544.git.michal.simek@xilinx.com> Allocate uart port structure dynamically. Signed-off-by: Michal Simek <michal.simek@xilinx.com> --- drivers/tty/serial/xilinx_uartps.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c index 4fb74baeae35..1c9ec8c4c2b6 100644 --- a/drivers/tty/serial/xilinx_uartps.c +++ b/drivers/tty/serial/xilinx_uartps.c @@ -1102,8 +1102,6 @@ static void cdns_uart_pm(struct uart_port *port, unsigned int state, #endif }; -static struct uart_port cdns_uart_port[CDNS_UART_NR_PORTS]; - #ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE /** * cdns_uart_console_wait_tx - Wait for the TX to be full @@ -1443,6 +1441,9 @@ static int cdns_uart_probe(struct platform_device *pdev) GFP_KERNEL); if (!cdns_uart_data) return -ENOMEM; + port = devm_kzalloc(&pdev->dev, sizeof(*port), GFP_KERNEL); + if (!port) + return -ENOMEM; match = of_match_node(cdns_uart_of_match, pdev->dev.of_node); if (match && match->data) { @@ -1508,16 +1509,7 @@ static int cdns_uart_probe(struct platform_device *pdev) if (id < 0) id = 0; - /* Try the given port id if failed use default method */ - if (cdns_uart_port[id].mapbase != 0) { - /* Find the next unused port */ - for (id = 0; id < CDNS_UART_NR_PORTS; id++) - if (cdns_uart_port[id].mapbase == 0) - break; - } - - port = &cdns_uart_port[id]; - if (!port || id >= CDNS_UART_NR_PORTS) { + if (id >= CDNS_UART_NR_PORTS) { dev_err(&pdev->dev, "Cannot get uart_port structure\n"); rc = -ENODEV; goto err_out_notif_unreg; -- 1.9.1
next prev parent reply other threads:[~2017-07-21 9:33 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-07-21 9:32 [RFC PATCH 0/4] serial: uartps: Dynamic allocation Michal Simek 2017-07-21 9:32 ` Michal Simek 2017-07-21 9:32 ` [RFC PATCH 1/4] serial: uartps: Remove console_initcall from the driver Michal Simek 2017-07-21 9:32 ` Michal Simek 2017-07-21 15:47 ` Sören Brinkmann 2017-07-21 15:47 ` Sören Brinkmann 2017-07-21 15:47 ` Sören Brinkmann 2017-07-31 7:37 ` Michal Simek 2017-07-31 7:37 ` Michal Simek 2017-07-31 7:37 ` Michal Simek 2017-07-21 9:32 ` [RFC PATCH 2/4] serial: uartps: Use dynamic array for console port Michal Simek 2017-07-21 9:32 ` Michal Simek 2017-07-21 9:32 ` [RFC PATCH 3/4] serial: uartps: Move cnds_uart_get_port to probe Michal Simek 2017-07-21 9:32 ` Michal Simek 2017-07-21 9:32 ` Michal Simek [this message] 2017-07-21 9:32 ` [RFC PATCH 4/4] serial: uartps: Remove static port array Michal Simek 2017-07-28 18:39 ` [RFC PATCH 0/4] serial: uartps: Dynamic allocation Alan Cox 2017-07-28 18:39 ` Alan Cox 2017-07-28 18:39 ` Alan Cox 2017-07-31 7:42 ` Michal Simek 2017-07-31 7:42 ` Michal Simek
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=1764822fbab7d1072270436e3b6160353c06c553.1500629544.git.michal.simek@xilinx.com \ --to=michal.simek@xilinx.com \ --cc=gnomes@lxorguk.ukuu.org.uk \ --cc=gregkh@linuxfoundation.org \ --cc=jslaby@suse.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-serial@vger.kernel.org \ --cc=monstr@monstr.eu \ --cc=soren.brinkmann@xilinx.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: linkBe 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.