From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Paul Burton <paul.burton@imgtec.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org,
Jiri Slaby <jslaby@suse.com>,
Matt Redfearn <matt.redfearn@imgtec.com>,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v2 2/6] Revert "drivers/tty/serial: make 8250/8250_ingenic.c explicitly non-modular"
Date: Thu, 11 Feb 2016 11:02:39 -0500 [thread overview]
Message-ID: <20160211160239.GG28452@windriver.com> (raw)
In-Reply-To: <1455205297-1021302-3-git-send-email-arnd@arndb.de>
[[PATCH v2 2/6] Revert "drivers/tty/serial: make 8250/8250_ingenic.c explicitly non-modular"] On 11/02/2016 (Thu 16:41) Arnd Bergmann wrote:
> This reverts commit cafe1ac64023, which tried to remove dead code but
> left the driver in a useless state when the main 8250 driver is a
> loadable module. This would normally result in a link error, but
> as the entire drivers/tty/serial/8250/ directory is only entered
> when CONFIG_SERIAL_8250 is set, we never notice that the driver does
> not get built in this configuration.
Same comments apply here as per 1/6.
OTOH, if you were to say that 8250=m and this driver =y is a useless
configuration, and the easiest way to rectify that was to convert it
to tristate, and hence we revert cafe1ac64023 to regain some modular
code -- that would make more sense to me.
P.
--
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: cafe1ac64023 ("drivers/tty: make serial 8250_ingenic.c explicitly non-modular")
> ---
> drivers/tty/serial/8250/8250_ingenic.c | 28 +++++++++++++++++++++-------
> 1 file changed, 21 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/tty/serial/8250/8250_ingenic.c b/drivers/tty/serial/8250/8250_ingenic.c
> index b4e1d39805b2..97b78558caed 100644
> --- a/drivers/tty/serial/8250/8250_ingenic.c
> +++ b/drivers/tty/serial/8250/8250_ingenic.c
> @@ -4,8 +4,6 @@
> *
> * Ingenic SoC UART support
> *
> - * Author: Paul Burton <paul.burton@imgtec.com>
> - *
> * This program is free software; you can redistribute it and/or modify it
> * under the terms of the GNU General Public License as published by the
> * Free Software Foundation; either version 2 of the License, or (at your
> @@ -20,7 +18,7 @@
> #include <linux/console.h>
> #include <linux/io.h>
> #include <linux/libfdt.h>
> -#include <linux/init.h>
> +#include <linux/module.h>
> #include <linux/of.h>
> #include <linux/of_fdt.h>
> #include <linux/of_device.h>
> @@ -303,6 +301,16 @@ out:
> return err;
> }
>
> +static int ingenic_uart_remove(struct platform_device *pdev)
> +{
> + struct ingenic_uart_data *data = platform_get_drvdata(pdev);
> +
> + serial8250_unregister_port(data->line);
> + clk_disable_unprepare(data->clk_module);
> + clk_disable_unprepare(data->clk_baud);
> + return 0;
> +}
> +
> static const struct ingenic_uart_config jz4740_uart_config = {
> .tx_loadsz = 8,
> .fifosize = 16,
> @@ -325,13 +333,19 @@ static const struct of_device_id of_match[] = {
> { .compatible = "ingenic,jz4780-uart", .data = &jz4780_uart_config },
> { /* sentinel */ }
> };
> +MODULE_DEVICE_TABLE(of, of_match);
>
> static struct platform_driver ingenic_uart_platform_driver = {
> .driver = {
> - .name = "ingenic-uart",
> - .of_match_table = of_match,
> - .suppress_bind_attrs = true,
> + .name = "ingenic-uart",
> + .of_match_table = of_match,
> },
> .probe = ingenic_uart_probe,
> + .remove = ingenic_uart_remove,
> };
> -builtin_platform_driver(ingenic_uart_platform_driver);
> +
> +module_platform_driver(ingenic_uart_platform_driver);
> +
> +MODULE_AUTHOR("Paul Burton");
> +MODULE_LICENSE("GPL");
> +MODULE_DESCRIPTION("Ingenic SoC UART driver");
> --
> 2.7.0
>
WARNING: multiple messages have this Message-ID (diff)
From: paul.gortmaker@windriver.com (Paul Gortmaker)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 2/6] Revert "drivers/tty/serial: make 8250/8250_ingenic.c explicitly non-modular"
Date: Thu, 11 Feb 2016 11:02:39 -0500 [thread overview]
Message-ID: <20160211160239.GG28452@windriver.com> (raw)
In-Reply-To: <1455205297-1021302-3-git-send-email-arnd@arndb.de>
[[PATCH v2 2/6] Revert "drivers/tty/serial: make 8250/8250_ingenic.c explicitly non-modular"] On 11/02/2016 (Thu 16:41) Arnd Bergmann wrote:
> This reverts commit cafe1ac64023, which tried to remove dead code but
> left the driver in a useless state when the main 8250 driver is a
> loadable module. This would normally result in a link error, but
> as the entire drivers/tty/serial/8250/ directory is only entered
> when CONFIG_SERIAL_8250 is set, we never notice that the driver does
> not get built in this configuration.
Same comments apply here as per 1/6.
OTOH, if you were to say that 8250=m and this driver =y is a useless
configuration, and the easiest way to rectify that was to convert it
to tristate, and hence we revert cafe1ac64023 to regain some modular
code -- that would make more sense to me.
P.
--
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: cafe1ac64023 ("drivers/tty: make serial 8250_ingenic.c explicitly non-modular")
> ---
> drivers/tty/serial/8250/8250_ingenic.c | 28 +++++++++++++++++++++-------
> 1 file changed, 21 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/tty/serial/8250/8250_ingenic.c b/drivers/tty/serial/8250/8250_ingenic.c
> index b4e1d39805b2..97b78558caed 100644
> --- a/drivers/tty/serial/8250/8250_ingenic.c
> +++ b/drivers/tty/serial/8250/8250_ingenic.c
> @@ -4,8 +4,6 @@
> *
> * Ingenic SoC UART support
> *
> - * Author: Paul Burton <paul.burton@imgtec.com>
> - *
> * This program is free software; you can redistribute it and/or modify it
> * under the terms of the GNU General Public License as published by the
> * Free Software Foundation; either version 2 of the License, or (at your
> @@ -20,7 +18,7 @@
> #include <linux/console.h>
> #include <linux/io.h>
> #include <linux/libfdt.h>
> -#include <linux/init.h>
> +#include <linux/module.h>
> #include <linux/of.h>
> #include <linux/of_fdt.h>
> #include <linux/of_device.h>
> @@ -303,6 +301,16 @@ out:
> return err;
> }
>
> +static int ingenic_uart_remove(struct platform_device *pdev)
> +{
> + struct ingenic_uart_data *data = platform_get_drvdata(pdev);
> +
> + serial8250_unregister_port(data->line);
> + clk_disable_unprepare(data->clk_module);
> + clk_disable_unprepare(data->clk_baud);
> + return 0;
> +}
> +
> static const struct ingenic_uart_config jz4740_uart_config = {
> .tx_loadsz = 8,
> .fifosize = 16,
> @@ -325,13 +333,19 @@ static const struct of_device_id of_match[] = {
> { .compatible = "ingenic,jz4780-uart", .data = &jz4780_uart_config },
> { /* sentinel */ }
> };
> +MODULE_DEVICE_TABLE(of, of_match);
>
> static struct platform_driver ingenic_uart_platform_driver = {
> .driver = {
> - .name = "ingenic-uart",
> - .of_match_table = of_match,
> - .suppress_bind_attrs = true,
> + .name = "ingenic-uart",
> + .of_match_table = of_match,
> },
> .probe = ingenic_uart_probe,
> + .remove = ingenic_uart_remove,
> };
> -builtin_platform_driver(ingenic_uart_platform_driver);
> +
> +module_platform_driver(ingenic_uart_platform_driver);
> +
> +MODULE_AUTHOR("Paul Burton");
> +MODULE_LICENSE("GPL");
> +MODULE_DESCRIPTION("Ingenic SoC UART driver");
> --
> 2.7.0
>
WARNING: multiple messages have this Message-ID (diff)
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-serial@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Jiri Slaby <jslaby@suse.com>,
Matt Redfearn <matt.redfearn@imgtec.com>,
Paul Burton <paul.burton@imgtec.com>
Subject: Re: [PATCH v2 2/6] Revert "drivers/tty/serial: make 8250/8250_ingenic.c explicitly non-modular"
Date: Thu, 11 Feb 2016 11:02:39 -0500 [thread overview]
Message-ID: <20160211160239.GG28452@windriver.com> (raw)
In-Reply-To: <1455205297-1021302-3-git-send-email-arnd@arndb.de>
[[PATCH v2 2/6] Revert "drivers/tty/serial: make 8250/8250_ingenic.c explicitly non-modular"] On 11/02/2016 (Thu 16:41) Arnd Bergmann wrote:
> This reverts commit cafe1ac64023, which tried to remove dead code but
> left the driver in a useless state when the main 8250 driver is a
> loadable module. This would normally result in a link error, but
> as the entire drivers/tty/serial/8250/ directory is only entered
> when CONFIG_SERIAL_8250 is set, we never notice that the driver does
> not get built in this configuration.
Same comments apply here as per 1/6.
OTOH, if you were to say that 8250=m and this driver =y is a useless
configuration, and the easiest way to rectify that was to convert it
to tristate, and hence we revert cafe1ac64023 to regain some modular
code -- that would make more sense to me.
P.
--
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: cafe1ac64023 ("drivers/tty: make serial 8250_ingenic.c explicitly non-modular")
> ---
> drivers/tty/serial/8250/8250_ingenic.c | 28 +++++++++++++++++++++-------
> 1 file changed, 21 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/tty/serial/8250/8250_ingenic.c b/drivers/tty/serial/8250/8250_ingenic.c
> index b4e1d39805b2..97b78558caed 100644
> --- a/drivers/tty/serial/8250/8250_ingenic.c
> +++ b/drivers/tty/serial/8250/8250_ingenic.c
> @@ -4,8 +4,6 @@
> *
> * Ingenic SoC UART support
> *
> - * Author: Paul Burton <paul.burton@imgtec.com>
> - *
> * This program is free software; you can redistribute it and/or modify it
> * under the terms of the GNU General Public License as published by the
> * Free Software Foundation; either version 2 of the License, or (at your
> @@ -20,7 +18,7 @@
> #include <linux/console.h>
> #include <linux/io.h>
> #include <linux/libfdt.h>
> -#include <linux/init.h>
> +#include <linux/module.h>
> #include <linux/of.h>
> #include <linux/of_fdt.h>
> #include <linux/of_device.h>
> @@ -303,6 +301,16 @@ out:
> return err;
> }
>
> +static int ingenic_uart_remove(struct platform_device *pdev)
> +{
> + struct ingenic_uart_data *data = platform_get_drvdata(pdev);
> +
> + serial8250_unregister_port(data->line);
> + clk_disable_unprepare(data->clk_module);
> + clk_disable_unprepare(data->clk_baud);
> + return 0;
> +}
> +
> static const struct ingenic_uart_config jz4740_uart_config = {
> .tx_loadsz = 8,
> .fifosize = 16,
> @@ -325,13 +333,19 @@ static const struct of_device_id of_match[] = {
> { .compatible = "ingenic,jz4780-uart", .data = &jz4780_uart_config },
> { /* sentinel */ }
> };
> +MODULE_DEVICE_TABLE(of, of_match);
>
> static struct platform_driver ingenic_uart_platform_driver = {
> .driver = {
> - .name = "ingenic-uart",
> - .of_match_table = of_match,
> - .suppress_bind_attrs = true,
> + .name = "ingenic-uart",
> + .of_match_table = of_match,
> },
> .probe = ingenic_uart_probe,
> + .remove = ingenic_uart_remove,
> };
> -builtin_platform_driver(ingenic_uart_platform_driver);
> +
> +module_platform_driver(ingenic_uart_platform_driver);
> +
> +MODULE_AUTHOR("Paul Burton");
> +MODULE_LICENSE("GPL");
> +MODULE_DESCRIPTION("Ingenic SoC UART driver");
> --
> 2.7.0
>
next prev parent reply other threads:[~2016-02-11 16:02 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-11 15:41 [PATCH v2 0/6] serial: 8250: fixes for modular build Arnd Bergmann
2016-02-11 15:41 ` Arnd Bergmann
2016-02-11 15:41 ` [PATCH v2 1/6] Revert "drivers/tty/serial: make 8250/8250_mtk.c explicitly non-modular" Arnd Bergmann
2016-02-11 15:41 ` Arnd Bergmann
2016-02-11 16:00 ` Paul Gortmaker
2016-02-11 16:00 ` Paul Gortmaker
2016-02-11 16:00 ` Paul Gortmaker
[not found] ` <20160211160021.GF28452-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org>
2016-02-11 16:06 ` Arnd Bergmann
2016-02-11 16:06 ` Arnd Bergmann
2016-02-11 16:06 ` Arnd Bergmann
2016-02-11 16:28 ` Paul Gortmaker
2016-02-11 16:28 ` Paul Gortmaker
2016-02-11 16:28 ` Paul Gortmaker
2016-02-11 16:32 ` Arnd Bergmann
2016-02-11 16:32 ` Arnd Bergmann
2016-02-11 15:41 ` [PATCH v2 2/6] Revert "drivers/tty/serial: make 8250/8250_ingenic.c " Arnd Bergmann
2016-02-11 15:41 ` Arnd Bergmann
2016-02-11 16:02 ` Paul Gortmaker [this message]
2016-02-11 16:02 ` Paul Gortmaker
2016-02-11 16:02 ` Paul Gortmaker
[not found] ` <1455205297-1021302-1-git-send-email-arnd-r2nGTMty4D4@public.gmane.org>
2016-02-11 15:41 ` [PATCH v2 3/6] serial: 8250/mediatek: mark PM functions as __maybe_unused Arnd Bergmann
2016-02-11 15:41 ` Arnd Bergmann
2016-02-11 15:41 ` Arnd Bergmann
2016-02-11 15:41 ` [PATCH v2 4/6] serial: 8250/uniphier: fix modular build Arnd Bergmann
2016-02-11 15:41 ` Arnd Bergmann
2016-02-12 9:37 ` Masahiro Yamada
2016-02-12 9:37 ` Masahiro Yamada
2016-02-12 10:07 ` Arnd Bergmann
2016-02-12 10:07 ` Arnd Bergmann
2016-02-12 10:38 ` Masahiro Yamada
2016-02-12 10:38 ` Masahiro Yamada
2016-02-12 16:37 ` Masahiro Yamada
2016-02-12 16:37 ` Masahiro Yamada
2016-02-11 15:41 ` [PATCH v2 5/6] serial: 8250/mediatek: fix building with SERIAL_8250=m Arnd Bergmann
2016-02-11 15:41 ` Arnd Bergmann
2016-02-11 16:04 ` Paul Gortmaker
2016-02-11 16:04 ` Paul Gortmaker
2016-02-11 16:04 ` Paul Gortmaker
2016-02-11 16:31 ` Arnd Bergmann
2016-02-11 16:31 ` Arnd Bergmann
2016-02-11 23:14 ` Matthias Brugger
2016-02-11 23:14 ` Matthias Brugger
2016-02-12 9:43 ` Masahiro Yamada
2016-02-12 9:43 ` Masahiro Yamada
2016-02-11 15:41 ` [PATCH v2 6/6] serial: 8250/ingenic: " Arnd Bergmann
2016-02-11 15:41 ` Arnd Bergmann
2016-02-12 9:45 ` Masahiro Yamada
2016-02-12 9:45 ` Masahiro Yamada
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=20160211160239.GG28452@windriver.com \
--to=paul.gortmaker@windriver.com \
--cc=arnd@arndb.de \
--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=matt.redfearn@imgtec.com \
--cc=paul.burton@imgtec.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.