Lines Matching refs:gs

130 static int mlxbf2_gpio_lock_acquire(struct mlxbf2_gpio_context *gs)
135 raw_spin_lock(&gs->gc.bgpio_lock);
143 raw_spin_unlock(&gs->gc.bgpio_lock);
156 static void mlxbf2_gpio_lock_release(struct mlxbf2_gpio_context *gs)
157 __releases(&gs->gc.bgpio_lock)
161 raw_spin_unlock(&gs->gc.bgpio_lock);
186 struct mlxbf2_gpio_context *gs = gpiochip_get_data(chip);
193 ret = mlxbf2_gpio_lock_acquire(gs);
197 writel(BIT(offset), gs->gpio_io + YU_GPIO_MODE0_CLEAR);
198 writel(BIT(offset), gs->gpio_io + YU_GPIO_MODE1_CLEAR);
200 mlxbf2_gpio_lock_release(gs);
213 struct mlxbf2_gpio_context *gs = gpiochip_get_data(chip);
221 ret = mlxbf2_gpio_lock_acquire(gs);
225 writel(BIT(offset), gs->gpio_io + YU_GPIO_MODE1_CLEAR);
226 writel(BIT(offset), gs->gpio_io + YU_GPIO_MODE0_SET);
228 mlxbf2_gpio_lock_release(gs);
236 struct mlxbf2_gpio_context *gs = gpiochip_get_data(gc);
242 raw_spin_lock_irqsave(&gs->gc.bgpio_lock, flags);
243 val = readl(gs->gpio_io + YU_GPIO_CAUSE_OR_CLRCAUSE);
245 writel(val, gs->gpio_io + YU_GPIO_CAUSE_OR_CLRCAUSE);
247 val = readl(gs->gpio_io + YU_GPIO_CAUSE_OR_EVTEN0);
249 writel(val, gs->gpio_io + YU_GPIO_CAUSE_OR_EVTEN0);
250 raw_spin_unlock_irqrestore(&gs->gc.bgpio_lock, flags);
256 struct mlxbf2_gpio_context *gs = gpiochip_get_data(gc);
261 raw_spin_lock_irqsave(&gs->gc.bgpio_lock, flags);
262 val = readl(gs->gpio_io + YU_GPIO_CAUSE_OR_EVTEN0);
264 writel(val, gs->gpio_io + YU_GPIO_CAUSE_OR_EVTEN0);
265 raw_spin_unlock_irqrestore(&gs->gc.bgpio_lock, flags);
271 struct mlxbf2_gpio_context *gs = ptr;
272 struct gpio_chip *gc = &gs->gc;
276 pending = readl(gs->gpio_io + YU_GPIO_CAUSE_OR_CAUSE_EVTEN0);
277 writel(pending, gs->gpio_io + YU_GPIO_CAUSE_OR_CLRCAUSE);
289 struct mlxbf2_gpio_context *gs = gpiochip_get_data(gc);
311 raw_spin_lock_irqsave(&gs->gc.bgpio_lock, flags);
313 val = readl(gs->gpio_io + YU_GPIO_CAUSE_FALL_EN);
315 writel(val, gs->gpio_io + YU_GPIO_CAUSE_FALL_EN);
319 val = readl(gs->gpio_io + YU_GPIO_CAUSE_RISE_EN);
321 writel(val, gs->gpio_io + YU_GPIO_CAUSE_RISE_EN);
323 raw_spin_unlock_irqrestore(&gs->gc.bgpio_lock, flags);
332 struct mlxbf2_gpio_context *gs = gpiochip_get_data(gc);
334 seq_printf(p, dev_name(gs->dev));
350 struct mlxbf2_gpio_context *gs;
360 gs = devm_kzalloc(dev, sizeof(*gs), GFP_KERNEL);
361 if (!gs)
364 gs->dev = dev;
367 gs->gpio_io = devm_platform_ioremap_resource(pdev, 0);
368 if (IS_ERR(gs->gpio_io))
369 return PTR_ERR(gs->gpio_io);
380 gc = &gs->gc;
383 gs->gpio_io + YU_GPIO_DATAIN,
384 gs->gpio_io + YU_GPIO_DATASET,
385 gs->gpio_io + YU_GPIO_DATACLEAR,
402 girq = &gs->gc.irq;
416 IRQF_SHARED, name, gs);
423 platform_set_drvdata(pdev, gs);
425 ret = devm_gpiochip_add_data(dev, &gs->gc, gs);
436 struct mlxbf2_gpio_context *gs = dev_get_drvdata(dev);
438 gs->csave_regs->gpio_mode0 = readl(gs->gpio_io +
440 gs->csave_regs->gpio_mode1 = readl(gs->gpio_io +
448 struct mlxbf2_gpio_context *gs = dev_get_drvdata(dev);
450 writel(gs->csave_regs->gpio_mode0, gs->gpio_io +
452 writel(gs->csave_regs->gpio_mode1, gs->gpio_io +