static int omap_read_temp(void *private_data)
{
	struct scm *scm_ptr = private_data;
	int temp;

	temp = omap4460plus_scm_read_temp(scm_ptr, 0);
	return temp;
}
static int read_temp(struct device *dev,
		     struct device_attribute *devattr, char *buf)
{
	struct temp_sensor_hwmon *tsh = dev_get_drvdata(dev);
	struct platform_device *pdev = container_of(dev,
						struct platform_device, dev);
	int id = pdev->id;
	int temp;

	temp = omap4460plus_scm_read_temp(tsh->scm_ptr, id);

	return sprintf(buf, "%d\n", temp);
}
static int omap_report_temp(struct thermal_dev *tdev)
{
	struct platform_device *pdev = to_platform_device(tdev->dev);
	struct scm *scm_ptr = platform_get_drvdata(pdev);
	int id = tdev->sen_id;

	scm_ptr->therm_fw[id]->current_temp =
	    omap4460plus_scm_read_temp(scm_ptr, id);

	if (scm_ptr->therm_fw[id]->current_temp != -EINVAL) {
		thermal_sensor_set_temp(scm_ptr->therm_fw[id]);
		kobject_uevent(&scm_ptr->tsh_ptr[id].pdev->dev.kobj,
			       KOBJ_CHANGE);
	}

	return scm_ptr->therm_fw[id]->current_temp;
}