diff options
author | Daniel Mack <daniel@caiaq.de> | 2009-03-12 14:31:25 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-12 16:20:23 -0700 |
commit | 8d0df7a3d1ecbaf5d5602a59055c8ca993855bed (patch) | |
tree | a9d9834c949da6e6572cc5d897560d2ded1adcfe /drivers/w1/masters | |
parent | 00699e8472cc0209d57b5c5614bc2ec98e665004 (diff) | |
download | op-kernel-dev-8d0df7a3d1ecbaf5d5602a59055c8ca993855bed.zip op-kernel-dev-8d0df7a3d1ecbaf5d5602a59055c8ca993855bed.tar.gz |
drivers/w1/masters/w1-gpio.c: fix read_bit()
W1 master implementations are expected to return 0 or 1 from their
read_bit() function. However, not all platforms do return these values
from gpio_get_value() - namely PXAs won't. Hence the w1 gpio-master needs
to break the result down to 0 or 1 itself.
Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Ville Syrjala <syrjala@sci.fi>
Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/w1/masters')
-rw-r--r-- | drivers/w1/masters/w1-gpio.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c index 9e1138a..a411702 100644 --- a/drivers/w1/masters/w1-gpio.c +++ b/drivers/w1/masters/w1-gpio.c @@ -39,7 +39,7 @@ static u8 w1_gpio_read_bit(void *data) { struct w1_gpio_platform_data *pdata = data; - return gpio_get_value(pdata->pin); + return gpio_get_value(pdata->pin) ? 1 : 0; } static int __init w1_gpio_probe(struct platform_device *pdev) |