static int omap_set_measuring_rate(struct thermal_dev *tdev, int rate) { struct platform_device *pdev = to_platform_device(tdev->dev); struct scm *scm_ptr = platform_get_drvdata(pdev); int id = tdev->sen_id; omap4460plus_scm_set_update_interval(scm_ptr, rate, id); return rate; }
static ssize_t set_update_interval(struct device *dev, struct device_attribute *devattr, const char *buf, size_t count) { struct temp_sensor_hwmon *tsh = dev_get_drvdata(dev); struct platform_device *pdev = container_of(dev, struct platform_device, dev); int id = pdev->id; unsigned long val; if (strict_strtoul(buf, 10, &val)) return -EINVAL; omap4460plus_scm_set_update_interval(tsh->scm_ptr, val, id); return count; }