diff options
Diffstat (limited to 'include/asm-blackfin/mach-bf527/bfin_sir.h')
-rw-r--r-- | include/asm-blackfin/mach-bf527/bfin_sir.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/include/asm-blackfin/mach-bf527/bfin_sir.h b/include/asm-blackfin/mach-bf527/bfin_sir.h index 0612d0c9501c..cfd8ad4f1f2c 100644 --- a/include/asm-blackfin/mach-bf527/bfin_sir.h +++ b/include/asm-blackfin/mach-bf527/bfin_sir.h | |||
@@ -118,16 +118,25 @@ static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port) | |||
118 | 118 | ||
119 | #define DRIVER_NAME "bfin_sir" | 119 | #define DRIVER_NAME "bfin_sir" |
120 | 120 | ||
121 | static void bfin_sir_hw_init(void) | 121 | static int bfin_sir_hw_init(void) |
122 | { | 122 | { |
123 | int ret = -ENODEV; | ||
123 | #ifdef CONFIG_BFIN_SIR0 | 124 | #ifdef CONFIG_BFIN_SIR0 |
124 | peripheral_request(P_UART0_TX, DRIVER_NAME); | 125 | ret = peripheral_request(P_UART0_TX, DRIVER_NAME); |
125 | peripheral_request(P_UART0_RX, DRIVER_NAME); | 126 | if (ret) |
127 | return ret; | ||
128 | ret = peripheral_request(P_UART0_RX, DRIVER_NAME); | ||
129 | if (ret) | ||
130 | return ret; | ||
126 | #endif | 131 | #endif |
127 | 132 | ||
128 | #ifdef CONFIG_BFIN_SIR1 | 133 | #ifdef CONFIG_BFIN_SIR1 |
129 | peripheral_request(P_UART1_TX, DRIVER_NAME); | 134 | ret = peripheral_request(P_UART1_TX, DRIVER_NAME); |
130 | peripheral_request(P_UART1_RX, DRIVER_NAME); | 135 | if (ret) |
136 | return ret; | ||
137 | ret = peripheral_request(P_UART1_RX, DRIVER_NAME); | ||
138 | if (ret) | ||
139 | return ret; | ||
131 | #endif | 140 | #endif |
132 | SSYNC(); | 141 | return ret; |
133 | } | 142 | } |