Lines Matching refs:pgmap
101 struct dev_pagemap *pgmap = _pgmap;
103 WARN_ON(!pgmap || !pgmap->ref);
105 if (pgmap->ops && pgmap->ops->kill)
106 pgmap->ops->kill(pgmap);
108 percpu_ref_kill(pgmap->ref);
110 if (pgmap->ops && pgmap->ops->cleanup) {
111 pgmap->ops->cleanup(pgmap);
113 wait_for_completion(&pgmap->done);
114 percpu_ref_exit(pgmap->ref);
120 struct dev_pagemap *pgmap =
123 complete(&pgmap->done);
126 void *__wrap_devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap)
129 resource_size_t offset = pgmap->range.start;
133 return devm_memremap_pages(dev, pgmap);
135 if (!pgmap->ref) {
136 if (pgmap->ops && (pgmap->ops->kill || pgmap->ops->cleanup))
139 init_completion(&pgmap->done);
140 error = percpu_ref_init(&pgmap->internal_ref,
144 pgmap->ref = &pgmap->internal_ref;
146 if (!pgmap->ops || !pgmap->ops->kill || !pgmap->ops->cleanup) {
152 error = devm_add_action_or_reset(dev, nfit_test_kill, pgmap);