[PATCH 11/31] dma: add channel request API that supports deferred probe
Stephen Warren
swarren at wwwdotorg.org
Mon Nov 25 12:26:18 EST 2013
On 11/22/2013 05:34 PM, Russell King - ARM Linux wrote:
[... various discussions re: IS_ERR, IS_ERR_OR_NULL, etc.]
Russell, so if we document dma_request_slave_channel() as follows:
> /*
> * dma_request_slave_channel - try to allocate an exclusive slave channel
> ...
> * Returns pointer to appropriate DMA channel on success or an error pointer.
> * In order to ease compatibility with other DMA request APIs, this function
> * guarantees NEVER to return NULL.
> */
Are you then OK with clients doing either of e.g.:
chan = dma_request_slave_channel(...);
if (IS_ERR(chan))
// This returns NULL or a valid handle/pointer
chan = dma_request_channel()
if (!chan)
Here, chan is invalid;
return;
Here, chan is valid
or:
if (xxx) {
chan = dma_request_slave_channel(...);
// Convert to same error value as else{} block generates
if (IS_ERR(chan))
chan = NULL
} else {
// This returns NULL or a valid handle/pointer
chan = dma_request_channel()
}
if (!chan)
Here, chan is invalid
return;
Here, chan is valid
More information about the linux-arm-kernel
mailing list