Lines Matching defs:drvdata
123 static int apq8016_lpass_alloc_dma_channel(struct lpass_data *drvdata,
126 struct lpass_variant *v = drvdata->variant;
130 chan = find_first_zero_bit(&drvdata->dma_ch_bit_map,
136 chan = find_next_zero_bit(&drvdata->dma_ch_bit_map,
145 set_bit(chan, &drvdata->dma_ch_bit_map);
150 static int apq8016_lpass_free_dma_channel(struct lpass_data *drvdata, int chan, unsigned int dai_id)
152 clear_bit(chan, &drvdata->dma_ch_bit_map);
159 struct lpass_data *drvdata = platform_get_drvdata(pdev);
160 struct lpass_variant *variant = drvdata->variant;
165 drvdata->clks = devm_kcalloc(dev, variant->num_clks,
166 sizeof(*drvdata->clks), GFP_KERNEL);
167 if (!drvdata->clks)
169 drvdata->num_clks = variant->num_clks;
171 for (i = 0; i < drvdata->num_clks; i++)
172 drvdata->clks[i].id = variant->clk_name[i];
174 ret = devm_clk_bulk_get(dev, drvdata->num_clks, drvdata->clks);
180 ret = clk_bulk_prepare_enable(drvdata->num_clks, drvdata->clks);
186 drvdata->ahbix_clk = devm_clk_get(dev, "ahbix-clk");
187 if (IS_ERR(drvdata->ahbix_clk)) {
189 PTR_ERR(drvdata->ahbix_clk));
190 ret = PTR_ERR(drvdata->ahbix_clk);
194 ret = clk_set_rate(drvdata->ahbix_clk, LPASS_AHBIX_CLOCK_FREQUENCY);
200 clk_get_rate(drvdata->ahbix_clk));
202 ret = clk_prepare_enable(drvdata->ahbix_clk);
211 clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
217 struct lpass_data *drvdata = platform_get_drvdata(pdev);
219 clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
220 clk_disable_unprepare(drvdata->ahbix_clk);