On Tue, 2012-12-18 at 14:59 +0530, Durgadoss R wrote: > This patch adds a new thermal_zone structure to > thermal.h. Also, adds zone level APIs to the thermal > framework.
[] > diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c > +#define GET_INDEX(tz, ptr, indx, type) \ > + do { \ > + int i; \ > + indx = -EINVAL; \ > + if (!tz || !ptr) \ > + break; \ > + mutex_lock(&type##_list_lock); \ > + for (i = 0; i < tz->type##_indx; i++) { \ > + if (tz->type##s[i] == ptr) { \ > + indx = i; \ > + break; \ > + } \ > + } \ > + mutex_unlock(&type##_list_lock); \ > + } while (0) A statement expression macro returning int would be more kernel style like and better to use. (sorry about the whitespace, evolution 3.6 is crappy) #define GET_INDEX(tx, ptr, type) \ ({ \ int rtn = -EINVAL; \ do { \ int i; \ if (!tz || !ptr) \ break; \ mutex_lock(&type##_list_lock); \ for (i = 0; i < tz->type##_indx; i++) { \ if (tz->type##s[i] == ptr) { \ rtn = i; \ break; \ } \ } \ mutex_unlock(&type##_list_lock); \ } while (0); \ rtn; \ }) > +static void remove_sensor_from_zone(struct thermal_zone *tz, > + struct thermal_sensor *ts) > +{ > + int j, indx; > + > + GET_INDEX(tz, ts, indx, sensor); This becomes indx = GET_INDEX(tx, ts, sensor); > + if (indx < 0) > + return; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/