daio_mgr
struct daio_mgr *daio_mgr = atc->rsc_mgrs[DAIO];
daio_mgr->daio_enable(daio_mgr, atc->daios[type]);
daio_mgr->daio_disable(daio_mgr, atc->daios[type]);
daio_mgr->commit_write(daio_mgr);
struct daio_mgr *daio_mgr = NULL;
daio_mgr = (struct daio_mgr *)atc->rsc_mgrs[DAIO];
daio_mgr->put_daio(daio_mgr, daio);
struct daio_mgr *daio_mgr;
daio_mgr = (struct daio_mgr *)atc->rsc_mgrs[DAIO];
err = daio_mgr->get_daio(daio_mgr, &da_desc,
struct daio_mgr *mgr)
struct daio_mgr *mgr = dao->mgr;
struct daio_mgr *mgr)
static int get_daio_rsc(struct daio_mgr *mgr,
static int put_daio_rsc(struct daio_mgr *mgr, struct daio *daio)
static int daio_mgr_enb_daio(struct daio_mgr *mgr, struct daio *daio)
static int daio_mgr_dsb_daio(struct daio_mgr *mgr, struct daio *daio)
struct rsc_mgr *mgr = &((struct daio_mgr *)data)->mgr;
static int daio_imap_add(struct daio_mgr *mgr, struct imapper *entry)
static int daio_imap_delete(struct daio_mgr *mgr, struct imapper *entry)
static int daio_mgr_commit_write(struct daio_mgr *mgr)
struct daio_mgr *daio_mgr;
daio_mgr = kzalloc_obj(*daio_mgr);
if (!daio_mgr)
err = rsc_mgr_init(&daio_mgr->mgr, DAIO, NUM_DAIOTYP, hw);
spin_lock_init(&daio_mgr->mgr_lock);
spin_lock_init(&daio_mgr->imap_lock);
INIT_LIST_HEAD(&daio_mgr->imappers);
list_add(&entry->list, &daio_mgr->imappers);
daio_mgr->init_imap = entry;
daio_mgr->init_imap_added = 1;
daio_mgr->get_daio = get_daio_rsc;
daio_mgr->put_daio = put_daio_rsc;
daio_mgr->daio_enable = daio_mgr_enb_daio;
daio_mgr->daio_disable = daio_mgr_dsb_daio;
daio_mgr->imap_add = daio_imap_add;
daio_mgr->imap_delete = daio_imap_delete;
daio_mgr->commit_write = daio_mgr_commit_write;
daio_mgr->card = hw->card;
hw->daio_mgr_dsb_dao(daio_mgr->mgr.ctrl_blk, i);
hw->daio_mgr_dsb_dai(daio_mgr->mgr.ctrl_blk, i);
hw->daio_mgr_commit_write(hw, daio_mgr->mgr.ctrl_blk);
*rdaio_mgr = daio_mgr;
rsc_mgr_uninit(&daio_mgr->mgr);
kfree(daio_mgr);
struct daio_mgr *daio_mgr = ptr;
scoped_guard(spinlock_irqsave, &daio_mgr->imap_lock) {
free_input_mapper_list(&daio_mgr->imappers);
rsc_mgr_uninit(&daio_mgr->mgr);
kfree(daio_mgr);
int (*get_daio)(struct daio_mgr *mgr,
int (*put_daio)(struct daio_mgr *mgr, struct daio *daio);
int (*daio_enable)(struct daio_mgr *mgr, struct daio *daio);
int (*daio_disable)(struct daio_mgr *mgr, struct daio *daio);
int (*imap_add)(struct daio_mgr *mgr, struct imapper *entry);
int (*imap_delete)(struct daio_mgr *mgr, struct imapper *entry);
int (*commit_write)(struct daio_mgr *mgr);
struct daio_mgr;
struct daio_mgr *mgr;