hwmon: (sht15) check GPIO directions
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>
Tue, 15 Jan 2013 18:33:06 +0000 (13:33 -0500)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 6 Feb 2013 17:57:55 +0000 (09:57 -0800)
commit412e29c135c11be6e2e4b22c0691e861b3d946c4
tree629d7e08a4ae41b6f1814115ac6af1df3d0945f7
parent9e3970fba9ea43bc2c215f71f78bcf766c1775e7
hwmon: (sht15) check GPIO directions

Without this patch, the SHT15 driver may fail silently with a
non-bidirectional data line and/or an input-only clock line.

This patch checks the return value of gpio_direction_* function calls
and returns the error code (if any) to the caller. If an error occurs in
the read work function (work_funct_t), we wake the queue up directly
without updating the data->state flag, to notice the waiter of the I/O
error.

The patch also makes minor cleanups: s/error_ret/unlock for some labels
and uses devm_gpio_request_one() for the clock line.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/sht15.c