Lines Matching refs:gc

61 	struct gpio_chip gc;  member
75 static int gnr_gpio_configure_line(struct gpio_chip *gc, unsigned int gpio, in gnr_gpio_configure_line() argument
78 struct gnr_gpio *priv = gpiochip_get_data(gc); in gnr_gpio_configure_line()
95 static int gnr_gpio_request(struct gpio_chip *gc, unsigned int gpio) in gnr_gpio_request() argument
97 struct gnr_gpio *priv = gpiochip_get_data(gc); in gnr_gpio_request()
102 dev_warn(gc->parent, "GPIO %u is not owned by host", gpio); in gnr_gpio_request()
109 static int gnr_gpio_get(struct gpio_chip *gc, unsigned int gpio) in gnr_gpio_get() argument
111 const struct gnr_gpio *priv = gpiochip_get_data(gc); in gnr_gpio_get()
119 static void gnr_gpio_set(struct gpio_chip *gc, unsigned int gpio, int value) in gnr_gpio_set() argument
129 gnr_gpio_configure_line(gc, gpio, clear, set); in gnr_gpio_set()
132 static int gnr_gpio_get_direction(struct gpio_chip *gc, unsigned int gpio) in gnr_gpio_get_direction() argument
134 struct gnr_gpio *priv = gpiochip_get_data(gc); in gnr_gpio_get_direction()
145 static int gnr_gpio_direction_input(struct gpio_chip *gc, unsigned int gpio) in gnr_gpio_direction_input() argument
147 return gnr_gpio_configure_line(gc, gpio, GNR_CFG_DW_RXDIS, 0); in gnr_gpio_direction_input()
150 static int gnr_gpio_direction_output(struct gpio_chip *gc, unsigned int gpio, int value) in gnr_gpio_direction_output() argument
155 return gnr_gpio_configure_line(gc, gpio, clear, set); in gnr_gpio_direction_output()
177 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in gnr_gpio_irq_ack() local
178 struct gnr_gpio *priv = gpiochip_get_data(gc); in gnr_gpio_irq_ack()
192 static void gnr_gpio_irq_mask_unmask(struct gpio_chip *gc, unsigned long gpio, bool mask) in gnr_gpio_irq_mask_unmask() argument
194 struct gnr_gpio *priv = gpiochip_get_data(gc); in gnr_gpio_irq_mask_unmask()
212 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in gnr_gpio_irq_mask() local
215 gnr_gpio_irq_mask_unmask(gc, hwirq, true); in gnr_gpio_irq_mask()
216 gpiochip_disable_irq(gc, hwirq); in gnr_gpio_irq_mask()
221 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in gnr_gpio_irq_unmask() local
224 gpiochip_enable_irq(gc, hwirq); in gnr_gpio_irq_unmask()
225 gnr_gpio_irq_mask_unmask(gc, hwirq, false); in gnr_gpio_irq_unmask()
230 struct gpio_chip *gc = irq_data_get_irq_chip_data(d); in gnr_gpio_irq_set_type() local
231 struct gnr_gpio *priv = gpiochip_get_data(gc); in gnr_gpio_irq_set_type()
239 dev_dbg(gc->parent, "GPIO %lu cannot be used as IRQ", hwirq); in gnr_gpio_irq_set_type()
260 return gnr_gpio_configure_line(gc, hwirq, GNR_CFG_DW_RX_MASK, set); in gnr_gpio_irq_set_type()
305 generic_handle_domain_irq(priv->gc.irq.domain, hwirq); in gnr_gpio_irq()
350 priv->gc = gnr_gpio_chip; in gnr_gpio_probe()
351 priv->gc.label = dev_name(dev); in gnr_gpio_probe()
352 priv->gc.parent = dev; in gnr_gpio_probe()
353 priv->gc.ngpio = GNR_NUM_PINS; in gnr_gpio_probe()
354 priv->gc.base = -1; in gnr_gpio_probe()
356 girq = &priv->gc.irq; in gnr_gpio_probe()
366 return devm_gpiochip_add_data(dev, &priv->gc, priv); in gnr_gpio_probe()
376 for_each_clear_bit(i, priv->ro_bitmap, priv->gc.ngpio) in gnr_gpio_suspend()
389 for_each_clear_bit(i, priv->ro_bitmap, priv->gc.ngpio) in gnr_gpio_resume()