Lines Matching defs:sensor

19 /* Power control bits for the memory mapped thermal sensor */
25 * According to the STIH416 MPE temp sensor data sheet -
28 * sensor. regmap_update_bits() will be used to update the register.
39 struct st_thermal_sensor *sensor = sdata;
41 thermal_zone_device_update(sensor->thermal_dev,
48 static int st_mmap_power_ctrl(struct st_thermal_sensor *sensor,
54 return regmap_update_bits(sensor->regmap, STIH416_MPE_CONF, mask, val);
57 static int st_mmap_alloc_regfields(struct st_thermal_sensor *sensor)
59 struct device *dev = sensor->dev;
60 struct regmap *regmap = sensor->regmap;
61 const struct reg_field *reg_fields = sensor->cdata->reg_fields;
63 sensor->int_thresh_hi = devm_regmap_field_alloc(dev, regmap,
65 sensor->int_enable = devm_regmap_field_alloc(dev, regmap,
68 if (IS_ERR(sensor->int_thresh_hi) || IS_ERR(sensor->int_enable)) {
76 static int st_mmap_enable_irq(struct st_thermal_sensor *sensor)
81 ret = regmap_field_write(sensor->int_thresh_hi,
82 sensor->cdata->crit_temp -
83 sensor->cdata->temp_adjust_val);
87 return regmap_field_write(sensor->int_enable, 1);
90 static int st_mmap_register_enable_irq(struct st_thermal_sensor *sensor)
92 struct device *dev = sensor->dev;
96 sensor->irq = platform_get_irq(pdev, 0);
97 if (sensor->irq < 0)
98 return sensor->irq;
100 ret = devm_request_threaded_irq(dev, sensor->irq,
103 dev->driver->name, sensor);
105 dev_err(dev, "failed to register IRQ %d\n", sensor->irq);
109 return st_mmap_enable_irq(sensor);
118 static int st_mmap_regmap_init(struct st_thermal_sensor *sensor)
120 struct device *dev = sensor->dev;
123 sensor->mmio_base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
124 if (IS_ERR(sensor->mmio_base))
125 return PTR_ERR(sensor->mmio_base);
127 sensor->regmap = devm_regmap_init_mmio(dev, sensor->mmio_base,
129 if (IS_ERR(sensor->regmap)) {
131 return PTR_ERR(sensor->regmap);
145 /* Compatible device data stih416 mpe thermal sensor */
154 /* Compatible device data stih407 thermal sensor */