Lines Matching defs:gpio
15 #include <linux/gpio/driver.h>
133 struct xgene_gpio *gpio = dev_get_drvdata(dev);
139 gpio->set_dr_val[bank] = ioread32(gpio->base + bank_offset);
146 struct xgene_gpio *gpio = dev_get_drvdata(dev);
152 iowrite32(gpio->set_dr_val[bank], gpio->base + bank_offset);
161 struct xgene_gpio *gpio;
163 gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL);
164 if (!gpio)
167 gpio->base = devm_platform_ioremap_resource(pdev, 0);
168 if (IS_ERR(gpio->base))
169 return PTR_ERR(gpio->base);
171 gpio->chip.ngpio = XGENE_MAX_GPIOS;
173 spin_lock_init(&gpio->lock);
174 gpio->chip.parent = &pdev->dev;
175 gpio->chip.get_direction = xgene_gpio_get_direction;
176 gpio->chip.direction_input = xgene_gpio_dir_in;
177 gpio->chip.direction_output = xgene_gpio_dir_out;
178 gpio->chip.get = xgene_gpio_get;
179 gpio->chip.set = xgene_gpio_set;
180 gpio->chip.label = dev_name(&pdev->dev);
181 gpio->chip.base = -1;
183 platform_set_drvdata(pdev, gpio);
185 return devm_gpiochip_add_data(&pdev->dev, &gpio->chip, gpio);
189 { .compatible = "apm,xgene-gpio", },
202 .name = "xgene-gpio",