w1: w1-gpio: Make GPIO an output for strong pullup

The logic to drive the data line high to implement a strong pullup
assumed that the pin was already an output - setting a value does
not change an input.

See: https://github.com/raspberrypi/firmware/issues/1143

Signed-off-by: Phil Elwell <phil@raspberrypi.org>
This commit is contained in:
Phil Elwell
2019-06-12 17:15:05 +01:00
committed by popcornmix
parent 8573c04eb0
commit 25382bc44d

View File

@@ -30,7 +30,7 @@ static u8 w1_gpio_set_pullup(void *data, int delay)
* This will OVERRIDE open drain emulation and force-pull * This will OVERRIDE open drain emulation and force-pull
* the line high for some time. * the line high for some time.
*/ */
gpiod_set_raw_value(pdata->gpiod, 1); gpiod_direction_output_raw(pdata->gpiod, 1);
msleep(pdata->pullup_duration); msleep(pdata->pullup_duration);
/* /*
* This will simply set the line as input since we are doing * This will simply set the line as input since we are doing