lkml.org 
[lkml]   [2012]   [Dec]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 2/8] Thermal: Create zone level APIs
From
Date
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;




\
 
 \ /
  Last update: 2012-12-18 13:01    [W:0.161 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site