summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/hwmon/gpio-fan.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/hwmon/gpio-fan.c b/drivers/hwmon/gpio-fan.c
index 4efa1734bdad..7802eb2a442f 100644
--- a/drivers/hwmon/gpio-fan.c
+++ b/drivers/hwmon/gpio-fan.c
@@ -79,7 +79,7 @@ static ssize_t show_fan_alarm(struct device *dev,
79{ 79{
80 struct gpio_fan_data *fan_data = dev_get_drvdata(dev); 80 struct gpio_fan_data *fan_data = dev_get_drvdata(dev);
81 struct gpio_fan_alarm *alarm = fan_data->alarm; 81 struct gpio_fan_alarm *alarm = fan_data->alarm;
82 int value = gpio_get_value(alarm->gpio); 82 int value = gpio_get_value_cansleep(alarm->gpio);
83 83
84 if (alarm->active_low) 84 if (alarm->active_low)
85 value = !value; 85 value = !value;
@@ -131,7 +131,7 @@ static void __set_fan_ctrl(struct gpio_fan_data *fan_data, int ctrl_val)
131 int i; 131 int i;
132 132
133 for (i = 0; i < fan_data->num_ctrl; i++) 133 for (i = 0; i < fan_data->num_ctrl; i++)
134 gpio_set_value(fan_data->ctrl[i], (ctrl_val >> i) & 1); 134 gpio_set_value_cansleep(fan_data->ctrl[i], (ctrl_val >> i) & 1);
135} 135}
136 136
137static int __get_fan_ctrl(struct gpio_fan_data *fan_data) 137static int __get_fan_ctrl(struct gpio_fan_data *fan_data)
@@ -142,7 +142,7 @@ static int __get_fan_ctrl(struct gpio_fan_data *fan_data)
142 for (i = 0; i < fan_data->num_ctrl; i++) { 142 for (i = 0; i < fan_data->num_ctrl; i++) {
143 int value; 143 int value;
144 144
145 value = gpio_get_value(fan_data->ctrl[i]); 145 value = gpio_get_value_cansleep(fan_data->ctrl[i]);
146 ctrl_val |= (value << i); 146 ctrl_val |= (value << i);
147 } 147 }
148 return ctrl_val; 148 return ctrl_val;
@@ -369,7 +369,8 @@ static int fan_ctrl_init(struct gpio_fan_data *fan_data,
369 if (err) 369 if (err)
370 return err; 370 return err;
371 371
372 err = gpio_direction_output(ctrl[i], gpio_get_value(ctrl[i])); 372 err = gpio_direction_output(ctrl[i],
373 gpio_get_value_cansleep(ctrl[i]));
373 if (err) 374 if (err)
374 return err; 375 return err;
375 } 376 }