Commit aa3348f4 authored by Graf Yang's avatar Graf Yang Committed by Bryan Wu
Browse files

Blackfin arch: Add return value check in bfin_sir_probe(), remove SSYNC().



Signed-off-by: default avatarGraf Yang <graf.yang@analog.com>
Signed-off-by: default avatarBryan Wu <cooloney@kernel.org>
parent 262c3825
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -118,16 +118,25 @@ static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port)

#define DRIVER_NAME "bfin_sir"

static void bfin_sir_hw_init(void)
static int bfin_sir_hw_init(void)
{
	int ret = -ENODEV;
#ifdef CONFIG_BFIN_SIR0
	peripheral_request(P_UART0_TX, DRIVER_NAME);
	peripheral_request(P_UART0_RX, DRIVER_NAME);
	ret = peripheral_request(P_UART0_TX, DRIVER_NAME);
	if (ret)
		return ret;
	ret = peripheral_request(P_UART0_RX, DRIVER_NAME);
	if (ret)
		return ret;
#endif

#ifdef CONFIG_BFIN_SIR1
	peripheral_request(P_UART1_TX, DRIVER_NAME);
	peripheral_request(P_UART1_RX, DRIVER_NAME);
	ret = peripheral_request(P_UART1_TX, DRIVER_NAME);
	if (ret)
		return ret;
	ret = peripheral_request(P_UART1_RX, DRIVER_NAME);
	if (ret)
		return ret;
#endif
	SSYNC();
	return ret;
}
+9 −4
Original line number Diff line number Diff line
@@ -110,11 +110,16 @@ static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port)

#define DRIVER_NAME "bfin_sir"

static void bfin_sir_hw_init(void)
static int bfin_sir_hw_init(void)
{
	int ret = -ENODEV;
#ifdef CONFIG_BFIN_SIR0
	peripheral_request(P_UART0_TX, DRIVER_NAME);
	peripheral_request(P_UART0_RX, DRIVER_NAME);
	ret = peripheral_request(P_UART0_TX, DRIVER_NAME);
	if (ret)
		return ret;
	ret = peripheral_request(P_UART0_RX, DRIVER_NAME);
	if (ret)
		return ret;
#endif
	SSYNC();
	return ret;
}
+15 −6
Original line number Diff line number Diff line
@@ -118,16 +118,25 @@ static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port)

#define DRIVER_NAME "bfin_sir"

static void bfin_sir_hw_init(void)
static int bfin_sir_hw_init(void)
{
	int ret = -ENODEV;
#ifdef CONFIG_BFIN_SIR0
	peripheral_request(P_UART0_TX, DRIVER_NAME);
	peripheral_request(P_UART0_RX, DRIVER_NAME);
	ret = peripheral_request(P_UART0_TX, DRIVER_NAME);
	if (ret)
		return ret;
	ret = peripheral_request(P_UART0_RX, DRIVER_NAME);
	if (ret)
		return ret;
#endif

#ifdef CONFIG_BFIN_SIR1
	peripheral_request(P_UART1_TX, DRIVER_NAME);
	peripheral_request(P_UART1_RX, DRIVER_NAME);
	ret = peripheral_request(P_UART1_TX, DRIVER_NAME);
	if (ret)
		return ret;
	ret = peripheral_request(P_UART1_RX, DRIVER_NAME);
	if (ret)
		return ret;
#endif
	SSYNC();
	return ret;
}
+27 −10
Original line number Diff line number Diff line
@@ -124,26 +124,43 @@ struct bfin_sir_self {

#define DRIVER_NAME "bfin_sir"

static void bfin_sir_hw_init(void)
static int bfin_sir_hw_init(void)
{
	int ret = -ENODEV;
#ifdef CONFIG_BFIN_SIR0
	peripheral_request(P_UART0_TX, DRIVER_NAME);
	peripheral_request(P_UART0_RX, DRIVER_NAME);
	ret = peripheral_request(P_UART0_TX, DRIVER_NAME);
	if (ret)
		return ret;
	ret = peripheral_request(P_UART0_RX, DRIVER_NAME);
	if (ret)
		return ret;
#endif

#ifdef CONFIG_BFIN_SIR1
	peripheral_request(P_UART1_TX, DRIVER_NAME);
	peripheral_request(P_UART1_RX, DRIVER_NAME);
	ret = peripheral_request(P_UART1_TX, DRIVER_NAME);
	if (ret)
		return ret;
	ret = peripheral_request(P_UART1_RX, DRIVER_NAME);
	if (ret)
		return ret;
#endif

#ifdef CONFIG_BFIN_SIR2
	peripheral_request(P_UART2_TX, DRIVER_NAME);
	peripheral_request(P_UART2_RX, DRIVER_NAME);
	ret = peripheral_request(P_UART2_TX, DRIVER_NAME);
	if (ret)
		return ret;
	ret = peripheral_request(P_UART2_RX, DRIVER_NAME);
	if (ret)
		return ret;
#endif

#ifdef CONFIG_BFIN_SIR3
	peripheral_request(P_UART3_TX, DRIVER_NAME);
	peripheral_request(P_UART3_RX, DRIVER_NAME);
	ret = peripheral_request(P_UART3_TX, DRIVER_NAME);
	if (ret)
		return ret;
	ret = peripheral_request(P_UART3_RX, DRIVER_NAME);
	if (ret)
		return ret;
#endif
	SSYNC();
	return ret;
}
+9 −4
Original line number Diff line number Diff line
@@ -110,11 +110,16 @@ static inline void SIR_UART_CLEAR_LSR(struct bfin_sir_port *port)

#define DRIVER_NAME "bfin_sir"

static void bfin_sir_hw_init(void)
static int bfin_sir_hw_init(void)
{
	int ret = -ENODEV;
#ifdef CONFIG_BFIN_SIR0
	peripheral_request(P_UART0_TX, DRIVER_NAME);
	peripheral_request(P_UART0_RX, DRIVER_NAME);
	ret = peripheral_request(P_UART0_TX, DRIVER_NAME);
	if (ret)
		return ret;
	ret = peripheral_request(P_UART0_RX, DRIVER_NAME);
	if (ret)
		return ret;
#endif
	SSYNC();
	return ret;
}