Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc155c6f authored by Russell King's avatar Russell King Committed by Eric Miao
Browse files

[ARM] pxa: allow platforms to control which uarts are registered



For some platforms, it is inappropriate to register all PXA UARTs.
In some cases, the UARTs may not be used, and in others we may want
to avoid registering the UARTs to allow other drivers (eg, FICP) to
make use of the UART.

In addition, a while back there was a request to be able to pass
platform data to the UART driver.

This patch enables all of this by providing functions platforms can
call to register each individual UART.

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
Acked-by: default avatarMike Rapoport <mike@compulab.co.il>
Acked-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: default avatarEric Miao <eric.y.miao@gmail.com>
parent 7c6ccbf0
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -306,6 +306,10 @@ static void __init balloon3_init(void)
	 */
	ARB_CNTRL = ARB_CORE_PARK | 0x234;

	pxa_set_ffuart_info(NULL);
	pxa_set_btuart_info(NULL);
	pxa_set_stuart_info(NULL);

	pxa_set_i2c_info(NULL);
	if (balloon3_has(BALLOON3_FEATURE_AUDIO))
		pxa_set_ac97_info(NULL);
+4 −0
Original line number Diff line number Diff line
@@ -453,6 +453,10 @@ static inline void cmx2xx_init_ac97(void) {}

static void __init cmx2xx_init(void)
{
	pxa_set_ffuart_info(NULL);
	pxa_set_btuart_info(NULL);
	pxa_set_stuart_info(NULL);

	cmx2xx_pm_init();

	if (cpu_is_pxa25x())
+4 −0
Original line number Diff line number Diff line
@@ -438,6 +438,10 @@ static void __init cm_x300_init(void)
	/* board-processor specific GPIO initialization */
	pxa3xx_mfp_config(ARRAY_AND_SIZE(cm_x300_mfp_cfg));

	pxa_set_ffuart_info(NULL);
	pxa_set_btuart_info(NULL);
	pxa_set_stuart_info(NULL);

	cm_x300_init_dm9000();
	cm_x300_init_lcd();
	cm_x300_init_ohci();
+3 −0
Original line number Diff line number Diff line
@@ -130,6 +130,9 @@ static struct platform_device *colibri_pxa270_devices[] __initdata = {
static void __init colibri_pxa270_init(void)
{
	pxa2xx_mfp_config(ARRAY_AND_SIZE(colibri_pxa270_pin_config));
	pxa_set_ffuart_info(NULL);
	pxa_set_btuart_info(NULL);
	pxa_set_stuart_info(NULL);
	platform_add_devices(ARRAY_AND_SIZE(colibri_pxa270_devices));
}

+4 −0
Original line number Diff line number Diff line
@@ -170,6 +170,10 @@ static inline void colibri_pxa310_init_ac97(void) {}

void __init colibri_pxa300_init(void)
{
	pxa_set_ffuart_info(NULL);
	pxa_set_btuart_info(NULL);
	pxa_set_stuart_info(NULL);

	colibri_pxa300_init_eth();
	colibri_pxa300_init_ohci();
	colibri_pxa3xx_init_nand();
Loading