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

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to