return ret;
        }
 
-       if (devm_thermal_add_hwmon_sysfs(pdata->tzd))
+       if (devm_thermal_add_hwmon_sysfs(&pdev->dev, pdata->tzd))
                dev_warn(&pdev->dev, "Failed to add hwmon sysfs attributes\n");
 
        ret = amlogic_thermal_initialize(pdata);
 
                }
                tmu->sensors[i].hw_id = i;
 
-               if (devm_thermal_add_hwmon_sysfs(tmu->sensors[i].tzd))
+               if (devm_thermal_add_hwmon_sysfs(&pdev->dev, tmu->sensors[i].tzd))
                        dev_warn(&pdev->dev, "failed to add hwmon sysfs attributes\n");
        }
 
 
                        return ret;
                }
 
-               if (devm_thermal_add_hwmon_sysfs(sensor->tzd))
+               if (devm_thermal_add_hwmon_sysfs(&pdev->dev, sensor->tzd))
                        dev_warn(&pdev->dev, "failed to add hwmon sysfs attributes\n");
        }
 
 
                        goto err_alloc;
                }
 
-               if (devm_thermal_add_hwmon_sysfs(data[id].tzd))
+               if (devm_thermal_add_hwmon_sysfs(dev, data[id].tzd))
                        dev_warn(dev, "Failed to add hwmon sysfs attributes\n");
        }
 
 
                goto err_disable_clk_peri_therm;
        }
 
-       ret = devm_thermal_add_hwmon_sysfs(tzdev);
+       ret = devm_thermal_add_hwmon_sysfs(&pdev->dev, tzdev);
        if (ret)
                dev_warn(&pdev->dev, "error in thermal_add_hwmon_sysfs");
 
 
                        return PTR_ERR(tzd);
                }
                adc_tm->channels[i].tzd = tzd;
-               if (devm_thermal_add_hwmon_sysfs(tzd))
+               if (devm_thermal_add_hwmon_sysfs(adc_tm->dev, tzd))
                        dev_warn(adc_tm->dev,
                                 "Failed to add hwmon sysfs attributes\n");
        }
 
                return ret;
        }
 
-       if (devm_thermal_add_hwmon_sysfs(chip->tz_dev))
+       if (devm_thermal_add_hwmon_sysfs(&pdev->dev, chip->tz_dev))
                dev_warn(&pdev->dev,
                         "Failed to add hwmon sysfs attributes\n");
 
 
                if (priv->ops->enable)
                        priv->ops->enable(priv, i);
 
-               if (devm_thermal_add_hwmon_sysfs(tzd))
+               if (devm_thermal_add_hwmon_sysfs(priv->dev, tzd))
                        dev_warn(priv->dev,
                                 "Failed to add hwmon sysfs attributes\n");
        }
 
                        return ret;
                }
 
-               if (devm_thermal_add_hwmon_sysfs(tzd))
+               if (devm_thermal_add_hwmon_sysfs(dev, tzd))
                        dev_warn(dev,
                                 "Failed to add hwmon sysfs attributes\n");
 
 
                if (IS_ERR(tmdev->sensor[i].tzd))
                        return PTR_ERR(tmdev->sensor[i].tzd);
 
-               if (devm_thermal_add_hwmon_sysfs(tmdev->sensor[i].tzd))
+               if (devm_thermal_add_hwmon_sysfs(tmdev->dev, tmdev->sensor[i].tzd))
                        dev_warn(tmdev->dev,
                                 "Failed to add hwmon sysfs attributes\n");
        }
 
                return 0;
        }
 
-       if (devm_thermal_add_hwmon_sysfs(tsc->tzd))
+       if (devm_thermal_add_hwmon_sysfs(ts->dev, tsc->tzd))
                dev_warn(ts->dev, "failed to add hwmon sysfs attributes\n");
 
        return 0;
 
        thermal_remove_hwmon_sysfs(*(struct thermal_zone_device **)res);
 }
 
-int devm_thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
+int devm_thermal_add_hwmon_sysfs(struct device *dev, struct thermal_zone_device *tz)
 {
        struct thermal_zone_device **ptr;
        int ret;
        }
 
        *ptr = tz;
-       devres_add(&tz->device, ptr);
+       devres_add(dev, ptr);
 
        return ret;
 }
 
 
 #ifdef CONFIG_THERMAL_HWMON
 int thermal_add_hwmon_sysfs(struct thermal_zone_device *tz);
-int devm_thermal_add_hwmon_sysfs(struct thermal_zone_device *tz);
+int devm_thermal_add_hwmon_sysfs(struct device *dev, struct thermal_zone_device *tz);
 void thermal_remove_hwmon_sysfs(struct thermal_zone_device *tz);
 #else
 static inline int
 }
 
 static inline int
-devm_thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
+devm_thermal_add_hwmon_sysfs(struct device *dev, struct thermal_zone_device *tz)
 {
        return 0;
 }
 
        ti_bandgap_set_sensor_data(bgp, id, data);
        ti_bandgap_write_update_interval(bgp, data->sensor_id, interval);
 
-       if (devm_thermal_add_hwmon_sysfs(data->ti_thermal))
+       if (devm_thermal_add_hwmon_sysfs(bgp->dev, data->ti_thermal))
                dev_warn(bgp->dev, "failed to add hwmon sysfs attributes\n");
 
        return 0;