Lines Matching defs:pinctrl
3 * I2C multiplexer using pinctrl API
11 #include <linux/pinctrl/consumer.h>
15 #include "../../pinctrl/core.h"
18 struct pinctrl *pinctrl;
26 return pinctrl_select_state(mux->pinctrl, mux->states[chan]);
84 num_names = of_property_count_strings(np, "pinctrl-names");
86 dev_err(dev, "Cannot parse pinctrl-names: %d\n",
106 mux->pinctrl = devm_pinctrl_get(dev);
107 if (IS_ERR(mux->pinctrl)) {
108 ret = PTR_ERR(mux->pinctrl);
109 dev_err(dev, "Cannot get pinctrl: %d\n", ret);
114 ret = of_property_read_string_index(np, "pinctrl-names", i,
117 dev_err(dev, "Cannot parse pinctrl-names: %d\n", ret);
121 mux->states[i] = pinctrl_lookup_state(mux->pinctrl, name);
124 dev_err(dev, "Cannot look up pinctrl state %s: %d\n",
178 { .compatible = "i2c-mux-pinctrl", },
185 .name = "i2c-mux-pinctrl",
193 MODULE_DESCRIPTION("pinctrl-based I2C multiplexer driver");
196 MODULE_ALIAS("platform:i2c-mux-pinctrl");