Lines Matching defs:data
69 struct hisi_thermal_data *data;
81 int (*probe)(struct hisi_thermal_data *data);
285 struct hisi_thermal_data *data = sensor->data;
287 hi6220_thermal_alarm_clear(data->regs, 1);
293 struct hisi_thermal_data *data = sensor->data;
295 hi3660_thermal_alarm_clear(data->regs, sensor->id, 1);
301 struct hisi_thermal_data *data = sensor->data;
303 return hi6220_thermal_get_temperature(data->regs);
308 struct hisi_thermal_data *data = sensor->data;
310 return hi3660_thermal_get_temperature(data->regs, sensor->id);
315 struct hisi_thermal_data *data = sensor->data;
318 hi6220_thermal_enable(data->regs, 0);
319 hi6220_thermal_alarm_enable(data->regs, 0);
320 hi6220_thermal_reset_enable(data->regs, 0);
322 clk_disable_unprepare(data->clk);
329 struct hisi_thermal_data *data = sensor->data;
332 hi3660_thermal_alarm_enable(data->regs, sensor->id, 0);
338 struct hisi_thermal_data *data = sensor->data;
342 ret = clk_prepare_enable(data->clk);
347 hi6220_thermal_reset_enable(data->regs, 0);
348 hi6220_thermal_enable(data->regs, 0);
351 hi6220_thermal_sensor_select(data->regs, sensor->id);
354 hi6220_thermal_hdak_set(data->regs, 0);
357 hi6220_thermal_set_lag(data->regs, HI6220_TEMP_LAG);
360 hi6220_thermal_alarm_set(data->regs, sensor->thres_temp);
362 hi6220_thermal_reset_set(data->regs, HI6220_TEMP_RESET);
365 hi6220_thermal_reset_enable(data->regs, 1);
366 hi6220_thermal_enable(data->regs, 1);
368 hi6220_thermal_alarm_clear(data->regs, 0);
369 hi6220_thermal_alarm_enable(data->regs, 1);
377 struct hisi_thermal_data *data = sensor->data;
380 hi3660_thermal_alarm_enable(data->regs, sensor->id, 0);
383 hi3660_thermal_set_lag(data->regs, sensor->id, HI3660_TEMP_LAG);
387 hi3660_thermal_alarm_set(data->regs, sensor->id, value);
390 hi3660_thermal_alarm_clear(data->regs, sensor->id, 1);
391 hi3660_thermal_alarm_enable(data->regs, sensor->id, 1);
396 static int hi6220_thermal_probe(struct hisi_thermal_data *data)
398 struct platform_device *pdev = data->pdev;
402 data->clk = devm_clk_get(dev, "thermal_clk");
403 if (IS_ERR(data->clk)) {
404 ret = PTR_ERR(data->clk);
410 data->sensor = devm_kzalloc(dev, sizeof(*data->sensor), GFP_KERNEL);
411 if (!data->sensor)
414 data->sensor[0].id = HI6220_CLUSTER0_SENSOR;
415 data->sensor[0].irq_name = "tsensor_intr";
416 data->sensor[0].data = data;
417 data->nr_sensors = 1;
422 static int hi3660_thermal_probe(struct hisi_thermal_data *data)
424 struct platform_device *pdev = data->pdev;
427 data->nr_sensors = 1;
429 data->sensor = devm_kzalloc(dev, sizeof(*data->sensor) *
430 data->nr_sensors, GFP_KERNEL);
431 if (!data->sensor)
434 data->sensor[0].id = HI3660_BIG_SENSOR;
435 data->sensor[0].irq_name = "tsensor_a73";
436 data->sensor[0].data = data;
444 struct hisi_thermal_data *data = sensor->data;
446 *temp = data->ops->get_temp(sensor);
448 dev_dbg(&data->pdev->dev, "tzd=%p, id=%d, temp=%d, thres=%d\n",
461 struct hisi_thermal_data *data = sensor->data;
464 data->ops->irq_handler(sensor);
469 dev_crit(&data->pdev->dev,
477 dev_crit(&data->pdev->dev,
533 .data = &hi6220_ops,
537 .data = &hi3660_ops,
556 struct hisi_thermal_data *data;
561 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
562 if (!data)
565 data->pdev = pdev;
566 platform_set_drvdata(pdev, data);
567 data->ops = of_device_get_match_data(dev);
570 data->regs = devm_ioremap_resource(dev, res);
571 if (IS_ERR(data->regs)) {
573 return PTR_ERR(data->regs);
576 ret = data->ops->probe(data);
580 for (i = 0; i < data->nr_sensors; i++) {
581 struct hisi_thermal_sensor *sensor = &data->sensor[i];
603 ret = data->ops->enable_sensor(sensor);
617 struct hisi_thermal_data *data = platform_get_drvdata(pdev);
620 for (i = 0; i < data->nr_sensors; i++) {
621 struct hisi_thermal_sensor *sensor = &data->sensor[i];
624 data->ops->disable_sensor(sensor);
633 struct hisi_thermal_data *data = dev_get_drvdata(dev);
636 for (i = 0; i < data->nr_sensors; i++)
637 data->ops->disable_sensor(&data->sensor[i]);
644 struct hisi_thermal_data *data = dev_get_drvdata(dev);
647 for (i = 0; i < data->nr_sensors; i++)
648 ret |= data->ops->enable_sensor(&data->sensor[i]);