Lines Matching refs:gpio

11 #include <linux/gpio/driver.h>
57 struct tqmx86_gpio_data *gpio = gpiochip_get_data(chip);
59 return !!(tqmx86_gpio_read(gpio, TQMX86_GPIOD) & BIT(offset));
65 struct tqmx86_gpio_data *gpio = gpiochip_get_data(chip);
69 raw_spin_lock_irqsave(&gpio->spinlock, flags);
70 val = tqmx86_gpio_read(gpio, TQMX86_GPIOD);
75 tqmx86_gpio_write(gpio, val, TQMX86_GPIOD);
76 raw_spin_unlock_irqrestore(&gpio->spinlock, flags);
113 struct tqmx86_gpio_data *gpio = gpiochip_get_data(
120 raw_spin_lock_irqsave(&gpio->spinlock, flags);
121 gpiic = tqmx86_gpio_read(gpio, TQMX86_GPIIC);
123 tqmx86_gpio_write(gpio, gpiic, TQMX86_GPIIC);
124 raw_spin_unlock_irqrestore(&gpio->spinlock, flags);
125 gpiochip_disable_irq(&gpio->chip, irqd_to_hwirq(data));
131 struct tqmx86_gpio_data *gpio = gpiochip_get_data(
138 gpiochip_enable_irq(&gpio->chip, irqd_to_hwirq(data));
139 raw_spin_lock_irqsave(&gpio->spinlock, flags);
140 gpiic = tqmx86_gpio_read(gpio, TQMX86_GPIIC);
142 gpiic |= gpio->irq_type[offset] << (offset * TQMX86_GPII_BITS);
143 tqmx86_gpio_write(gpio, gpiic, TQMX86_GPIIC);
144 raw_spin_unlock_irqrestore(&gpio->spinlock, flags);
149 struct tqmx86_gpio_data *gpio = gpiochip_get_data(
170 gpio->irq_type[offset] = new_type;
172 raw_spin_lock_irqsave(&gpio->spinlock, flags);
173 gpiic = tqmx86_gpio_read(gpio, TQMX86_GPIIC);
176 tqmx86_gpio_write(gpio, gpiic, TQMX86_GPIIC);
177 raw_spin_unlock_irqrestore(&gpio->spinlock, flags);
185 struct tqmx86_gpio_data *gpio = gpiochip_get_data(chip);
193 irq_status = tqmx86_gpio_read(gpio, TQMX86_GPIIS);
194 tqmx86_gpio_write(gpio, irq_status, TQMX86_GPIIS);
198 generic_handle_domain_irq(gpio->chip.irq.domain,
250 struct tqmx86_gpio_data *gpio;
271 gpio = devm_kzalloc(dev, sizeof(*gpio), GFP_KERNEL);
272 if (!gpio)
275 raw_spin_lock_init(&gpio->spinlock);
276 gpio->io_base = io_base;
278 tqmx86_gpio_write(gpio, (u8)~TQMX86_DIR_INPUT_MASK, TQMX86_GPIODD);
280 chip = &gpio->chip;
281 chip->label = "gpio-tqmx86";
299 tqmx86_gpio_write(gpio, 0, TQMX86_GPIIC);
302 irq_status = tqmx86_gpio_read(gpio, TQMX86_GPIIS);
303 tqmx86_gpio_write(gpio, irq_status, TQMX86_GPIIS);
324 ret = devm_gpiochip_add_data(dev, chip, gpio);
343 .name = "tqmx86-gpio",
354 MODULE_ALIAS("platform:tqmx86-gpio");