Changeset 498ced1 in mainline for uspace/lib/drv/generic


Ignore:
Timestamp:
2018-08-11T02:43:32Z (7 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
05882233
Parents:
b13d80b
git-author:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-08-11 02:29:02)
git-committer:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-08-11 02:43:32)
Message:

Unify reference counting and remove some unnecessary instances of <atomic.h>

Location:
uspace/lib/drv/generic
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/drv/generic/driver.c

    rb13d80b r498ced1  
    578578static void dev_add_ref(ddf_dev_t *dev)
    579579{
    580         atomic_inc(&dev->refcnt);
     580        refcount_up(&dev->refcnt);
    581581}
    582582
     
    587587static void dev_del_ref(ddf_dev_t *dev)
    588588{
    589         if (atomic_predec(&dev->refcnt) == 0)
     589        if (refcount_down(&dev->refcnt))
    590590                delete_device(dev);
    591591}
     
    600600{
    601601        dev_add_ref(fun->dev);
    602         atomic_inc(&fun->refcnt);
     602        refcount_up(&fun->refcnt);
    603603}
    604604
     
    611611        ddf_dev_t *dev = fun->dev;
    612612
    613         if (atomic_predec(&fun->refcnt) == 0)
     613        if (refcount_down(&fun->refcnt))
    614614                delete_function(fun);
    615615
  • uspace/lib/drv/generic/private/driver.h

    rb13d80b r498ced1  
    3838
    3939#include <async.h>
     40#include <refcount.h>
    4041#include <ipc/devman.h>
    4142#include <ipc/dev_iface.h>
     
    5152
    5253        /** Reference count */
    53         atomic_t refcnt;
     54        atomic_refcount_t refcnt;
    5455
    5556        /** Session with the parent device driver */
     
    7576
    7677        /** Reference count */
    77         atomic_t refcnt;
     78        atomic_refcount_t refcnt;
    7879
    7980        /** Device which this function belogs to */
Note: See TracChangeset for help on using the changeset viewer.