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/

Reply via email to