Lines Matching defs:ic

55 static inline void lpc18xx_gpio_pin_ic_isel(struct lpc18xx_gpio_pin_ic *ic,
58 u32 val = readl_relaxed(ic->base + LPC18XX_GPIO_PIN_IC_ISEL);
65 writel_relaxed(val, ic->base + LPC18XX_GPIO_PIN_IC_ISEL);
68 static inline void lpc18xx_gpio_pin_ic_set(struct lpc18xx_gpio_pin_ic *ic,
71 writel_relaxed(BIT(pin), ic->base + reg);
76 struct lpc18xx_gpio_pin_ic *ic = d->chip_data;
79 raw_spin_lock(&ic->lock);
82 lpc18xx_gpio_pin_ic_set(ic, d->hwirq,
86 lpc18xx_gpio_pin_ic_set(ic, d->hwirq,
89 raw_spin_unlock(&ic->lock);
96 struct lpc18xx_gpio_pin_ic *ic = d->chip_data;
99 raw_spin_lock(&ic->lock);
102 lpc18xx_gpio_pin_ic_set(ic, d->hwirq,
106 lpc18xx_gpio_pin_ic_set(ic, d->hwirq,
109 raw_spin_unlock(&ic->lock);
116 struct lpc18xx_gpio_pin_ic *ic = d->chip_data;
119 raw_spin_lock(&ic->lock);
122 lpc18xx_gpio_pin_ic_set(ic, d->hwirq,
125 raw_spin_unlock(&ic->lock);
132 struct lpc18xx_gpio_pin_ic *ic = d->chip_data;
134 raw_spin_lock(&ic->lock);
137 lpc18xx_gpio_pin_ic_isel(ic, d->hwirq, true);
138 lpc18xx_gpio_pin_ic_set(ic, d->hwirq,
141 lpc18xx_gpio_pin_ic_isel(ic, d->hwirq, true);
142 lpc18xx_gpio_pin_ic_set(ic, d->hwirq,
145 lpc18xx_gpio_pin_ic_isel(ic, d->hwirq, false);
148 raw_spin_unlock(&ic->lock);
167 struct lpc18xx_gpio_pin_ic *ic = domain->host_data;
194 &lpc18xx_gpio_pin_ic, ic);
208 struct lpc18xx_gpio_pin_ic *ic;
221 ic = devm_kzalloc(dev, sizeof(*ic), GFP_KERNEL);
222 if (!ic)
226 "gpio-pin-ic");
236 ic->base = devm_ioremap_resource(dev, &res);
237 if (IS_ERR(ic->base)) {
238 ret = PTR_ERR(ic->base);
242 raw_spin_lock_init(&ic->lock);
244 ic->domain = irq_domain_add_hierarchy(parent_domain, 0,
248 ic);
249 if (!ic->domain) {
255 gc->pin_ic = ic;
260 devm_iounmap(dev, ic->base);
262 devm_kfree(dev, ic);