Lines Matching defs:uioinfo
33 struct uio_info *uioinfo;
55 uiomem = &priv->uioinfo->mem[priv->dmem_region_start];
58 while (!priv->refcnt && uiomem < &priv->uioinfo->mem[MAX_UIO_MAPS]) {
88 uiomem = &priv->uioinfo->mem[priv->dmem_region_start];
93 while (!priv->refcnt && uiomem < &priv->uioinfo->mem[MAX_UIO_MAPS]) {
162 struct uio_info *uioinfo = &pdata->uioinfo;
169 /* alloc uioinfo for one device */
170 uioinfo = devm_kzalloc(&pdev->dev, sizeof(*uioinfo), GFP_KERNEL);
171 if (!uioinfo) {
175 uioinfo->name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "%pOFn",
177 uioinfo->version = "devicetree";
180 if (!uioinfo || !uioinfo->name || !uioinfo->version) {
185 if (uioinfo->handler || uioinfo->irqcontrol ||
186 uioinfo->irq_flags & IRQF_SHARED) {
203 priv->uioinfo = uioinfo;
209 if (!uioinfo->irq) {
216 uioinfo->irq = ret;
219 if (uioinfo->irq) {
220 struct irq_data *irq_data = irq_get_irq_data(uioinfo->irq);
232 irq_set_status_flags(uioinfo->irq, IRQ_DISABLE_UNLAZY);
236 uiomem = &uioinfo->mem[0];
244 if (uiomem >= &uioinfo->mem[MAX_UIO_MAPS]) {
257 priv->dmem_region_start = uiomem - &uioinfo->mem[0];
261 if (uiomem >= &uioinfo->mem[MAX_UIO_MAPS]) {
273 while (uiomem < &uioinfo->mem[MAX_UIO_MAPS]) {
287 uioinfo->handler = uio_dmem_genirq_handler;
288 uioinfo->irqcontrol = uio_dmem_genirq_irqcontrol;
289 uioinfo->open = uio_dmem_genirq_open;
290 uioinfo->release = uio_dmem_genirq_release;
291 uioinfo->priv = priv;
304 return devm_uio_register_device(&pdev->dev, priv->uioinfo);