Lines Matching defs:gpio
3 * linux/drivers/gpio/gpio-mb86s7x.c
18 #include <linux/gpio/driver.h>
43 static int mb86s70_gpio_request(struct gpio_chip *gc, unsigned gpio)
51 val = readl(gchip->base + PFR(gpio));
52 val &= ~OFFSET(gpio);
53 writel(val, gchip->base + PFR(gpio));
60 static void mb86s70_gpio_free(struct gpio_chip *gc, unsigned gpio)
68 val = readl(gchip->base + PFR(gpio));
69 val |= OFFSET(gpio);
70 writel(val, gchip->base + PFR(gpio));
75 static int mb86s70_gpio_direction_input(struct gpio_chip *gc, unsigned gpio)
83 val = readl(gchip->base + DDR(gpio));
84 val &= ~OFFSET(gpio);
85 writel(val, gchip->base + DDR(gpio));
93 unsigned gpio, int value)
101 val = readl(gchip->base + PDR(gpio));
103 val |= OFFSET(gpio);
105 val &= ~OFFSET(gpio);
106 writel(val, gchip->base + PDR(gpio));
108 val = readl(gchip->base + DDR(gpio));
109 val |= OFFSET(gpio);
110 writel(val, gchip->base + DDR(gpio));
117 static int mb86s70_gpio_get(struct gpio_chip *gc, unsigned gpio)
121 return !!(readl(gchip->base + PDR(gpio)) & OFFSET(gpio));
124 static void mb86s70_gpio_set(struct gpio_chip *gc, unsigned gpio, int value)
132 val = readl(gchip->base + PDR(gpio));
134 val |= OFFSET(gpio);
136 val &= ~OFFSET(gpio);
137 writel(val, gchip->base + PDR(gpio));
198 dev_err(&pdev->dev, "couldn't register gpio driver\n");
220 { .compatible = "fujitsu,mb86s70-gpio" },
235 .name = "mb86s70-gpio",
245 MODULE_ALIAS("platform:mb86s70-gpio");