forked from mirrors/linux
		
	spi: pxa2xx: Fix cs_change management
Fix cs_change management so that it is in line with other spi drivers. In the spi core api helpers such as spi_bus_lock/unlock and spi_sync_locked or cs_change field in spi_transfer help to manage chip select from the device driver. The driver was setting the chip select to idle if the message queue was empty despite cs_change or other status field set by spi_bus_lock/unlock or spi_sync_locked. Signed-off-by: Christophe Ricard <christophe-h.ricard@st.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
		
							parent
							
								
									8c3ad488fe
								
							
						
					
					
						commit
						a52db659c7
					
				
					 1 changed files with 2 additions and 3 deletions
				
			
		|  | @ -570,9 +570,8 @@ static void giveback(struct driver_data *drv_data) | |||
| 		/* see if the next and current messages point
 | ||||
| 		 * to the same chip | ||||
| 		 */ | ||||
| 		if (next_msg && next_msg->spi != msg->spi) | ||||
| 			next_msg = NULL; | ||||
| 		if (!next_msg || msg->state == ERROR_STATE) | ||||
| 		if ((next_msg && next_msg->spi != msg->spi) || | ||||
| 		    msg->state == ERROR_STATE) | ||||
| 			cs_deassert(drv_data); | ||||
| 	} | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Christophe Ricard
						Christophe Ricard