lkml.org 
[lkml]   [2007]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 37/46] Driver core: use mutex instead of semaphore in DMA pool handler
    Date
    From: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>

    the DMA pool handler uses a semaphore as mutex. use the mutex API
    instead of the (binary) semaphore

    Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---
    drivers/base/dmapool.c | 14 +++++++-------
    1 files changed, 7 insertions(+), 7 deletions(-)

    diff --git a/drivers/base/dmapool.c b/drivers/base/dmapool.c
    index cd467c9..9406259 100644
    --- a/drivers/base/dmapool.c
    +++ b/drivers/base/dmapool.c
    @@ -37,7 +37,7 @@ struct dma_page { /* cacheable header for 'allocation' bytes */

    #define POOL_TIMEOUT_JIFFIES ((100 /* msec */ * HZ) / 1000)

    -static DECLARE_MUTEX (pools_lock);
    +static DEFINE_MUTEX (pools_lock);

    static ssize_t
    show_pools (struct device *dev, struct device_attribute *attr, char *buf)
    @@ -55,7 +55,7 @@ show_pools (struct device *dev, struct device_attribute *attr, char *buf)
    size -= temp;
    next += temp;

    - down (&pools_lock);
    + mutex_lock(&pools_lock);
    list_for_each_entry(pool, &dev->dma_pools, pools) {
    unsigned pages = 0;
    unsigned blocks = 0;
    @@ -73,7 +73,7 @@ show_pools (struct device *dev, struct device_attribute *attr, char *buf)
    size -= temp;
    next += temp;
    }
    - up (&pools_lock);
    + mutex_unlock(&pools_lock);

    return PAGE_SIZE - size;
    }
    @@ -143,7 +143,7 @@ dma_pool_create (const char *name, struct device *dev,
    if (dev) {
    int ret;

    - down (&pools_lock);
    + mutex_lock(&pools_lock);
    if (list_empty (&dev->dma_pools))
    ret = device_create_file (dev, &dev_attr_pools);
    else
    @@ -155,7 +155,7 @@ dma_pool_create (const char *name, struct device *dev,
    kfree(retval);
    retval = NULL;
    }
    - up (&pools_lock);
    + mutex_unlock(&pools_lock);
    } else
    INIT_LIST_HEAD (&retval->pools);

    @@ -231,11 +231,11 @@ pool_free_page (struct dma_pool *pool, struct dma_page *page)
    void
    dma_pool_destroy (struct dma_pool *pool)
    {
    - down (&pools_lock);
    + mutex_lock(&pools_lock);
    list_del (&pool->pools);
    if (pool->dev && list_empty (&pool->dev->dma_pools))
    device_remove_file (pool->dev, &dev_attr_pools);
    - up (&pools_lock);
    + mutex_unlock(&pools_lock);

    while (!list_empty (&pool->page_list)) {
    struct dma_page *page;
    --
    1.5.1.2
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-04-27 21:14    [W:4.144 / U:0.064 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site