forked from mirrors/linux
		
	drivers: platform: provide devm_platform_ioremap_resource_wc()
Provide a write-combined variant of devm_platform_ioremap_resource(). Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Reviewed-by: Arnd Bergmann <arnd@arndb.de> Link: https://lore.kernel.org/r/20191022084318.22256-5-brgl@bgdev.pl Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
		
							parent
							
								
									b873af620e
								
							
						
					
					
						commit
						bb6243b4f7
					
				
					 3 changed files with 22 additions and 1 deletions
				
			
		|  | @ -318,6 +318,7 @@ IOMAP | |||
|   devm_ioremap_resource() : checks resource, requests memory region, ioremaps | ||||
|   devm_ioremap_resource_wc() | ||||
|   devm_platform_ioremap_resource() : calls devm_ioremap_resource() for platform device | ||||
|   devm_platform_ioremap_resource_wc() | ||||
|   devm_iounmap() | ||||
|   pcim_iomap() | ||||
|   pcim_iomap_regions()	: do request_region() and iomap() on multiple BARs | ||||
|  |  | |||
|  | @ -60,6 +60,7 @@ struct resource *platform_get_resource(struct platform_device *dev, | |||
| } | ||||
| EXPORT_SYMBOL_GPL(platform_get_resource); | ||||
| 
 | ||||
| #ifdef CONFIG_HAS_IOMEM | ||||
| /**
 | ||||
|  * devm_platform_ioremap_resource - call devm_ioremap_resource() for a platform | ||||
|  *				    device | ||||
|  | @ -68,7 +69,6 @@ EXPORT_SYMBOL_GPL(platform_get_resource); | |||
|  *        resource management | ||||
|  * @index: resource index | ||||
|  */ | ||||
| #ifdef CONFIG_HAS_IOMEM | ||||
| void __iomem *devm_platform_ioremap_resource(struct platform_device *pdev, | ||||
| 					     unsigned int index) | ||||
| { | ||||
|  | @ -78,6 +78,23 @@ void __iomem *devm_platform_ioremap_resource(struct platform_device *pdev, | |||
| 	return devm_ioremap_resource(&pdev->dev, res); | ||||
| } | ||||
| EXPORT_SYMBOL_GPL(devm_platform_ioremap_resource); | ||||
| 
 | ||||
| /**
 | ||||
|  * devm_platform_ioremap_resource_wc - write-combined variant of | ||||
|  *                                     devm_platform_ioremap_resource() | ||||
|  * | ||||
|  * @pdev: platform device to use both for memory resource lookup as well as | ||||
|  *        resource management | ||||
|  * @index: resource index | ||||
|  */ | ||||
| void __iomem *devm_platform_ioremap_resource_wc(struct platform_device *pdev, | ||||
| 						unsigned int index) | ||||
| { | ||||
| 	struct resource *res; | ||||
| 
 | ||||
| 	res = platform_get_resource(pdev, IORESOURCE_MEM, index); | ||||
| 	return devm_ioremap_resource_wc(&pdev->dev, res); | ||||
| } | ||||
| #endif /* CONFIG_HAS_IOMEM */ | ||||
| 
 | ||||
| /**
 | ||||
|  |  | |||
|  | @ -57,6 +57,9 @@ platform_find_device_by_driver(struct device *start, | |||
| extern void __iomem * | ||||
| devm_platform_ioremap_resource(struct platform_device *pdev, | ||||
| 			       unsigned int index); | ||||
| extern void __iomem * | ||||
| devm_platform_ioremap_resource_wc(struct platform_device *pdev, | ||||
| 				  unsigned int index); | ||||
| extern int platform_get_irq(struct platform_device *, unsigned int); | ||||
| extern int platform_get_irq_optional(struct platform_device *, unsigned int); | ||||
| extern int platform_irq_count(struct platform_device *); | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Bartosz Golaszewski
						Bartosz Golaszewski