Lines Matching defs:logicvc
30 static void logicvc_gpio_offset(struct logicvc_gpio *logicvc, unsigned offset,
52 struct logicvc_gpio *logicvc = gpiochip_get_data(chip);
56 logicvc_gpio_offset(logicvc, offset, ®, &bit);
58 ret = regmap_read(logicvc->regmap, reg, &value);
67 struct logicvc_gpio *logicvc = gpiochip_get_data(chip);
70 logicvc_gpio_offset(logicvc, offset, ®, &bit);
72 regmap_update_bits(logicvc->regmap, reg, bit, value ? bit : 0);
88 .name = "logicvc-gpio",
95 struct logicvc_gpio *logicvc;
98 logicvc = devm_kzalloc(dev, sizeof(*logicvc), GFP_KERNEL);
99 if (!logicvc)
103 logicvc->regmap = syscon_node_to_regmap(of_node->parent);
106 if (IS_ERR(logicvc->regmap)) {
125 logicvc->regmap =
128 if (IS_ERR(logicvc->regmap)) {
130 return PTR_ERR(logicvc->regmap);
134 logicvc->chip.parent = dev;
135 logicvc->chip.owner = THIS_MODULE;
136 logicvc->chip.label = dev_name(dev);
137 logicvc->chip.base = -1;
138 logicvc->chip.ngpio = LOGICVC_CTRL_GPIO_BITS +
140 logicvc->chip.get = logicvc_gpio_get;
141 logicvc->chip.set = logicvc_gpio_set;
142 logicvc->chip.direction_output = logicvc_gpio_direction_output;
144 platform_set_drvdata(pdev, logicvc);
146 return devm_gpiochip_add_data(dev, &logicvc->chip, logicvc);
151 .compatible = "xylon,logicvc-3.02.a-gpio",
160 .name = "gpio-logicvc",