91 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			91 lines
		
	
	
	
		
			1.1 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
|   | virtual patch | ||
|  | virtual report | ||
|  | 
 | ||
|  | @depends on patch@ | ||
|  | expression base, dev, res; | ||
|  | @@ | ||
|  | 
 | ||
|  | -base = devm_request_and_ioremap(dev, res); | ||
|  | +base = devm_ioremap_resource(dev, res); | ||
|  |  ... | ||
|  |  if ( | ||
|  | -base == NULL | ||
|  | +IS_ERR(base) | ||
|  |  || ...) { | ||
|  | <... | ||
|  | -	return ...; | ||
|  | +	return PTR_ERR(base); | ||
|  | ...> | ||
|  |  } | ||
|  | 
 | ||
|  | @depends on patch@ | ||
|  | expression e, E, ret; | ||
|  | identifier l; | ||
|  | @@ | ||
|  | 
 | ||
|  |  e = devm_ioremap_resource(...); | ||
|  |  ... | ||
|  |  if (IS_ERR(e) || ...) { | ||
|  |  	... when any | ||
|  | -	ret = E; | ||
|  | +	ret = PTR_ERR(e); | ||
|  |  	... | ||
|  | ( | ||
|  |  	return ret; | ||
|  | | | ||
|  |  	goto l; | ||
|  | ) | ||
|  |  } | ||
|  | 
 | ||
|  | @depends on patch@ | ||
|  | expression e; | ||
|  | @@ | ||
|  | 
 | ||
|  |  e = devm_ioremap_resource(...); | ||
|  |  ... | ||
|  |  if (IS_ERR(e) || ...) { | ||
|  |  	... | ||
|  | -	\(dev_dbg\|dev_err\|pr_debug\|pr_err\|DRM_ERROR\)(...); | ||
|  |  	... | ||
|  |  } | ||
|  | 
 | ||
|  | @depends on patch@ | ||
|  | expression e; | ||
|  | identifier l; | ||
|  | @@ | ||
|  | 
 | ||
|  |  e = devm_ioremap_resource(...); | ||
|  |  ... | ||
|  |  if (IS_ERR(e) || ...) | ||
|  | -{ | ||
|  | ( | ||
|  |  	return ...; | ||
|  | | | ||
|  |  	goto l; | ||
|  | ) | ||
|  | -} | ||
|  | 
 | ||
|  | @r depends on report@ | ||
|  | expression e; | ||
|  | identifier l; | ||
|  | position p1; | ||
|  | @@ | ||
|  | 
 | ||
|  | *e = devm_request_and_ioremap@p1(...); | ||
|  |  ... | ||
|  |  if (e == NULL || ...) { | ||
|  |  	... | ||
|  | ( | ||
|  |  	return ...; | ||
|  | | | ||
|  |  	goto l; | ||
|  | ) | ||
|  |  } | ||
|  | 
 | ||
|  | @script:python depends on r@ | ||
|  | p1 << r.p1; | ||
|  | @@ | ||
|  | 
 | ||
|  | msg = "ERROR: deprecated devm_request_and_ioremap() API used on line %s" % (p1[0].line) | ||
|  | coccilib.report.print_report(p1[0], msg) |