Lines Matching defs:drvdata
127 static int apq8016_lpass_alloc_dma_channel(struct lpass_data *drvdata,
130 struct lpass_variant *v = drvdata->variant;
134 chan = find_first_zero_bit(&drvdata->dma_ch_bit_map,
140 chan = find_next_zero_bit(&drvdata->dma_ch_bit_map,
149 set_bit(chan, &drvdata->dma_ch_bit_map);
154 static int apq8016_lpass_free_dma_channel(struct lpass_data *drvdata, int chan, unsigned int dai_id)
156 clear_bit(chan, &drvdata->dma_ch_bit_map);
163 struct lpass_data *drvdata = platform_get_drvdata(pdev);
164 struct lpass_variant *variant = drvdata->variant;
169 drvdata->clks = devm_kcalloc(dev, variant->num_clks,
170 sizeof(*drvdata->clks), GFP_KERNEL);
171 if (!drvdata->clks)
173 drvdata->num_clks = variant->num_clks;
175 for (i = 0; i < drvdata->num_clks; i++)
176 drvdata->clks[i].id = variant->clk_name[i];
178 ret = devm_clk_bulk_get(dev, drvdata->num_clks, drvdata->clks);
184 ret = clk_bulk_prepare_enable(drvdata->num_clks, drvdata->clks);
190 drvdata->ahbix_clk = devm_clk_get(dev, "ahbix-clk");
191 if (IS_ERR(drvdata->ahbix_clk)) {
193 PTR_ERR(drvdata->ahbix_clk));
194 ret = PTR_ERR(drvdata->ahbix_clk);
198 ret = clk_set_rate(drvdata->ahbix_clk, LPASS_AHBIX_CLOCK_FREQUENCY);
204 clk_get_rate(drvdata->ahbix_clk));
206 ret = clk_prepare_enable(drvdata->ahbix_clk);
215 clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
221 struct lpass_data *drvdata = platform_get_drvdata(pdev);
223 clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
224 clk_disable_unprepare(drvdata->ahbix_clk);