return thermal_genl_send_event(THERMAL_GENL_EVENT_TZ_TRIP_DELETE, &p);
 }
 
-int thermal_notify_tz_trip_change(int tz_id, int trip_id, int trip_type,
-                                 int trip_temp, int trip_hyst)
-{
-       struct param p = { .tz_id = tz_id, .trip_id = trip_id,
-                          .trip_type = trip_type, .trip_temp = trip_temp,
-                          .trip_hyst = trip_hyst };
+int thermal_notify_tz_trip_change(const struct thermal_zone_device *tz,
+                                 const struct thermal_trip *trip)
+{
+       struct param p = { .tz_id = tz->id,
+                          .trip_id = thermal_zone_trip_id(tz, trip),
+                          .trip_type = trip->type,
+                          .trip_temp = trip->temperature,
+                          .trip_hyst = trip->hysteresis };
 
        return thermal_genl_send_event(THERMAL_GENL_EVENT_TZ_TRIP_CHANGE, &p);
 }
 
        int efficiency;
 };
 
+struct thermal_zone_device;
+struct thermal_trip;
+
 /* Netlink notification function */
 #ifdef CONFIG_THERMAL_NETLINK
 int __init thermal_netlink_init(void);
 int thermal_notify_tz_trip_delete(int tz_id, int id);
 int thermal_notify_tz_trip_add(int tz_id, int id, int type,
                               int temp, int hyst);
-int thermal_notify_tz_trip_change(int tz_id, int id, int type,
-                                 int temp, int hyst);
+int thermal_notify_tz_trip_change(const struct thermal_zone_device *tz,
+                                 const struct thermal_trip *trip);
 int thermal_notify_cdev_state_update(int cdev_id, int state);
 int thermal_notify_cdev_add(int cdev_id, const char *name, int max_state);
 int thermal_notify_cdev_delete(int cdev_id);
        return 0;
 }
 
-static inline int thermal_notify_tz_trip_change(int tz_id, int id, int type,
-                                               int temp, int hyst)
+static inline int thermal_notify_tz_trip_change(const struct thermal_zone_device *tz,
+                                               const struct thermal_trip *trip)
 {
        return 0;
 }
 
 void thermal_zone_trip_updated(struct thermal_zone_device *tz,
                               const struct thermal_trip *trip)
 {
-       thermal_notify_tz_trip_change(tz->id, thermal_zone_trip_id(tz, trip),
-                                     trip->type, trip->temperature,
-                                     trip->hysteresis);
+       thermal_notify_tz_trip_change(tz, trip);
        __thermal_zone_device_update(tz, THERMAL_TRIP_CHANGED);
 }
 
                return;
 
        trip->temperature = temp;
-       thermal_notify_tz_trip_change(tz->id, thermal_zone_trip_id(tz, trip),
-                                     trip->type, trip->temperature,
-                                     trip->hysteresis);
+       thermal_notify_tz_trip_change(tz, trip);
 }
 EXPORT_SYMBOL_GPL(thermal_zone_set_trip_temp);