Lines Matching refs:gs
125 static int mlxbf2_gpio_lock_acquire(struct mlxbf2_gpio_context *gs)
130 spin_lock(&gs->gc.bgpio_lock);
138 spin_unlock(&gs->gc.bgpio_lock);
151 static void mlxbf2_gpio_lock_release(struct mlxbf2_gpio_context *gs)
152 __releases(&gs->gc.bgpio_lock)
156 spin_unlock(&gs->gc.bgpio_lock);
181 struct mlxbf2_gpio_context *gs = gpiochip_get_data(chip);
188 ret = mlxbf2_gpio_lock_acquire(gs);
192 writel(BIT(offset), gs->gpio_io + YU_GPIO_MODE0_CLEAR);
193 writel(BIT(offset), gs->gpio_io + YU_GPIO_MODE1_CLEAR);
195 mlxbf2_gpio_lock_release(gs);
208 struct mlxbf2_gpio_context *gs = gpiochip_get_data(chip);
216 ret = mlxbf2_gpio_lock_acquire(gs);
220 writel(BIT(offset), gs->gpio_io + YU_GPIO_MODE1_CLEAR);
221 writel(BIT(offset), gs->gpio_io + YU_GPIO_MODE0_SET);
223 mlxbf2_gpio_lock_release(gs);
232 struct mlxbf2_gpio_context *gs;
239 gs = devm_kzalloc(dev, sizeof(*gs), GFP_KERNEL);
240 if (!gs)
248 gs->gpio_io = devm_ioremap(dev, res->start, resource_size(res));
249 if (!gs->gpio_io)
261 gc = &gs->gc;
264 gs->gpio_io + YU_GPIO_DATAIN,
265 gs->gpio_io + YU_GPIO_DATASET,
266 gs->gpio_io + YU_GPIO_DATACLEAR,
281 platform_set_drvdata(pdev, gs);
283 ret = devm_gpiochip_add_data(dev, &gs->gc, gs);
296 struct mlxbf2_gpio_context *gs = platform_get_drvdata(pdev);
298 gs->csave_regs->gpio_mode0 = readl(gs->gpio_io +
300 gs->csave_regs->gpio_mode1 = readl(gs->gpio_io +
308 struct mlxbf2_gpio_context *gs = platform_get_drvdata(pdev);
310 writel(gs->csave_regs->gpio_mode0, gs->gpio_io +
312 writel(gs->csave_regs->gpio_mode1, gs->gpio_io +