diff options
Diffstat (limited to 'drivers/spi/sh_spi.c')
| -rw-r--r-- | drivers/spi/sh_spi.c | 10 | 
1 files changed, 2 insertions, 8 deletions
| diff --git a/drivers/spi/sh_spi.c b/drivers/spi/sh_spi.c index 744afe329..7ca5e363d 100644 --- a/drivers/spi/sh_spi.c +++ b/drivers/spi/sh_spi.c @@ -151,7 +151,6 @@ static int sh_spi_send(struct sh_spi *ss, const unsigned char *tx_data,  {  	int i, cur_len, ret = 0;  	int remain = (int)len; -	unsigned long tmp;  	if (len >= SH_SPI_FIFO_SIZE)  		sh_spi_set_bit(SH_SPI_SSA, &ss->regs->cr1); @@ -183,9 +182,7 @@ static int sh_spi_send(struct sh_spi *ss, const unsigned char *tx_data,  	}  	if (flags & SPI_XFER_END) { -		tmp = sh_spi_read(&ss->regs->cr1); -		tmp = tmp & ~(SH_SPI_SSD | SH_SPI_SSDB); -		sh_spi_write(tmp, &ss->regs->cr1); +		sh_spi_clear_bit(SH_SPI_SSD | SH_SPI_SSDB, &ss->regs->cr1);  		sh_spi_set_bit(SH_SPI_SSA, &ss->regs->cr1);  		udelay(100);  		write_fifo_empty_wait(ss); @@ -198,16 +195,13 @@ static int sh_spi_receive(struct sh_spi *ss, unsigned char *rx_data,  			  unsigned int len, unsigned long flags)  {  	int i; -	unsigned long tmp;  	if (len > SH_SPI_MAX_BYTE)  		sh_spi_write(SH_SPI_MAX_BYTE, &ss->regs->cr3);  	else  		sh_spi_write(len, &ss->regs->cr3); -	tmp = sh_spi_read(&ss->regs->cr1); -	tmp = tmp & ~(SH_SPI_SSD | SH_SPI_SSDB); -	sh_spi_write(tmp, &ss->regs->cr1); +	sh_spi_clear_bit(SH_SPI_SSD | SH_SPI_SSDB, &ss->regs->cr1);  	sh_spi_set_bit(SH_SPI_SSA, &ss->regs->cr1);  	for (i = 0; i < len; i++) { |