Lines Matching refs:gc
41 struct lpc18xx_gpio_chip *gc = to_lpc18xx_gpio(chip); in lpc18xx_gpio_set() local
42 writeb(value ? 1 : 0, gc->base + offset); in lpc18xx_gpio_set()
47 struct lpc18xx_gpio_chip *gc = to_lpc18xx_gpio(chip); in lpc18xx_gpio_get() local
48 return !!readb(gc->base + offset); in lpc18xx_gpio_get()
54 struct lpc18xx_gpio_chip *gc = to_lpc18xx_gpio(chip); in lpc18xx_gpio_direction() local
61 spin_lock_irqsave(&gc->lock, flags); in lpc18xx_gpio_direction()
62 dir = readl(gc->base + LPC18XX_REG_DIR(port)); in lpc18xx_gpio_direction()
67 writel(dir, gc->base + LPC18XX_REG_DIR(port)); in lpc18xx_gpio_direction()
68 spin_unlock_irqrestore(&gc->lock, flags); in lpc18xx_gpio_direction()
100 struct lpc18xx_gpio_chip *gc; in lpc18xx_gpio_probe() local
104 gc = devm_kzalloc(&pdev->dev, sizeof(*gc), GFP_KERNEL); in lpc18xx_gpio_probe()
105 if (!gc) in lpc18xx_gpio_probe()
108 gc->gpio = lpc18xx_chip; in lpc18xx_gpio_probe()
109 platform_set_drvdata(pdev, gc); in lpc18xx_gpio_probe()
112 gc->base = devm_ioremap_resource(&pdev->dev, res); in lpc18xx_gpio_probe()
113 if (IS_ERR(gc->base)) in lpc18xx_gpio_probe()
114 return PTR_ERR(gc->base); in lpc18xx_gpio_probe()
116 gc->clk = devm_clk_get(&pdev->dev, NULL); in lpc18xx_gpio_probe()
117 if (IS_ERR(gc->clk)) { in lpc18xx_gpio_probe()
119 return PTR_ERR(gc->clk); in lpc18xx_gpio_probe()
122 ret = clk_prepare_enable(gc->clk); in lpc18xx_gpio_probe()
128 spin_lock_init(&gc->lock); in lpc18xx_gpio_probe()
130 gc->gpio.dev = &pdev->dev; in lpc18xx_gpio_probe()
132 ret = gpiochip_add(&gc->gpio); in lpc18xx_gpio_probe()
135 clk_disable_unprepare(gc->clk); in lpc18xx_gpio_probe()
144 struct lpc18xx_gpio_chip *gc = platform_get_drvdata(pdev); in lpc18xx_gpio_remove() local
146 gpiochip_remove(&gc->gpio); in lpc18xx_gpio_remove()
147 clk_disable_unprepare(gc->clk); in lpc18xx_gpio_remove()