From: Grant Likely <grant.likely@secretlab.ca>
To: Thierry Reding <thierry.reding@avionic-design.de>,
linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
Arnd Bergmann <arnd@arndb.de>,
Wolfram Sang <w.sang@pengutronix.de>
Subject: Re: [PATCH 00/33] Sanitize devm_request_and_ioremap()
Date: Sat, 09 Feb 2013 13:58:42 +0000 [thread overview]
Message-ID: <20130209135842.5D8D83E30EC@localhost> (raw)
In-Reply-To: <1358762966-20791-1-git-send-email-thierry.reding@avionic-design.de>
On Mon, 21 Jan 2013 11:08:53 +0100, Thierry Reding <thierry.reding@avionic-design.de> wrote:
> Recent discussions about the lack of a meaningful error code returned by
> devm_request_and_ioremap() have triggered this patch series. One common
> issue is that the function returns NULL in all failure cases, making it
> impossible to determine what went wrong exactly. Another problem is that
> people can't seem to agree on what error code to return in case where
> the function fails. Both of these problems lead to inconsistent usage.
>
> This series attempts to fix this by providing a replacement function,
> devm_ioremap_resource(), which returns a pointer to the remapped memory
> region on success and an ERR_PTR()-encoded error code on failure. Users
> can check for failure using the IS_ERR() macro and determine the exact
> cause by extracting the error code using PTR_ERR().
>
> Patch 1 adds the new devm_ioremap_resource() function, which is really
> just a renamed version of devm_request_and_ioremap() that returns
> ERR_PTR()-encoded error codes on failure and makes the old function a
> wrapper around it, returning NULL in case of devm_ioremap_resource()
> failure. Furthermore the patch marks devm_request_and_ioremap() as a
> deprecated function to make it clear that it should no longer be used.
> A semantic patch is included that was used to convert the bulk of the
> existing calls to devm_request_and_ioremap() to the new API. The patch
> is far from perfect and a few occurrences had to be converted or fixed
> up manually.
>
> The remaining patches convert each subsystem separately to use the new
> API.
>
> Thierry
I know that this series has wide support and will probably be merged,
but I'm reply to this for the record. I do not think the ERR_PTR pattern
is a good idea because it goes against expectations of what is and is
not a valid pointer.
Nacked-by: Grant Likely <grant.likely@secretlab.ca>
Greg, if you're merging this series then don't let my objection inhibit
spi & gpio changes. I may not be happy, but I won't be an ass about it.
g.
prev parent reply other threads:[~2013-02-09 13:58 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-21 10:08 [PATCH 00/33] Sanitize devm_request_and_ioremap() Thierry Reding
2013-01-21 10:08 ` [PATCH 01/33] lib: devres: Introduce devm_ioremap_resource() Thierry Reding
2013-01-21 10:26 ` Dmitry Torokhov
2013-01-22 17:40 ` Greg Kroah-Hartman
2013-01-22 21:00 ` Thierry Reding
2013-01-21 10:08 ` [PATCH 02/33] ARM: Convert to devm_ioremap_resource() Thierry Reding
2013-01-21 15:58 ` Russell King - ARM Linux
2013-01-21 16:05 ` Thierry Reding
2013-01-21 16:16 ` Russell King - ARM Linux
2013-01-21 17:23 ` Arnd Bergmann
2013-01-22 17:37 ` Greg Kroah-Hartman
2013-01-21 10:08 ` [PATCH 03/33] MIPS: " Thierry Reding
2013-01-21 10:08 ` [PATCH 04/33] amba: " Thierry Reding
2013-01-21 10:08 ` [PATCH 05/33] ata: " Thierry Reding
2013-01-21 10:08 ` [PATCH 06/33] char: " Thierry Reding
2013-01-21 10:09 ` [PATCH 07/33] dma: " Thierry Reding
2013-01-28 16:00 ` Vinod Koul
2013-01-28 17:20 ` Thierry Reding
2013-01-29 13:11 ` Andy Shevchenko
2013-01-29 13:21 ` Greg Kroah-Hartman
2013-01-21 10:09 ` [PATCH 08/33] gpio: " Thierry Reding
2013-01-21 10:52 ` Viresh Kumar
2013-02-09 13:52 ` Grant Likely
2013-02-11 13:53 ` Linus Walleij
2013-02-11 15:07 ` Russell King - ARM Linux
2013-01-22 10:15 ` Linus Walleij
2013-01-22 10:25 ` Thierry Reding
2013-01-22 16:08 ` Greg Kroah-Hartman
2013-01-22 16:15 ` Thierry Reding
2013-01-23 8:36 ` Linus Walleij
2013-01-22 11:39 ` Gregory CLEMENT
2013-01-22 11:49 ` Thierry Reding
2013-01-21 10:09 ` [PATCH 09/33] drm: " Thierry Reding
2013-01-21 10:09 ` [PATCH 10/33] i2c: " Thierry Reding
2013-01-22 22:30 ` Wolfram Sang
2013-01-21 10:09 ` [PATCH 11/33] iio: " Thierry Reding
2013-01-22 12:12 ` Jonathan Cameron
2013-01-21 10:09 ` [PATCH 12/33] Input: " Thierry Reding
2013-01-21 10:27 ` Dmitry Torokhov
2013-01-21 10:45 ` Viresh Kumar
2013-01-21 10:49 ` Thierry Reding
2013-01-21 10:57 ` Viresh Kumar
2013-01-21 11:00 ` Thierry Reding
2013-01-21 10:09 ` [PATCH 13/33] iommu: " Thierry Reding
2013-01-21 10:09 ` [PATCH 14/33] media: " Thierry Reding
2013-01-22 11:04 ` Sylwester Nawrocki
2013-01-21 10:09 ` [PATCH 15/33] memory: " Thierry Reding
2013-01-21 10:09 ` [PATCH 16/33] mfd: " Thierry Reding
2013-02-03 17:22 ` Samuel Ortiz
2013-02-03 22:32 ` Samuel Ortiz
2013-01-21 10:09 ` [PATCH 17/33] misc: " Thierry Reding
2013-01-21 10:09 ` [PATCH 18/33] mmc: " Thierry Reding
2013-01-21 10:09 ` [PATCH 19/33] mtd: " Thierry Reding
2013-01-21 10:09 ` [PATCH 20/33] net: " Thierry Reding
2013-01-21 20:29 ` David Miller
2013-01-22 6:56 ` Thierry Reding
2013-01-22 13:03 ` Arnd Bergmann
2013-01-22 13:09 ` Thierry Reding
2013-01-22 13:17 ` Arnd Bergmann
2013-01-22 19:08 ` David Miller
2013-01-22 18:58 ` David Miller
2013-01-21 10:09 ` [PATCH 21/33] pinctrl: " Thierry Reding
2013-01-21 10:50 ` Viresh Kumar
2013-01-21 10:09 ` [PATCH 22/33] power: " Thierry Reding
2013-01-21 10:09 ` [PATCH 23/33] pwm: " Thierry Reding
2013-01-21 10:49 ` Viresh Kumar
2013-01-21 10:09 ` [PATCH 24/33] rtc: " Thierry Reding
2013-01-21 10:50 ` Viresh Kumar
2013-01-21 10:09 ` [PATCH 25/33] spi: " Thierry Reding
2013-02-05 14:20 ` Grant Likely
2013-01-21 10:09 ` [PATCH 26/33] staging: " Thierry Reding
2013-01-21 10:09 ` [PATCH 27/33] thermal: " Thierry Reding
2013-01-21 10:09 ` [PATCH 28/33] serial: " Thierry Reding
2013-01-21 10:09 ` [PATCH 29/33] usb: " Thierry Reding
2013-01-21 17:16 ` Alan Stern
2013-01-21 18:50 ` Felipe Balbi
2013-01-21 10:09 ` [PATCH 30/33] video: " Thierry Reding
2013-01-22 4:17 ` Jingoo Han
2013-01-21 10:09 ` [PATCH 31/33] w1: " Thierry Reding
2013-01-21 10:27 ` Evgeniy Polyakov
2013-01-21 10:09 ` [PATCH 32/33] watchdog: " Thierry Reding
2013-01-21 10:09 ` [PATCH 33/33] ASoC: " Thierry Reding
2013-01-22 7:48 ` Mark Brown
2013-01-22 7:55 ` Thierry Reding
2013-01-22 8:01 ` Mark Brown
2013-02-09 13:58 ` Grant Likely [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130209135842.5D8D83E30EC@localhost \
--to=grant.likely@secretlab.ca \
--cc=arnd@arndb.de \
--cc=dmitry.torokhov@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=thierry.reding@avionic-design.de \
--cc=w.sang@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).