Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1336503

[PATCH v3 5/5] serial: 8250/mediatek: fix building with SERIAL_8250=m

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From Arnd Bergmann <arnd@arndb.de>
Newsgroups linux.kernel
Subject [PATCH v3 5/5] serial: 8250/mediatek: fix building with SERIAL_8250=m
Date Wed, 17 Feb 2016 16:10:01 +0100
Message-ID <r3bTP-87x-9@gated-at.bofh.it> (permalink)
References <r3bTP-87x-3@gated-at.bofh.it>
X-Mailer git-send-email 2.7.0
X-Provags-ID V03:K0:6zsR31QYqQcnBbjGVYMeM9LCVb9qEmTzLIuJd5kc8FVwehds5Wa oy6LN+7+75D/8BCMumaUW/P+EE5NUpIaH38n/KbbGuAAD+YGbMZMzLJV+8WuVBlO0ydMNVb fTIOUAO4s52tmUISYau8paLFqVzPMJrIKsnYhjdkL5N2spte3N7eeDgkp6mkCqIFxjv6/jc 46OucOJOO29LFKTqwEisQ==
X-Ui-Out-Filterresults notjunk:1;V01:K0:nhwzOhcYf8g=:Ut5+YdrWAkNnRvHp63rGVh y3zVV2P3GCTmOB6Kx0zmsiaKLgoQdncAdt+zQT0hhy7aIGskqBUgkecRSvjuMG956GuNXEJ8M 9uM8O/f6cNzObKAaBc6u90HZzAllrjpL6Cq3cwhsUGNDdvpK8iGPFDwcNjLAxAhFhQN04jNee DBLSzfbyBL5tHWfOe9qFlcqx4RKEuA8jbeeB4xI9mVZsUXhAVLvcA5AHy7QR/pkP7jNDl5ANF CJ2YewU1ifry7ibsFVO+4sX531++YUAlCGqleQUhcFPCDb4hW+WsNmqQ+pCXJ4ZDS9SAjQWjC lWk+7gIQcs7ucukDoaGSacjTqTE4R76XQWy/zlB1pk4cQVPh+n75mB6+NYUWlS/etlfJxkfHZ 6vFXqHnCo4RpH32+hdpcHKkQFTy5j2KcktTveyKLibJx8lTr9xPe7DNjMW/d2jekHF5fkPxjb tCM2YS0Y0SZJkisaPgzesXZLDfzXqT+qrK0Sf/whpQYVJ3g24Ae583CK5ophNYfGPLMkZ/pa2 rjYgHOpDSPcWVpDfauU5btMhGixhky8kU3YM+4S+Ua5bb758ib0HONumCPiyt4aakYxxAQlLC 2BOqx3Cs/kXodMHB2CvtWtOsEDzvcOlv8fP8mPEZUz5QwDFpkTS8S+xnPpKKGw4VmjIvI+zUp Gxm0pkCeQfLS9R840BRpuxKhfIgc32yn6mRD67eryzNrLrXGNc3G0gf+NzqGPXX8g7vg=
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 53
Organization linux.* mail to news gateway
X-Original-Cc linux-arm-kernel@lists.infradead.org, Arnd Bergmann <arnd@arndb.de>, Paul Gortmaker <paul.gortmaker@windriver.com>, linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Masahiro Yamada <yamada.masahiro@socionext.com>, Peter Hurley <peter@hurleysoftware.com>, Jiri Slaby <jslaby@suse.com>, Matthias Brugger <matthias.bgg@gmail.com>, Sascha Hauer <s.hauer@pengutronix.de>, Eddie Huang <eddie.huang@mediatek.com>, Heikki Krogerus <heikki.krogerus@linux.intel.com>, Andy Shevchenko <andriy.shevchenko@linux.intel.com>, Martin Sperl <kernel@martin.sperl.org>, Paul Burton <paul.burton@imgtec.com>, Mans Rullgard <mans@mansr.com>, Scott Wood <scottwood@freescale.com>, linux-mediatek@lists.infradead.org
X-Original-Date Wed, 17 Feb 2016 16:02:35 +0100
X-Original-Message-ID <1455721357-4008289-6-git-send-email-arnd@arndb.de>
X-Original-References <1455721357-4008289-1-git-send-email-arnd@arndb.de>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1336503

Show key headers only | View raw


The Mediatek 8250 driver has a 'bool' Kconfig symbol, but that
breaks when SERIAL_8250 is a loadable module:

drivers/tty/built-in.o: In function `mtk8250_set_termios':
:(.text+0x1bee8): undefined reference to `serial8250_do_set_termios'
:(.text+0x1bf10): undefined reference to `uart_get_baud_rate'
:(.text+0x1c09c): undefined reference to `uart_get_divisor'
drivers/tty/built-in.o: In function `mtk8250_do_pm':
:(.text+0x1c0d0): undefined reference to `serial8250_do_pm'
drivers/tty/built-in.o: In function `mtk8250_probe':
:(.text+0x1c2e4): undefined reference to `serial8250_register_8250_port'
serial/8250/8250_mtk.c:287:242: error: data definition has no type or storage class [-Werror]
serial/8250/8250_mtk.c:287:122: error: 'mtk8250_platform_driver_init' defined but not used [-Werror=unused-function]

This changes the symbol to a 'tristate', so the dependency on
SERIAL_8250 also works when that is set to 'm'.
To actually build the driver, we also need to include <linux/module.h>.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Matthias Brugger <matthias.bgg@gmail.com>
---
 drivers/tty/serial/8250/8250_mtk.c | 2 +-
 drivers/tty/serial/8250/Kconfig    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
index 6ecc6e3e82dc..a0294f3de4f8 100644
--- a/drivers/tty/serial/8250/8250_mtk.c
+++ b/drivers/tty/serial/8250/8250_mtk.c
@@ -303,7 +303,7 @@ static struct platform_driver mtk8250_platform_driver = {
 };
 module_platform_driver(mtk8250_platform_driver);
 
-#ifdef CONFIG_SERIAL_8250_CONSOLE
+#if defined(CONFIG_SERIAL_8250_CONSOLE) && !defined(MODULE)
 static int __init early_mtk8250_setup(struct earlycon_device *device,
 					const char *options)
 {
diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
index 1b0638511ac1..c45a02a7f9e2 100644
--- a/drivers/tty/serial/8250/Kconfig
+++ b/drivers/tty/serial/8250/Kconfig
@@ -370,7 +370,7 @@ config SERIAL_8250_LPC18XX
 	  serial port, say Y to this option. If unsure, say Y.
 
 config SERIAL_8250_MT6577
-	bool "Mediatek serial port support"
+	tristate "Mediatek serial port support"
 	depends on SERIAL_8250 && ARCH_MEDIATEK
 	help
 	  If you have a Mediatek based board and want to use the
-- 
2.7.0

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH v3 5/5] serial: 8250/mediatek: fix building with SERIAL_8250=m Arnd Bergmann <arnd@arndb.de> - 2016-02-17 16:10 +0100

csiph-web