aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/ezx.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2009-11-09 00:34:08 -0500
committerEric Miao <eric.y.miao@gmail.com>2009-11-30 20:02:55 -0500
commitcc155c6f2cc705cb082ed676044368424e4b9121 (patch)
treefdeeaaa4fe44d4a156249648f8ca77d7c68c8e20 /arch/arm/mach-pxa/ezx.c
parent7c6ccbf0ddce6d5a1e13e7f50befd864f289e108 (diff)
[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: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Mike Rapoport <mike@compulab.co.il> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
Diffstat (limited to 'arch/arm/mach-pxa/ezx.c')
-rw-r--r--arch/arm/mach-pxa/ezx.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/ezx.c b/arch/arm/mach-pxa/ezx.c
index 588b265e5755..48c17372bc1c 100644
--- a/arch/arm/mach-pxa/ezx.c
+++ b/arch/arm/mach-pxa/ezx.c
@@ -693,6 +693,10 @@ static void __init a780_init(void)
693 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen1_pin_config)); 693 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen1_pin_config));
694 pxa2xx_mfp_config(ARRAY_AND_SIZE(a780_pin_config)); 694 pxa2xx_mfp_config(ARRAY_AND_SIZE(a780_pin_config));
695 695
696 pxa_set_ffuart_info(NULL);
697 pxa_set_btuart_info(NULL);
698 pxa_set_stuart_info(NULL);
699
696 pxa_set_i2c_info(NULL); 700 pxa_set_i2c_info(NULL);
697 701
698 set_pxa_fb_info(&ezx_fb_info_1); 702 set_pxa_fb_info(&ezx_fb_info_1);
@@ -754,6 +758,10 @@ static void __init e680_init(void)
754 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen1_pin_config)); 758 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen1_pin_config));
755 pxa2xx_mfp_config(ARRAY_AND_SIZE(e680_pin_config)); 759 pxa2xx_mfp_config(ARRAY_AND_SIZE(e680_pin_config));
756 760
761 pxa_set_ffuart_info(NULL);
762 pxa_set_btuart_info(NULL);
763 pxa_set_stuart_info(NULL);
764
757 pxa_set_i2c_info(NULL); 765 pxa_set_i2c_info(NULL);
758 i2c_register_board_info(0, ARRAY_AND_SIZE(e680_i2c_board_info)); 766 i2c_register_board_info(0, ARRAY_AND_SIZE(e680_i2c_board_info));
759 767
@@ -816,6 +824,10 @@ static void __init a1200_init(void)
816 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); 824 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config));
817 pxa2xx_mfp_config(ARRAY_AND_SIZE(a1200_pin_config)); 825 pxa2xx_mfp_config(ARRAY_AND_SIZE(a1200_pin_config));
818 826
827 pxa_set_ffuart_info(NULL);
828 pxa_set_btuart_info(NULL);
829 pxa_set_stuart_info(NULL);
830
819 pxa_set_i2c_info(NULL); 831 pxa_set_i2c_info(NULL);
820 i2c_register_board_info(0, ARRAY_AND_SIZE(a1200_i2c_board_info)); 832 i2c_register_board_info(0, ARRAY_AND_SIZE(a1200_i2c_board_info));
821 833
@@ -874,6 +886,10 @@ static void __init a910_init(void)
874 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); 886 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config));
875 pxa2xx_mfp_config(ARRAY_AND_SIZE(a910_pin_config)); 887 pxa2xx_mfp_config(ARRAY_AND_SIZE(a910_pin_config));
876 888
889 pxa_set_ffuart_info(NULL);
890 pxa_set_btuart_info(NULL);
891 pxa_set_stuart_info(NULL);
892
877 pxa_set_i2c_info(NULL); 893 pxa_set_i2c_info(NULL);
878 894
879 set_pxa_fb_info(&ezx_fb_info_2); 895 set_pxa_fb_info(&ezx_fb_info_2);
@@ -935,6 +951,10 @@ static void __init e6_init(void)
935 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); 951 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config));
936 pxa2xx_mfp_config(ARRAY_AND_SIZE(e6_pin_config)); 952 pxa2xx_mfp_config(ARRAY_AND_SIZE(e6_pin_config));
937 953
954 pxa_set_ffuart_info(NULL);
955 pxa_set_btuart_info(NULL);
956 pxa_set_stuart_info(NULL);
957
938 pxa_set_i2c_info(NULL); 958 pxa_set_i2c_info(NULL);
939 i2c_register_board_info(0, ARRAY_AND_SIZE(e6_i2c_board_info)); 959 i2c_register_board_info(0, ARRAY_AND_SIZE(e6_i2c_board_info));
940 960
@@ -971,6 +991,10 @@ static void __init e2_init(void)
971 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config)); 991 pxa2xx_mfp_config(ARRAY_AND_SIZE(gen2_pin_config));
972 pxa2xx_mfp_config(ARRAY_AND_SIZE(e2_pin_config)); 992 pxa2xx_mfp_config(ARRAY_AND_SIZE(e2_pin_config));
973 993
994 pxa_set_ffuart_info(NULL);
995 pxa_set_btuart_info(NULL);
996 pxa_set_stuart_info(NULL);
997
974 pxa_set_i2c_info(NULL); 998 pxa_set_i2c_info(NULL);
975 i2c_register_board_info(0, ARRAY_AND_SIZE(e2_i2c_board_info)); 999 i2c_register_board_info(0, ARRAY_AND_SIZE(e2_i2c_board_info));
976 1000