Lines Matching refs:tscadc

138 	struct ti_tscadc_dev	*tscadc;  in ti_tscadc_probe()  local
185 tscadc = devm_kzalloc(&pdev->dev, in ti_tscadc_probe()
187 if (!tscadc) { in ti_tscadc_probe()
191 tscadc->dev = &pdev->dev; in ti_tscadc_probe()
198 tscadc->irq = err; in ti_tscadc_probe()
201 tscadc->tscadc_base = devm_ioremap_resource(&pdev->dev, res); in ti_tscadc_probe()
202 if (IS_ERR(tscadc->tscadc_base)) in ti_tscadc_probe()
203 return PTR_ERR(tscadc->tscadc_base); in ti_tscadc_probe()
205 tscadc->regmap_tscadc = devm_regmap_init_mmio(&pdev->dev, in ti_tscadc_probe()
206 tscadc->tscadc_base, &tscadc_regmap_config); in ti_tscadc_probe()
207 if (IS_ERR(tscadc->regmap_tscadc)) { in ti_tscadc_probe()
209 err = PTR_ERR(tscadc->regmap_tscadc); in ti_tscadc_probe()
213 spin_lock_init(&tscadc->reg_lock); in ti_tscadc_probe()
214 init_waitqueue_head(&tscadc->reg_se_wait); in ti_tscadc_probe()
235 tscadc->clk_div = clock_rate / ADC_CLK; in ti_tscadc_probe()
238 tscadc->clk_div--; in ti_tscadc_probe()
239 tscadc_writel(tscadc, REG_CLKDIV, tscadc->clk_div); in ti_tscadc_probe()
243 tscadc_writel(tscadc, REG_CTRL, ctrl); in ti_tscadc_probe()
247 tscadc->tsc_wires = tsc_wires; in ti_tscadc_probe()
252 tscadc_idle_config(tscadc); in ti_tscadc_probe()
257 tscadc_writel(tscadc, REG_CTRL, ctrl); in ti_tscadc_probe()
259 tscadc->used_cells = 0; in ti_tscadc_probe()
260 tscadc->tsc_cell = -1; in ti_tscadc_probe()
261 tscadc->adc_cell = -1; in ti_tscadc_probe()
265 tscadc->tsc_cell = tscadc->used_cells; in ti_tscadc_probe()
266 cell = &tscadc->cells[tscadc->used_cells++]; in ti_tscadc_probe()
269 cell->platform_data = &tscadc; in ti_tscadc_probe()
270 cell->pdata_size = sizeof(tscadc); in ti_tscadc_probe()
275 tscadc->adc_cell = tscadc->used_cells; in ti_tscadc_probe()
276 cell = &tscadc->cells[tscadc->used_cells++]; in ti_tscadc_probe()
279 cell->platform_data = &tscadc; in ti_tscadc_probe()
280 cell->pdata_size = sizeof(tscadc); in ti_tscadc_probe()
283 err = mfd_add_devices(&pdev->dev, pdev->id, tscadc->cells, in ti_tscadc_probe()
284 tscadc->used_cells, NULL, 0, NULL); in ti_tscadc_probe()
289 platform_set_drvdata(pdev, tscadc); in ti_tscadc_probe()
301 struct ti_tscadc_dev *tscadc = platform_get_drvdata(pdev); in ti_tscadc_remove() local
303 tscadc_writel(tscadc, REG_SE, 0x00); in ti_tscadc_remove()
308 mfd_remove_devices(tscadc->dev); in ti_tscadc_remove()