linux-stable/scripts/coccinelle/api
Thierry Reding 75096579c3 lib: devres: Introduce devm_ioremap_resource()
The devm_request_and_ioremap() function is very useful and helps avoid a
whole lot of boilerplate. However, one issue that keeps popping up is
its lack of a specific error code to determine which of the steps that
it performs failed. Furthermore, while the function gives an example and
suggests what error code to return on failure, a wide variety of error
codes are used throughout the tree.

In an attempt to fix these problems, this patch adds a new function that
drivers can transition to. The devm_ioremap_resource() returns a pointer
to the remapped I/O memory on success or an ERR_PTR() encoded error code
on failure. Callers can check for failure using IS_ERR() and determine
its cause by extracting the error code using PTR_ERR().

devm_request_and_ioremap() is implemented as a wrapper around the new
API and return NULL on failure as before. This ensures that backwards
compatibility is maintained until all users have been converted to the
new API, at which point the old devm_request_and_ioremap() function
should be removed.

A semantic patch is included which can be used to convert from the old
devm_request_and_ioremap() API to the new devm_ioremap_resource() API.
Some non-trivial cases may require manual intervention, though.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Cc: Arnd Bergmann <arnd@arndb.de>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-22 09:41:43 -08:00
..
alloc
d_find_alias.cocci Coccinelle: add api/d_find_alias.cocci 2012-12-18 15:02:11 -08:00
devm_ioremap_resource.cocci lib: devres: Introduce devm_ioremap_resource() 2013-01-22 09:41:43 -08:00
devm_request_and_ioremap.cocci coccinelle: semantic patches related to devm_ functions (part 1) 2012-01-14 22:39:53 +01:00
err_cast.cocci
kstrdup.cocci scripts/coccinelle: improve the coverage of some semantic patches 2012-01-15 00:05:46 +01:00
memdup.cocci scripts/coccinelle: improve the coverage of some semantic patches 2012-01-15 00:05:46 +01:00
memdup_user.cocci Coccinelle: fix typo in memdup_user.cocci 2012-09-01 08:52:13 -07:00
ptr_ret.cocci scripts/coccinelle: ptr_ret: Add ternary operator version 2012-08-31 16:55:15 +02:00
resource_size.cocci
simple_open.cocci scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open() 2012-04-05 15:25:50 -07:00