stm32_dmamux
struct stm32_dmamux_data *stm32_dmamux;
stm32_dmamux = devm_kzalloc(&pdev->dev, sizeof(*stm32_dmamux) +
if (!stm32_dmamux)
&stm32_dmamux->dma_reqs[i])) {
stm32_dmamux->dma_reqs[i] =
dma_req += stm32_dmamux->dma_reqs[i];
stm32_dmamux->dma_requests = dma_req;
stm32_dmamux->dma_reqs[0] = count;
&stm32_dmamux->dmamux_requests)) {
stm32_dmamux->dmamux_requests = STM32_DMAMUX_MAX_REQUESTS;
stm32_dmamux->dmamux_requests);
spin_lock_init(&stm32_dmamux->lock);
stm32_dmamux->clk = devm_clk_get(&pdev->dev, NULL);
if (IS_ERR(stm32_dmamux->clk))
return dev_err_probe(&pdev->dev, PTR_ERR(stm32_dmamux->clk),
ret = clk_prepare_enable(stm32_dmamux->clk);
stm32_dmamux->iomem = iomem;
stm32_dmamux->dmarouter.dev = &pdev->dev;
stm32_dmamux->dmarouter.route_free = stm32_dmamux_free;
platform_set_drvdata(pdev, stm32_dmamux);
for (i = 0; i < stm32_dmamux->dma_requests; i++)
stm32_dmamux_write(stm32_dmamux->iomem, STM32_DMAMUX_CCR(i), 0);
&stm32_dmamux->dmarouter);
clk_disable_unprepare(stm32_dmamux->clk);
struct stm32_dmamux_data *stm32_dmamux = platform_get_drvdata(pdev);
clk_disable_unprepare(stm32_dmamux->clk);
struct stm32_dmamux_data *stm32_dmamux = platform_get_drvdata(pdev);
ret = clk_prepare_enable(stm32_dmamux->clk);
struct stm32_dmamux_data *stm32_dmamux = platform_get_drvdata(pdev);
for (i = 0; i < stm32_dmamux->dma_requests; i++)
stm32_dmamux->ccr[i] = stm32_dmamux_read(stm32_dmamux->iomem,
struct stm32_dmamux_data *stm32_dmamux = platform_get_drvdata(pdev);
for (i = 0; i < stm32_dmamux->dma_requests; i++)
stm32_dmamux_write(stm32_dmamux->iomem, STM32_DMAMUX_CCR(i),
stm32_dmamux->ccr[i]);
struct stm32_dmamux *mux = route_data;
struct stm32_dmamux *mux;