Lines Matching refs:dpio_dev

41 static void unregister_dpio_irq_handlers(struct fsl_mc_device *dpio_dev)  in unregister_dpio_irq_handlers()  argument
45 irq = dpio_dev->irqs[0]; in unregister_dpio_irq_handlers()
51 static int register_dpio_irq_handlers(struct fsl_mc_device *dpio_dev, int cpu) in register_dpio_irq_handlers() argument
58 priv = dev_get_drvdata(&dpio_dev->dev); in register_dpio_irq_handlers()
60 irq = dpio_dev->irqs[0]; in register_dpio_irq_handlers()
61 error = devm_request_irq(&dpio_dev->dev, in register_dpio_irq_handlers()
65 dev_name(&dpio_dev->dev), in register_dpio_irq_handlers()
66 &dpio_dev->dev); in register_dpio_irq_handlers()
68 dev_err(&dpio_dev->dev, in register_dpio_irq_handlers()
78 dev_err(&dpio_dev->dev, in register_dpio_irq_handlers()
85 static int dpaa2_dpio_probe(struct fsl_mc_device *dpio_dev) in dpaa2_dpio_probe() argument
91 struct device *dev = &dpio_dev->dev; in dpaa2_dpio_probe()
100 err = fsl_mc_portal_allocate(dpio_dev, 0, &dpio_dev->mc_io); in dpaa2_dpio_probe()
107 err = dpio_open(dpio_dev->mc_io, 0, dpio_dev->obj_desc.id, in dpaa2_dpio_probe()
108 &dpio_dev->mc_handle); in dpaa2_dpio_probe()
114 err = dpio_get_attributes(dpio_dev->mc_io, 0, dpio_dev->mc_handle, in dpaa2_dpio_probe()
122 err = dpio_enable(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
131 desc.dpio_id = dpio_dev->obj_desc.id; in dpaa2_dpio_probe()
150 desc.regs_cena = devm_memremap(dev, dpio_dev->regions[1].start, in dpaa2_dpio_probe()
151 resource_size(&dpio_dev->regions[1]), in dpaa2_dpio_probe()
159 desc.regs_cinh = devm_ioremap(dev, dpio_dev->regions[1].start, in dpaa2_dpio_probe()
160 resource_size(&dpio_dev->regions[1])); in dpaa2_dpio_probe()
167 err = fsl_mc_allocate_irqs(dpio_dev); in dpaa2_dpio_probe()
173 err = register_dpio_irq_handlers(dpio_dev, desc.cpu); in dpaa2_dpio_probe()
187 dpio_close(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
188 fsl_mc_portal_free(dpio_dev->mc_io); in dpaa2_dpio_probe()
193 unregister_dpio_irq_handlers(dpio_dev); in dpaa2_dpio_probe()
195 fsl_mc_free_irqs(dpio_dev); in dpaa2_dpio_probe()
197 dpio_disable(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
199 dpio_close(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_probe()
201 fsl_mc_portal_free(dpio_dev->mc_io); in dpaa2_dpio_probe()
207 static void dpio_teardown_irqs(struct fsl_mc_device *dpio_dev) in dpio_teardown_irqs() argument
209 unregister_dpio_irq_handlers(dpio_dev); in dpio_teardown_irqs()
210 fsl_mc_free_irqs(dpio_dev); in dpio_teardown_irqs()
213 static int dpaa2_dpio_remove(struct fsl_mc_device *dpio_dev) in dpaa2_dpio_remove() argument
219 dev = &dpio_dev->dev; in dpaa2_dpio_remove()
224 dpio_teardown_irqs(dpio_dev); in dpaa2_dpio_remove()
226 err = fsl_mc_portal_allocate(dpio_dev, 0, &dpio_dev->mc_io); in dpaa2_dpio_remove()
232 err = dpio_open(dpio_dev->mc_io, 0, dpio_dev->obj_desc.id, in dpaa2_dpio_remove()
233 &dpio_dev->mc_handle); in dpaa2_dpio_remove()
239 dpio_disable(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_remove()
241 dpio_close(dpio_dev->mc_io, 0, dpio_dev->mc_handle); in dpaa2_dpio_remove()
243 fsl_mc_portal_free(dpio_dev->mc_io); in dpaa2_dpio_remove()
248 fsl_mc_portal_free(dpio_dev->mc_io); in dpaa2_dpio_remove()