Lines Matching refs:pt_gpio

33 	struct pt_gpio_chip *pt_gpio = gpiochip_get_data(gc);  in pt_gpio_request()  local
41 using_pins = readl(pt_gpio->reg_base + PT_SYNC_REG); in pt_gpio_request()
49 writel(using_pins | BIT(offset), pt_gpio->reg_base + PT_SYNC_REG); in pt_gpio_request()
58 struct pt_gpio_chip *pt_gpio = gpiochip_get_data(gc); in pt_gpio_free() local
64 using_pins = readl(pt_gpio->reg_base + PT_SYNC_REG); in pt_gpio_free()
66 writel(using_pins, pt_gpio->reg_base + PT_SYNC_REG); in pt_gpio_free()
76 struct pt_gpio_chip *pt_gpio; in pt_gpio_probe() local
84 pt_gpio = devm_kzalloc(dev, sizeof(struct pt_gpio_chip), GFP_KERNEL); in pt_gpio_probe()
85 if (!pt_gpio) in pt_gpio_probe()
88 pt_gpio->reg_base = devm_platform_ioremap_resource(pdev, 0); in pt_gpio_probe()
89 if (IS_ERR(pt_gpio->reg_base)) { in pt_gpio_probe()
91 return PTR_ERR(pt_gpio->reg_base); in pt_gpio_probe()
94 ret = bgpio_init(&pt_gpio->gc, dev, 4, in pt_gpio_probe()
95 pt_gpio->reg_base + PT_INPUTDATA_REG, in pt_gpio_probe()
96 pt_gpio->reg_base + PT_OUTPUTDATA_REG, NULL, in pt_gpio_probe()
97 pt_gpio->reg_base + PT_DIRECTION_REG, NULL, in pt_gpio_probe()
104 pt_gpio->gc.owner = THIS_MODULE; in pt_gpio_probe()
105 pt_gpio->gc.request = pt_gpio_request; in pt_gpio_probe()
106 pt_gpio->gc.free = pt_gpio_free; in pt_gpio_probe()
107 pt_gpio->gc.ngpio = (uintptr_t)device_get_match_data(dev); in pt_gpio_probe()
109 ret = gpiochip_add_data(&pt_gpio->gc, pt_gpio); in pt_gpio_probe()
115 platform_set_drvdata(pdev, pt_gpio); in pt_gpio_probe()
118 writel(0, pt_gpio->reg_base + PT_SYNC_REG); in pt_gpio_probe()
119 writel(0, pt_gpio->reg_base + PT_CLOCKRATE_REG); in pt_gpio_probe()
127 struct pt_gpio_chip *pt_gpio = platform_get_drvdata(pdev); in pt_gpio_remove() local
129 gpiochip_remove(&pt_gpio->gc); in pt_gpio_remove()