diff options
| author | Andrew Victor <linux@maxim.org.za> | 2008-04-15 16:16:38 -0400 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2008-04-17 10:55:52 -0400 |
| commit | 11aadac4f6adc032cfd1e41c348a7a568819ed94 (patch) | |
| tree | d9e5523c4ea62cd82f25325a1cd387d538daf26c | |
| parent | 2f036ac63ebfa3fc618a1f22324ef9297c5b7d05 (diff) | |
[ARM] 4982/1: [AT91] Drop old-style UART initialization (Part 1)
All the SAM9 boards supported by mainline and the AT91 patches have
been converted to the new-style UART initialization. Therefore drop
support for the old at91_init_serial() interface for SAM9.
at91_uarts[] array can also be marked as __initdata.
The warning that no serial-console is defined moved from
at91_set_serial_console() to at91_add_device_serial() since the whole
point is the board-specific file is not calling
at91_set_serial_console().
Signed-off-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/mach-at91/at91cap9_devices.c | 10 | ||||
| -rw-r--r-- | arch/arm/mach-at91/at91rm9200_devices.c | 7 | ||||
| -rw-r--r-- | arch/arm/mach-at91/at91sam9260_devices.c | 63 | ||||
| -rw-r--r-- | arch/arm/mach-at91/at91sam9261_devices.c | 48 | ||||
| -rw-r--r-- | arch/arm/mach-at91/at91sam9263_devices.c | 51 | ||||
| -rw-r--r-- | arch/arm/mach-at91/at91sam9rl_devices.c | 56 |
6 files changed, 26 insertions, 209 deletions
diff --git a/arch/arm/mach-at91/at91cap9_devices.c b/arch/arm/mach-at91/at91cap9_devices.c index 2eeaf5d5bbf3..f1a80d74a4b6 100644 --- a/arch/arm/mach-at91/at91cap9_devices.c +++ b/arch/arm/mach-at91/at91cap9_devices.c | |||
| @@ -16,7 +16,7 @@ | |||
| 16 | 16 | ||
| 17 | #include <linux/dma-mapping.h> | 17 | #include <linux/dma-mapping.h> |
| 18 | #include <linux/platform_device.h> | 18 | #include <linux/platform_device.h> |
| 19 | #include <linux/mtd/physmap.h> | 19 | #include <linux/i2c-gpio.h> |
| 20 | 20 | ||
| 21 | #include <video/atmel_lcdc.h> | 21 | #include <video/atmel_lcdc.h> |
| 22 | 22 | ||
| @@ -349,6 +349,7 @@ void __init at91_add_device_nand(struct at91_nand_data *data) | |||
| 349 | void __init at91_add_device_nand(struct at91_nand_data *data) {} | 349 | void __init at91_add_device_nand(struct at91_nand_data *data) {} |
| 350 | #endif | 350 | #endif |
| 351 | 351 | ||
| 352 | |||
| 352 | /* -------------------------------------------------------------------- | 353 | /* -------------------------------------------------------------------- |
| 353 | * TWI (i2c) | 354 | * TWI (i2c) |
| 354 | * -------------------------------------------------------------------- */ | 355 | * -------------------------------------------------------------------- */ |
| @@ -1041,7 +1042,7 @@ static inline void configure_usart2_pins(unsigned pins) | |||
| 1041 | at91_set_B_periph(AT91_PIN_PD6, 0); /* CTS2 */ | 1042 | at91_set_B_periph(AT91_PIN_PD6, 0); /* CTS2 */ |
| 1042 | } | 1043 | } |
| 1043 | 1044 | ||
| 1044 | static struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ | 1045 | static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ |
| 1045 | struct platform_device *atmel_default_console_device; /* the serial console device */ | 1046 | struct platform_device *atmel_default_console_device; /* the serial console device */ |
| 1046 | 1047 | ||
| 1047 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) | 1048 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) |
| @@ -1082,8 +1083,6 @@ void __init at91_set_serial_console(unsigned portnr) | |||
| 1082 | { | 1083 | { |
| 1083 | if (portnr < ATMEL_MAX_UART) | 1084 | if (portnr < ATMEL_MAX_UART) |
| 1084 | atmel_default_console_device = at91_uarts[portnr]; | 1085 | atmel_default_console_device = at91_uarts[portnr]; |
| 1085 | if (!atmel_default_console_device) | ||
| 1086 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1087 | } | 1086 | } |
| 1088 | 1087 | ||
| 1089 | void __init at91_add_device_serial(void) | 1088 | void __init at91_add_device_serial(void) |
| @@ -1094,6 +1093,9 @@ void __init at91_add_device_serial(void) | |||
| 1094 | if (at91_uarts[i]) | 1093 | if (at91_uarts[i]) |
| 1095 | platform_device_register(at91_uarts[i]); | 1094 | platform_device_register(at91_uarts[i]); |
| 1096 | } | 1095 | } |
| 1096 | |||
| 1097 | if (!atmel_default_console_device) | ||
| 1098 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1097 | } | 1099 | } |
| 1098 | #else | 1100 | #else |
| 1099 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} | 1101 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} |
diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c index 70d3a0018530..de19bee83f75 100644 --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c | |||
| @@ -1103,7 +1103,7 @@ static inline void configure_usart3_pins(unsigned pins) | |||
| 1103 | at91_set_B_periph(AT91_PIN_PB0, 0); /* RTS3 */ | 1103 | at91_set_B_periph(AT91_PIN_PB0, 0); /* RTS3 */ |
| 1104 | } | 1104 | } |
| 1105 | 1105 | ||
| 1106 | static struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ | 1106 | static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ |
| 1107 | struct platform_device *atmel_default_console_device; /* the serial console device */ | 1107 | struct platform_device *atmel_default_console_device; /* the serial console device */ |
| 1108 | 1108 | ||
| 1109 | void __init __deprecated at91_init_serial(struct at91_uart_config *config) | 1109 | void __init __deprecated at91_init_serial(struct at91_uart_config *config) |
| @@ -1194,8 +1194,6 @@ void __init at91_set_serial_console(unsigned portnr) | |||
| 1194 | { | 1194 | { |
| 1195 | if (portnr < ATMEL_MAX_UART) | 1195 | if (portnr < ATMEL_MAX_UART) |
| 1196 | atmel_default_console_device = at91_uarts[portnr]; | 1196 | atmel_default_console_device = at91_uarts[portnr]; |
| 1197 | if (!atmel_default_console_device) | ||
| 1198 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1199 | } | 1197 | } |
| 1200 | 1198 | ||
| 1201 | void __init at91_add_device_serial(void) | 1199 | void __init at91_add_device_serial(void) |
| @@ -1206,6 +1204,9 @@ void __init at91_add_device_serial(void) | |||
| 1206 | if (at91_uarts[i]) | 1204 | if (at91_uarts[i]) |
| 1207 | platform_device_register(at91_uarts[i]); | 1205 | platform_device_register(at91_uarts[i]); |
| 1208 | } | 1206 | } |
| 1207 | |||
| 1208 | if (!atmel_default_console_device) | ||
| 1209 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1209 | } | 1210 | } |
| 1210 | #else | 1211 | #else |
| 1211 | void __init __deprecated at91_init_serial(struct at91_uart_config *config) {} | 1212 | void __init __deprecated at91_init_serial(struct at91_uart_config *config) {} |
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c index 20ac09c02312..393a32aefce5 100644 --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c | |||
| @@ -1051,64 +1051,9 @@ static inline void configure_usart5_pins(void) | |||
| 1051 | at91_set_A_periph(AT91_PIN_PB13, 0); /* RXD5 */ | 1051 | at91_set_A_periph(AT91_PIN_PB13, 0); /* RXD5 */ |
| 1052 | } | 1052 | } |
| 1053 | 1053 | ||
| 1054 | static struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ | 1054 | static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ |
| 1055 | struct platform_device *atmel_default_console_device; /* the serial console device */ | 1055 | struct platform_device *atmel_default_console_device; /* the serial console device */ |
| 1056 | 1056 | ||
| 1057 | void __init __deprecated at91_init_serial(struct at91_uart_config *config) | ||
| 1058 | { | ||
| 1059 | int i; | ||
| 1060 | |||
| 1061 | /* Fill in list of supported UARTs */ | ||
| 1062 | for (i = 0; i < config->nr_tty; i++) { | ||
| 1063 | switch (config->tty_map[i]) { | ||
| 1064 | case 0: | ||
| 1065 | configure_usart0_pins(ATMEL_UART_CTS | ATMEL_UART_RTS | ATMEL_UART_DSR | ATMEL_UART_DTR | ATMEL_UART_DCD | ATMEL_UART_RI); | ||
| 1066 | at91_uarts[i] = &at91sam9260_uart0_device; | ||
| 1067 | at91_clock_associate("usart0_clk", &at91sam9260_uart0_device.dev, "usart"); | ||
| 1068 | break; | ||
| 1069 | case 1: | ||
| 1070 | configure_usart1_pins(ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
| 1071 | at91_uarts[i] = &at91sam9260_uart1_device; | ||
| 1072 | at91_clock_associate("usart1_clk", &at91sam9260_uart1_device.dev, "usart"); | ||
| 1073 | break; | ||
| 1074 | case 2: | ||
| 1075 | configure_usart2_pins(0); | ||
| 1076 | at91_uarts[i] = &at91sam9260_uart2_device; | ||
| 1077 | at91_clock_associate("usart2_clk", &at91sam9260_uart2_device.dev, "usart"); | ||
| 1078 | break; | ||
| 1079 | case 3: | ||
| 1080 | configure_usart3_pins(0); | ||
| 1081 | at91_uarts[i] = &at91sam9260_uart3_device; | ||
| 1082 | at91_clock_associate("usart3_clk", &at91sam9260_uart3_device.dev, "usart"); | ||
| 1083 | break; | ||
| 1084 | case 4: | ||
| 1085 | configure_usart4_pins(); | ||
| 1086 | at91_uarts[i] = &at91sam9260_uart4_device; | ||
| 1087 | at91_clock_associate("usart4_clk", &at91sam9260_uart4_device.dev, "usart"); | ||
| 1088 | break; | ||
| 1089 | case 5: | ||
| 1090 | configure_usart5_pins(); | ||
| 1091 | at91_uarts[i] = &at91sam9260_uart5_device; | ||
| 1092 | at91_clock_associate("usart5_clk", &at91sam9260_uart5_device.dev, "usart"); | ||
| 1093 | break; | ||
| 1094 | case 6: | ||
| 1095 | configure_dbgu_pins(); | ||
| 1096 | at91_uarts[i] = &at91sam9260_dbgu_device; | ||
| 1097 | at91_clock_associate("mck", &at91sam9260_dbgu_device.dev, "usart"); | ||
| 1098 | break; | ||
| 1099 | default: | ||
| 1100 | continue; | ||
| 1101 | } | ||
| 1102 | at91_uarts[i]->id = i; /* update ID number to mapped ID */ | ||
| 1103 | } | ||
| 1104 | |||
| 1105 | /* Set serial console device */ | ||
| 1106 | if (config->console_tty < ATMEL_MAX_UART) | ||
| 1107 | atmel_default_console_device = at91_uarts[config->console_tty]; | ||
| 1108 | if (!atmel_default_console_device) | ||
| 1109 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1110 | } | ||
| 1111 | |||
| 1112 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) | 1057 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) |
| 1113 | { | 1058 | { |
| 1114 | struct platform_device *pdev; | 1059 | struct platform_device *pdev; |
| @@ -1162,8 +1107,6 @@ void __init at91_set_serial_console(unsigned portnr) | |||
| 1162 | { | 1107 | { |
| 1163 | if (portnr < ATMEL_MAX_UART) | 1108 | if (portnr < ATMEL_MAX_UART) |
| 1164 | atmel_default_console_device = at91_uarts[portnr]; | 1109 | atmel_default_console_device = at91_uarts[portnr]; |
| 1165 | if (!atmel_default_console_device) | ||
| 1166 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1167 | } | 1110 | } |
| 1168 | 1111 | ||
| 1169 | void __init at91_add_device_serial(void) | 1112 | void __init at91_add_device_serial(void) |
| @@ -1174,9 +1117,11 @@ void __init at91_add_device_serial(void) | |||
| 1174 | if (at91_uarts[i]) | 1117 | if (at91_uarts[i]) |
| 1175 | platform_device_register(at91_uarts[i]); | 1118 | platform_device_register(at91_uarts[i]); |
| 1176 | } | 1119 | } |
| 1120 | |||
| 1121 | if (!atmel_default_console_device) | ||
| 1122 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1177 | } | 1123 | } |
| 1178 | #else | 1124 | #else |
| 1179 | void __init __deprecated at91_init_serial(struct at91_uart_config *config) {} | ||
| 1180 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} | 1125 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} |
| 1181 | void __init at91_set_serial_console(unsigned portnr) {} | 1126 | void __init at91_set_serial_console(unsigned portnr) {} |
| 1182 | void __init at91_add_device_serial(void) {} | 1127 | void __init at91_add_device_serial(void) {} |
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c index 03cd32482eac..37cd547855b1 100644 --- a/arch/arm/mach-at91/at91sam9261_devices.c +++ b/arch/arm/mach-at91/at91sam9261_devices.c | |||
| @@ -987,49 +987,9 @@ static inline void configure_usart2_pins(unsigned pins) | |||
| 987 | at91_set_B_periph(AT91_PIN_PA16, 0); /* CTS2 */ | 987 | at91_set_B_periph(AT91_PIN_PA16, 0); /* CTS2 */ |
| 988 | } | 988 | } |
| 989 | 989 | ||
| 990 | static struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ | 990 | static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ |
| 991 | struct platform_device *atmel_default_console_device; /* the serial console device */ | 991 | struct platform_device *atmel_default_console_device; /* the serial console device */ |
| 992 | 992 | ||
| 993 | void __init __deprecated at91_init_serial(struct at91_uart_config *config) | ||
| 994 | { | ||
| 995 | int i; | ||
| 996 | |||
| 997 | /* Fill in list of supported UARTs */ | ||
| 998 | for (i = 0; i < config->nr_tty; i++) { | ||
| 999 | switch (config->tty_map[i]) { | ||
| 1000 | case 0: | ||
| 1001 | configure_usart0_pins(ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
| 1002 | at91_uarts[i] = &at91sam9261_uart0_device; | ||
| 1003 | at91_clock_associate("usart0_clk", &at91sam9261_uart0_device.dev, "usart"); | ||
| 1004 | break; | ||
| 1005 | case 1: | ||
| 1006 | configure_usart1_pins(0); | ||
| 1007 | at91_uarts[i] = &at91sam9261_uart1_device; | ||
| 1008 | at91_clock_associate("usart1_clk", &at91sam9261_uart1_device.dev, "usart"); | ||
| 1009 | break; | ||
| 1010 | case 2: | ||
| 1011 | configure_usart2_pins(0); | ||
| 1012 | at91_uarts[i] = &at91sam9261_uart2_device; | ||
| 1013 | at91_clock_associate("usart2_clk", &at91sam9261_uart2_device.dev, "usart"); | ||
| 1014 | break; | ||
| 1015 | case 3: | ||
| 1016 | configure_dbgu_pins(); | ||
| 1017 | at91_uarts[i] = &at91sam9261_dbgu_device; | ||
| 1018 | at91_clock_associate("mck", &at91sam9261_dbgu_device.dev, "usart"); | ||
| 1019 | break; | ||
| 1020 | default: | ||
| 1021 | continue; | ||
| 1022 | } | ||
| 1023 | at91_uarts[i]->id = i; /* update ID number to mapped ID */ | ||
| 1024 | } | ||
| 1025 | |||
| 1026 | /* Set serial console device */ | ||
| 1027 | if (config->console_tty < ATMEL_MAX_UART) | ||
| 1028 | atmel_default_console_device = at91_uarts[config->console_tty]; | ||
| 1029 | if (!atmel_default_console_device) | ||
| 1030 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1031 | } | ||
| 1032 | |||
| 1033 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) | 993 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) |
| 1034 | { | 994 | { |
| 1035 | struct platform_device *pdev; | 995 | struct platform_device *pdev; |
| @@ -1068,8 +1028,6 @@ void __init at91_set_serial_console(unsigned portnr) | |||
| 1068 | { | 1028 | { |
| 1069 | if (portnr < ATMEL_MAX_UART) | 1029 | if (portnr < ATMEL_MAX_UART) |
| 1070 | atmel_default_console_device = at91_uarts[portnr]; | 1030 | atmel_default_console_device = at91_uarts[portnr]; |
| 1071 | if (!atmel_default_console_device) | ||
| 1072 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1073 | } | 1031 | } |
| 1074 | 1032 | ||
| 1075 | void __init at91_add_device_serial(void) | 1033 | void __init at91_add_device_serial(void) |
| @@ -1080,9 +1038,11 @@ void __init at91_add_device_serial(void) | |||
| 1080 | if (at91_uarts[i]) | 1038 | if (at91_uarts[i]) |
| 1081 | platform_device_register(at91_uarts[i]); | 1039 | platform_device_register(at91_uarts[i]); |
| 1082 | } | 1040 | } |
| 1041 | |||
| 1042 | if (!atmel_default_console_device) | ||
| 1043 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1083 | } | 1044 | } |
| 1084 | #else | 1045 | #else |
| 1085 | void __init __deprecated at91_init_serial(struct at91_uart_config *config) {} | ||
| 1086 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} | 1046 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} |
| 1087 | void __init at91_set_serial_console(unsigned portnr) {} | 1047 | void __init at91_set_serial_console(unsigned portnr) {} |
| 1088 | void __init at91_add_device_serial(void) {} | 1048 | void __init at91_add_device_serial(void) {} |
diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c index c81842c02706..b6454c525962 100644 --- a/arch/arm/mach-at91/at91sam9263_devices.c +++ b/arch/arm/mach-at91/at91sam9263_devices.c | |||
| @@ -975,9 +975,6 @@ static inline void configure_ssc1_pins(unsigned pins) | |||
| 975 | } | 975 | } |
| 976 | 976 | ||
| 977 | /* | 977 | /* |
| 978 | * Return the device node so that board init code can use it as the | ||
| 979 | * parent for the device node reflecting how it's used on this board. | ||
| 980 | * | ||
| 981 | * SSC controllers are accessed through library code, instead of any | 978 | * SSC controllers are accessed through library code, instead of any |
| 982 | * kind of all-singing/all-dancing driver. For example one could be | 979 | * kind of all-singing/all-dancing driver. For example one could be |
| 983 | * used by a particular I2S audio codec's driver, while another one | 980 | * used by a particular I2S audio codec's driver, while another one |
| @@ -1188,49 +1185,9 @@ static inline void configure_usart2_pins(unsigned pins) | |||
| 1188 | at91_set_B_periph(AT91_PIN_PD6, 0); /* CTS2 */ | 1185 | at91_set_B_periph(AT91_PIN_PD6, 0); /* CTS2 */ |
| 1189 | } | 1186 | } |
| 1190 | 1187 | ||
| 1191 | static struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ | 1188 | static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ |
| 1192 | struct platform_device *atmel_default_console_device; /* the serial console device */ | 1189 | struct platform_device *atmel_default_console_device; /* the serial console device */ |
| 1193 | 1190 | ||
| 1194 | void __init __deprecated at91_init_serial(struct at91_uart_config *config) | ||
| 1195 | { | ||
| 1196 | int i; | ||
| 1197 | |||
| 1198 | /* Fill in list of supported UARTs */ | ||
| 1199 | for (i = 0; i < config->nr_tty; i++) { | ||
| 1200 | switch (config->tty_map[i]) { | ||
| 1201 | case 0: | ||
| 1202 | configure_usart0_pins(ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
| 1203 | at91_uarts[i] = &at91sam9263_uart0_device; | ||
| 1204 | at91_clock_associate("usart0_clk", &at91sam9263_uart0_device.dev, "usart"); | ||
| 1205 | break; | ||
| 1206 | case 1: | ||
| 1207 | configure_usart1_pins(ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
| 1208 | at91_uarts[i] = &at91sam9263_uart1_device; | ||
| 1209 | at91_clock_associate("usart1_clk", &at91sam9263_uart1_device.dev, "usart"); | ||
| 1210 | break; | ||
| 1211 | case 2: | ||
| 1212 | configure_usart2_pins(ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
| 1213 | at91_uarts[i] = &at91sam9263_uart2_device; | ||
| 1214 | at91_clock_associate("usart2_clk", &at91sam9263_uart2_device.dev, "usart"); | ||
| 1215 | break; | ||
| 1216 | case 3: | ||
| 1217 | configure_dbgu_pins(); | ||
| 1218 | at91_uarts[i] = &at91sam9263_dbgu_device; | ||
| 1219 | at91_clock_associate("mck", &at91sam9263_dbgu_device.dev, "usart"); | ||
| 1220 | break; | ||
| 1221 | default: | ||
| 1222 | continue; | ||
| 1223 | } | ||
| 1224 | at91_uarts[i]->id = i; /* update ID number to mapped ID */ | ||
| 1225 | } | ||
| 1226 | |||
| 1227 | /* Set serial console device */ | ||
| 1228 | if (config->console_tty < ATMEL_MAX_UART) | ||
| 1229 | atmel_default_console_device = at91_uarts[config->console_tty]; | ||
| 1230 | if (!atmel_default_console_device) | ||
| 1231 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1232 | } | ||
| 1233 | |||
| 1234 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) | 1191 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) |
| 1235 | { | 1192 | { |
| 1236 | struct platform_device *pdev; | 1193 | struct platform_device *pdev; |
| @@ -1269,8 +1226,6 @@ void __init at91_set_serial_console(unsigned portnr) | |||
| 1269 | { | 1226 | { |
| 1270 | if (portnr < ATMEL_MAX_UART) | 1227 | if (portnr < ATMEL_MAX_UART) |
| 1271 | atmel_default_console_device = at91_uarts[portnr]; | 1228 | atmel_default_console_device = at91_uarts[portnr]; |
| 1272 | if (!atmel_default_console_device) | ||
| 1273 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1274 | } | 1229 | } |
| 1275 | 1230 | ||
| 1276 | void __init at91_add_device_serial(void) | 1231 | void __init at91_add_device_serial(void) |
| @@ -1281,9 +1236,11 @@ void __init at91_add_device_serial(void) | |||
| 1281 | if (at91_uarts[i]) | 1236 | if (at91_uarts[i]) |
| 1282 | platform_device_register(at91_uarts[i]); | 1237 | platform_device_register(at91_uarts[i]); |
| 1283 | } | 1238 | } |
| 1239 | |||
| 1240 | if (!atmel_default_console_device) | ||
| 1241 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 1284 | } | 1242 | } |
| 1285 | #else | 1243 | #else |
| 1286 | void __init at91_init_serial(struct at91_uart_config *config) {} | ||
| 1287 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} | 1244 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} |
| 1288 | void __init at91_set_serial_console(unsigned portnr) {} | 1245 | void __init at91_set_serial_console(unsigned portnr) {} |
| 1289 | void __init at91_add_device_serial(void) {} | 1246 | void __init at91_add_device_serial(void) {} |
diff --git a/arch/arm/mach-at91/at91sam9rl_devices.c b/arch/arm/mach-at91/at91sam9rl_devices.c index 892262a71d01..dbb9a5fc2090 100644 --- a/arch/arm/mach-at91/at91sam9rl_devices.c +++ b/arch/arm/mach-at91/at91sam9rl_devices.c | |||
| @@ -593,9 +593,6 @@ static inline void configure_ssc1_pins(unsigned pins) | |||
| 593 | } | 593 | } |
| 594 | 594 | ||
| 595 | /* | 595 | /* |
| 596 | * Return the device node so that board init code can use it as the | ||
| 597 | * parent for the device node reflecting how it's used on this board. | ||
| 598 | * | ||
| 599 | * SSC controllers are accessed through library code, instead of any | 596 | * SSC controllers are accessed through library code, instead of any |
| 600 | * kind of all-singing/all-dancing driver. For example one could be | 597 | * kind of all-singing/all-dancing driver. For example one could be |
| 601 | * used by a particular I2S audio codec's driver, while another one | 598 | * used by a particular I2S audio codec's driver, while another one |
| @@ -856,54 +853,9 @@ static inline void configure_usart3_pins(unsigned pins) | |||
| 856 | at91_set_B_periph(AT91_PIN_PD3, 0); /* CTS3 */ | 853 | at91_set_B_periph(AT91_PIN_PD3, 0); /* CTS3 */ |
| 857 | } | 854 | } |
| 858 | 855 | ||
| 859 | static struct platform_device *at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ | 856 | static struct platform_device *__initdata at91_uarts[ATMEL_MAX_UART]; /* the UARTs to use */ |
| 860 | struct platform_device *atmel_default_console_device; /* the serial console device */ | 857 | struct platform_device *atmel_default_console_device; /* the serial console device */ |
| 861 | 858 | ||
| 862 | void __init __deprecated at91_init_serial(struct at91_uart_config *config) | ||
| 863 | { | ||
| 864 | int i; | ||
| 865 | |||
| 866 | /* Fill in list of supported UARTs */ | ||
| 867 | for (i = 0; i < config->nr_tty; i++) { | ||
| 868 | switch (config->tty_map[i]) { | ||
| 869 | case 0: | ||
| 870 | configure_usart0_pins(ATMEL_UART_CTS | ATMEL_UART_RTS); | ||
| 871 | at91_uarts[i] = &at91sam9rl_uart0_device; | ||
| 872 | at91_clock_associate("usart0_clk", &at91sam9rl_uart0_device.dev, "usart"); | ||
| 873 | break; | ||
| 874 | case 1: | ||
| 875 | configure_usart1_pins(0); | ||
| 876 | at91_uarts[i] = &at91sam9rl_uart1_device; | ||
| 877 | at91_clock_associate("usart1_clk", &at91sam9rl_uart1_device.dev, "usart"); | ||
| 878 | break; | ||
| 879 | case 2: | ||
| 880 | configure_usart2_pins(0); | ||
| 881 | at91_uarts[i] = &at91sam9rl_uart2_device; | ||
| 882 | at91_clock_associate("usart2_clk", &at91sam9rl_uart2_device.dev, "usart"); | ||
| 883 | break; | ||
| 884 | case 3: | ||
| 885 | configure_usart3_pins(0); | ||
| 886 | at91_uarts[i] = &at91sam9rl_uart3_device; | ||
| 887 | at91_clock_associate("usart3_clk", &at91sam9rl_uart3_device.dev, "usart"); | ||
| 888 | break; | ||
| 889 | case 4: | ||
| 890 | configure_dbgu_pins(); | ||
| 891 | at91_uarts[i] = &at91sam9rl_dbgu_device; | ||
| 892 | at91_clock_associate("mck", &at91sam9rl_dbgu_device.dev, "usart"); | ||
| 893 | break; | ||
| 894 | default: | ||
| 895 | continue; | ||
| 896 | } | ||
| 897 | at91_uarts[i]->id = i; /* update ID number to mapped ID */ | ||
| 898 | } | ||
| 899 | |||
| 900 | /* Set serial console device */ | ||
| 901 | if (config->console_tty < ATMEL_MAX_UART) | ||
| 902 | atmel_default_console_device = at91_uarts[config->console_tty]; | ||
| 903 | if (!atmel_default_console_device) | ||
| 904 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 905 | } | ||
| 906 | |||
| 907 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) | 859 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) |
| 908 | { | 860 | { |
| 909 | struct platform_device *pdev; | 861 | struct platform_device *pdev; |
| @@ -947,8 +899,6 @@ void __init at91_set_serial_console(unsigned portnr) | |||
| 947 | { | 899 | { |
| 948 | if (portnr < ATMEL_MAX_UART) | 900 | if (portnr < ATMEL_MAX_UART) |
| 949 | atmel_default_console_device = at91_uarts[portnr]; | 901 | atmel_default_console_device = at91_uarts[portnr]; |
| 950 | if (!atmel_default_console_device) | ||
| 951 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 952 | } | 902 | } |
| 953 | 903 | ||
| 954 | void __init at91_add_device_serial(void) | 904 | void __init at91_add_device_serial(void) |
| @@ -959,9 +909,11 @@ void __init at91_add_device_serial(void) | |||
| 959 | if (at91_uarts[i]) | 909 | if (at91_uarts[i]) |
| 960 | platform_device_register(at91_uarts[i]); | 910 | platform_device_register(at91_uarts[i]); |
| 961 | } | 911 | } |
| 912 | |||
| 913 | if (!atmel_default_console_device) | ||
| 914 | printk(KERN_INFO "AT91: No default serial console defined.\n"); | ||
| 962 | } | 915 | } |
| 963 | #else | 916 | #else |
| 964 | void __init __deprecated at91_init_serial(struct at91_uart_config *config) {} | ||
| 965 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} | 917 | void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} |
| 966 | void __init at91_set_serial_console(unsigned portnr) {} | 918 | void __init at91_set_serial_console(unsigned portnr) {} |
| 967 | void __init at91_add_device_serial(void) {} | 919 | void __init at91_add_device_serial(void) {} |
