[lkml]   [2013]   [Dec]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH V4] dma: add channel request API that supports deferred probe
    On Tue, Nov 26, 2013 at 10:04:22AM -0700, Stephen Warren wrote:
    > From: Stephen Warren <>
    > dma_request_slave_channel() simply returns NULL whenever DMA channel
    > lookup fails. Lookup could fail for two distinct reasons:
    > a) No DMA specification exists for the channel name.
    > This includes situations where no DMA specifications exist at all, or
    > other general lookup problems.
    > b) A DMA specification does exist, yet the driver for that channel is not
    > yet registered.
    > Case (b) should trigger deferred probe in client drivers. However, since
    > they have no way to differentiate the two situations, it cannot.
    > Implement new function dma_request_slave_channel_reason(), which performs
    > identically to dma_request_slave_channel(), except that it returns an
    > error-pointer rather than NULL, which allows callers to detect when
    > deferred probe should occur.
    > Eventually, all drivers should be converted to this new API, the old API
    > removed, and the new API renamed to the more desirable name. This patch
    > doesn't convert the existing API and all drivers in one go, since some
    > drivers call dma_request_slave_channel() then dma_request_channel() if
    > that fails. That would require either modifying dma_request_channel() in
    > the same way, or adding extra error-handling code to all affected
    > drivers, and there are close to 100 drivers using the other API, rather
    > than just the 15-20 or so that use dma_request_slave_channel(), which
    > might be tenable in a single patch.
    > acpi_dma_request_slave_chan_by_name() doesn't currently implement
    > deferred probe. It should, but this will be addressed later.
    > Acked-by: Dan Williams <>
    > Signed-off-by: Stephen Warren <>
    Applied, to topic/defer_probe, this wont be rebased so feel free to merge


     \ /
      Last update: 2013-12-10 14:41    [W:0.293 / U:30.560 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site