Lines Matching refs:priv
69 struct syscon_gpio_priv *priv = to_syscon_gpio(chip); in syscon_gpio_get() local
73 offs = priv->dreg_offset + priv->data->dat_bit_offset + offset; in syscon_gpio_get()
75 ret = regmap_read(priv->syscon, in syscon_gpio_get()
85 struct syscon_gpio_priv *priv = to_syscon_gpio(chip); in syscon_gpio_set() local
88 offs = priv->dreg_offset + priv->data->dat_bit_offset + offset; in syscon_gpio_set()
90 regmap_update_bits(priv->syscon, in syscon_gpio_set()
98 struct syscon_gpio_priv *priv = to_syscon_gpio(chip); in syscon_gpio_dir_in() local
100 if (priv->data->flags & GPIO_SYSCON_FEAT_DIR) { in syscon_gpio_dir_in()
103 offs = priv->dir_reg_offset + in syscon_gpio_dir_in()
104 priv->data->dir_bit_offset + offset; in syscon_gpio_dir_in()
106 regmap_update_bits(priv->syscon, in syscon_gpio_dir_in()
116 struct syscon_gpio_priv *priv = to_syscon_gpio(chip); in syscon_gpio_dir_out() local
118 if (priv->data->flags & GPIO_SYSCON_FEAT_DIR) { in syscon_gpio_dir_out()
121 offs = priv->dir_reg_offset + in syscon_gpio_dir_out()
122 priv->data->dir_bit_offset + offset; in syscon_gpio_dir_out()
124 regmap_update_bits(priv->syscon, in syscon_gpio_dir_out()
130 priv->data->set(chip, offset, val); in syscon_gpio_dir_out()
147 struct syscon_gpio_priv *priv = to_syscon_gpio(chip); in keystone_gpio_set() local
151 offs = priv->dreg_offset + priv->data->dat_bit_offset + offset; in keystone_gpio_set()
157 priv->syscon, in keystone_gpio_set()
191 struct syscon_gpio_priv *priv; in syscon_gpio_probe() local
199 priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); in syscon_gpio_probe()
200 if (!priv) in syscon_gpio_probe()
203 priv->data = of_id->data; in syscon_gpio_probe()
205 if (priv->data->compatible) { in syscon_gpio_probe()
206 priv->syscon = syscon_regmap_lookup_by_compatible( in syscon_gpio_probe()
207 priv->data->compatible); in syscon_gpio_probe()
208 if (IS_ERR(priv->syscon)) in syscon_gpio_probe()
209 return PTR_ERR(priv->syscon); in syscon_gpio_probe()
211 priv->syscon = in syscon_gpio_probe()
213 if (IS_ERR(priv->syscon)) in syscon_gpio_probe()
214 return PTR_ERR(priv->syscon); in syscon_gpio_probe()
217 &priv->dreg_offset); in syscon_gpio_probe()
221 priv->dreg_offset <<= 3; in syscon_gpio_probe()
224 &priv->dir_reg_offset); in syscon_gpio_probe()
228 priv->dir_reg_offset <<= 3; in syscon_gpio_probe()
231 priv->chip.dev = dev; in syscon_gpio_probe()
232 priv->chip.owner = THIS_MODULE; in syscon_gpio_probe()
233 priv->chip.label = dev_name(dev); in syscon_gpio_probe()
234 priv->chip.base = -1; in syscon_gpio_probe()
235 priv->chip.ngpio = priv->data->bit_count; in syscon_gpio_probe()
236 priv->chip.get = syscon_gpio_get; in syscon_gpio_probe()
237 if (priv->data->flags & GPIO_SYSCON_FEAT_IN) in syscon_gpio_probe()
238 priv->chip.direction_input = syscon_gpio_dir_in; in syscon_gpio_probe()
239 if (priv->data->flags & GPIO_SYSCON_FEAT_OUT) { in syscon_gpio_probe()
240 priv->chip.set = priv->data->set ? : syscon_gpio_set; in syscon_gpio_probe()
241 priv->chip.direction_output = syscon_gpio_dir_out; in syscon_gpio_probe()
244 platform_set_drvdata(pdev, priv); in syscon_gpio_probe()
246 return gpiochip_add(&priv->chip); in syscon_gpio_probe()
251 struct syscon_gpio_priv *priv = platform_get_drvdata(pdev); in syscon_gpio_remove() local
253 gpiochip_remove(&priv->chip); in syscon_gpio_remove()