forked from mirrors/linux
		
	dmaengine: Move dma_get_slave_caps() implementation to dmaengine.c
The function is too big to be a static inline. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
		
							parent
							
								
									816070ede7
								
							
						
					
					
						commit
						0d5484b1c3
					
				
					 2 changed files with 34 additions and 31 deletions
				
			
		|  | @ -479,6 +479,39 @@ static void dma_channel_rebalance(void) | |||
| 		} | ||||
| } | ||||
| 
 | ||||
| int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps) | ||||
| { | ||||
| 	struct dma_device *device; | ||||
| 
 | ||||
| 	if (!chan || !caps) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	device = chan->device; | ||||
| 
 | ||||
| 	/* check if the channel supports slave transactions */ | ||||
| 	if (!test_bit(DMA_SLAVE, device->cap_mask.bits)) | ||||
| 		return -ENXIO; | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Check whether it reports it uses the generic slave | ||||
| 	 * capabilities, if not, that means it doesn't support any | ||||
| 	 * kind of slave capabilities reporting. | ||||
| 	 */ | ||||
| 	if (!device->directions) | ||||
| 		return -ENXIO; | ||||
| 
 | ||||
| 	caps->src_addr_widths = device->src_addr_widths; | ||||
| 	caps->dst_addr_widths = device->dst_addr_widths; | ||||
| 	caps->directions = device->directions; | ||||
| 	caps->residue_granularity = device->residue_granularity; | ||||
| 
 | ||||
| 	caps->cmd_pause = !!device->device_pause; | ||||
| 	caps->cmd_terminate = !!device->device_terminate_all; | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(dma_get_slave_caps); | ||||
| 
 | ||||
| static struct dma_chan *private_candidate(const dma_cap_mask_t *mask, | ||||
| 					  struct dma_device *dev, | ||||
| 					  dma_filter_fn fn, void *fn_param) | ||||
|  |  | |||
|  | @ -758,37 +758,7 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_sg( | |||
| 			src_sg, src_nents, flags); | ||||
| } | ||||
| 
 | ||||
| static inline int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps) | ||||
| { | ||||
| 	struct dma_device *device; | ||||
| 
 | ||||
| 	if (!chan || !caps) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	device = chan->device; | ||||
| 
 | ||||
| 	/* check if the channel supports slave transactions */ | ||||
| 	if (!test_bit(DMA_SLAVE, device->cap_mask.bits)) | ||||
| 		return -ENXIO; | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Check whether it reports it uses the generic slave | ||||
| 	 * capabilities, if not, that means it doesn't support any | ||||
| 	 * kind of slave capabilities reporting. | ||||
| 	 */ | ||||
| 	if (!device->directions) | ||||
| 		return -ENXIO; | ||||
| 
 | ||||
| 	caps->src_addr_widths = device->src_addr_widths; | ||||
| 	caps->dst_addr_widths = device->dst_addr_widths; | ||||
| 	caps->directions = device->directions; | ||||
| 	caps->residue_granularity = device->residue_granularity; | ||||
| 
 | ||||
| 	caps->cmd_pause = !!device->device_pause; | ||||
| 	caps->cmd_terminate = !!device->device_terminate_all; | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps); | ||||
| 
 | ||||
| static inline int dmaengine_terminate_all(struct dma_chan *chan) | ||||
| { | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Laurent Pinchart
						Laurent Pinchart