for (ptr = 0; ptr < data->nr_gpios; ptr++) {
state = (target & (1 << ptr)) >> ptr;
- gpio_set_value(data->gpios[ptr].gpio, state);
+ gpio_set_value_cansleep(data->gpios[ptr].gpio, state);
}
data->state = target;
for (ptr = 0; ptr < data->nr_gpios; ptr++) {
state = (target & (1 << ptr)) >> ptr;
- gpio_set_value(data->gpios[ptr].gpio, state);
+ gpio_set_value_cansleep(data->gpios[ptr].gpio, state);
}
data->state = target;
if (!config->gpios)
return ERR_PTR(-ENOMEM);
- for (i = 0; config->nr_gpios; i++) {
+ for (i = 0; i < config->nr_gpios; i++) {
gpio = of_get_named_gpio(np, "gpios", i);
if (gpio < 0)
break;
return 0;
}
-static const struct of_device_id regulator_gpio_of_match[] __devinitconst = {
+#if defined(CONFIG_OF)
+static const struct of_device_id regulator_gpio_of_match[] = {
{ .compatible = "regulator-gpio", },
{},
};
+#endif
static struct platform_driver gpio_regulator_driver = {
.probe = gpio_regulator_probe,
.driver = {
.name = "gpio-regulator",
.owner = THIS_MODULE,
- .of_match_table = regulator_gpio_of_match,
+ .of_match_table = of_match_ptr(regulator_gpio_of_match),
},
};