Lines Matching refs:gs

57 	struct mlxbf3_gpio_context *gs = gpiochip_get_data(gc);
64 raw_spin_lock_irqsave(&gs->gc.bgpio_lock, flags);
65 writel(BIT(offset), gs->gpio_cause_io + MLXBF_GPIO_CAUSE_OR_CLRCAUSE);
67 val = readl(gs->gpio_cause_io + MLXBF_GPIO_CAUSE_OR_EVTEN0);
69 writel(val, gs->gpio_cause_io + MLXBF_GPIO_CAUSE_OR_EVTEN0);
70 raw_spin_unlock_irqrestore(&gs->gc.bgpio_lock, flags);
76 struct mlxbf3_gpio_context *gs = gpiochip_get_data(gc);
81 raw_spin_lock_irqsave(&gs->gc.bgpio_lock, flags);
82 val = readl(gs->gpio_cause_io + MLXBF_GPIO_CAUSE_OR_EVTEN0);
84 writel(val, gs->gpio_cause_io + MLXBF_GPIO_CAUSE_OR_EVTEN0);
85 raw_spin_unlock_irqrestore(&gs->gc.bgpio_lock, flags);
92 struct mlxbf3_gpio_context *gs = ptr;
93 struct gpio_chip *gc = &gs->gc;
97 pending = readl(gs->gpio_cause_io + MLXBF_GPIO_CAUSE_OR_CAUSE_EVTEN0);
98 writel(pending, gs->gpio_cause_io + MLXBF_GPIO_CAUSE_OR_CLRCAUSE);
110 struct mlxbf3_gpio_context *gs = gpiochip_get_data(gc);
115 raw_spin_lock_irqsave(&gs->gc.bgpio_lock, flags);
119 val = readl(gs->gpio_io + MLXBF_GPIO_CAUSE_FALL_EN);
121 writel(val, gs->gpio_io + MLXBF_GPIO_CAUSE_FALL_EN);
122 val = readl(gs->gpio_io + MLXBF_GPIO_CAUSE_RISE_EN);
124 writel(val, gs->gpio_io + MLXBF_GPIO_CAUSE_RISE_EN);
127 val = readl(gs->gpio_io + MLXBF_GPIO_CAUSE_RISE_EN);
129 writel(val, gs->gpio_io + MLXBF_GPIO_CAUSE_RISE_EN);
132 val = readl(gs->gpio_io + MLXBF_GPIO_CAUSE_FALL_EN);
134 writel(val, gs->gpio_io + MLXBF_GPIO_CAUSE_FALL_EN);
137 raw_spin_unlock_irqrestore(&gs->gc.bgpio_lock, flags);
141 raw_spin_unlock_irqrestore(&gs->gc.bgpio_lock, flags);
186 struct mlxbf3_gpio_context *gs;
191 gs = devm_kzalloc(dev, sizeof(*gs), GFP_KERNEL);
192 if (!gs)
195 gs->gpio_io = devm_platform_ioremap_resource(pdev, 0);
196 if (IS_ERR(gs->gpio_io))
197 return PTR_ERR(gs->gpio_io);
199 gs->gpio_cause_io = devm_platform_ioremap_resource(pdev, 1);
200 if (IS_ERR(gs->gpio_cause_io))
201 return PTR_ERR(gs->gpio_cause_io);
203 gs->gpio_set_io = devm_platform_ioremap_resource(pdev, 2);
204 if (IS_ERR(gs->gpio_set_io))
205 return PTR_ERR(gs->gpio_set_io);
207 gs->gpio_clr_io = devm_platform_ioremap_resource(pdev, 3);
208 if (IS_ERR(gs->gpio_clr_io))
209 return PTR_ERR(gs->gpio_clr_io);
210 gc = &gs->gc;
213 gs->gpio_io + MLXBF_GPIO_READ_DATA_IN,
214 gs->gpio_set_io + MLXBF_GPIO_FW_DATA_OUT_SET,
215 gs->gpio_clr_io + MLXBF_GPIO_FW_DATA_OUT_CLEAR,
216 gs->gpio_set_io + MLXBF_GPIO_FW_OUTPUT_ENABLE_SET,
217 gs->gpio_clr_io + MLXBF_GPIO_FW_OUTPUT_ENABLE_CLEAR, 0);
228 girq = &gs->gc.irq;
242 IRQF_SHARED, dev_name(dev), gs);
247 platform_set_drvdata(pdev, gs);
249 ret = devm_gpiochip_add_data(dev, &gs->gc, gs);