Lines Matching defs:adev
3011 pl330_probe(struct amba_device *adev, const struct amba_id *id)
3020 struct device_node *np = adev->dev.of_node;
3022 ret = dma_set_mask_and_coherent(&adev->dev, DMA_BIT_MASK(32));
3027 pl330 = devm_kzalloc(&adev->dev, sizeof(*pl330), GFP_KERNEL);
3032 pd->dev = &adev->dev;
3041 res = &adev->res;
3042 pl330->base = devm_ioremap_resource(&adev->dev, res);
3046 amba_set_drvdata(adev, pl330);
3048 pl330->rstc = devm_reset_control_get_optional(&adev->dev, "dma");
3050 return dev_err_probe(&adev->dev, PTR_ERR(pl330->rstc), "Failed to get reset!\n");
3054 dev_err(&adev->dev, "Couldn't deassert the device from reset!\n");
3059 pl330->rstc_ocp = devm_reset_control_get_optional(&adev->dev, "dma-ocp");
3061 return dev_err_probe(&adev->dev, PTR_ERR(pl330->rstc_ocp),
3066 dev_err(&adev->dev, "Couldn't deassert the device from OCP reset!\n");
3072 irq = adev->irq[i];
3074 ret = devm_request_irq(&adev->dev, irq,
3076 dev_name(&adev->dev), pl330);
3086 pcfg->periph_id = adev->periphid;
3097 dev_warn(&adev->dev, "unable to allocate desc\n");
3115 pch->chan.private = adev->dev.of_node;
3154 dev_err(&adev->dev, "unable to register DMAC\n");
3158 if (adev->dev.of_node) {
3159 ret = of_dma_controller_register(adev->dev.of_node,
3162 dev_err(&adev->dev,
3171 ret = dma_set_max_seg_size(&adev->dev, 1900800);
3173 dev_err(&adev->dev, "unable to set the seg size\n");
3177 dev_info(&adev->dev,
3178 "Loaded driver for PL330 DMAC-%x\n", adev->periphid);
3179 dev_info(&adev->dev,
3184 pm_runtime_irq_safe(&adev->dev);
3185 pm_runtime_use_autosuspend(&adev->dev);
3186 pm_runtime_set_autosuspend_delay(&adev->dev, PL330_AUTOSUSPEND_DELAY);
3187 pm_runtime_mark_last_busy(&adev->dev);
3188 pm_runtime_put_autosuspend(&adev->dev);
3216 static void pl330_remove(struct amba_device *adev)
3218 struct pl330_dmac *pl330 = amba_get_drvdata(adev);
3224 if (adev->dev.of_node)
3225 of_dma_controller_free(adev->dev.of_node);
3228 irq = adev->irq[i];
3230 devm_free_irq(&adev->dev, irq, pl330);