Symbol: tb10x_gpio
drivers/gpio/gpio-tb10x.c
102
tb10x_gpio = devm_kzalloc(dev, sizeof(*tb10x_gpio), GFP_KERNEL);
drivers/gpio/gpio-tb10x.c
103
if (tb10x_gpio == NULL)
drivers/gpio/gpio-tb10x.c
106
tb10x_gpio->base = devm_platform_ioremap_resource(pdev, 0);
drivers/gpio/gpio-tb10x.c
107
if (IS_ERR(tb10x_gpio->base))
drivers/gpio/gpio-tb10x.c
108
return PTR_ERR(tb10x_gpio->base);
drivers/gpio/gpio-tb10x.c
110
tb10x_gpio->chip.gc.label =
drivers/gpio/gpio-tb10x.c
112
if (!tb10x_gpio->chip.gc.label)
drivers/gpio/gpio-tb10x.c
123
.dat = tb10x_gpio->base + OFFSET_TO_REG_DATA,
drivers/gpio/gpio-tb10x.c
124
.dirout = tb10x_gpio->base + OFFSET_TO_REG_DDR,
drivers/gpio/gpio-tb10x.c
127
ret = gpio_generic_chip_init(&tb10x_gpio->chip, &config);
drivers/gpio/gpio-tb10x.c
132
tb10x_gpio->chip.gc.base = -1;
drivers/gpio/gpio-tb10x.c
133
tb10x_gpio->chip.gc.parent = dev;
drivers/gpio/gpio-tb10x.c
134
tb10x_gpio->chip.gc.owner = THIS_MODULE;
drivers/gpio/gpio-tb10x.c
139
tb10x_gpio->chip.gc.ngpio = ngpio;
drivers/gpio/gpio-tb10x.c
140
tb10x_gpio->chip.gc.request = gpiochip_generic_request;
drivers/gpio/gpio-tb10x.c
141
tb10x_gpio->chip.gc.free = gpiochip_generic_free;
drivers/gpio/gpio-tb10x.c
143
ret = devm_gpiochip_add_data(dev, &tb10x_gpio->chip.gc, tb10x_gpio);
drivers/gpio/gpio-tb10x.c
149
platform_set_drvdata(pdev, tb10x_gpio);
drivers/gpio/gpio-tb10x.c
158
tb10x_gpio->chip.gc.to_irq = tb10x_gpio_to_irq;
drivers/gpio/gpio-tb10x.c
159
tb10x_gpio->irq = ret;
drivers/gpio/gpio-tb10x.c
163
dev_name(dev), tb10x_gpio);
drivers/gpio/gpio-tb10x.c
167
tb10x_gpio->domain = irq_domain_create_linear(dev_fwnode(dev),
drivers/gpio/gpio-tb10x.c
168
tb10x_gpio->chip.gc.ngpio,
drivers/gpio/gpio-tb10x.c
170
if (!tb10x_gpio->domain) {
drivers/gpio/gpio-tb10x.c
174
ret = irq_alloc_domain_generic_chips(tb10x_gpio->domain,
drivers/gpio/gpio-tb10x.c
175
tb10x_gpio->chip.gc.ngpio, 1, tb10x_gpio->chip.gc.label,
drivers/gpio/gpio-tb10x.c
181
gc = tb10x_gpio->domain->gc->gc[0];
drivers/gpio/gpio-tb10x.c
182
gc->reg_base = tb10x_gpio->base;
drivers/gpio/gpio-tb10x.c
195
irq_domain_remove(tb10x_gpio->domain);
drivers/gpio/gpio-tb10x.c
201
struct tb10x_gpio *tb10x_gpio = platform_get_drvdata(pdev);
drivers/gpio/gpio-tb10x.c
203
if (tb10x_gpio->chip.gc.to_irq) {
drivers/gpio/gpio-tb10x.c
204
irq_remove_generic_chip(tb10x_gpio->domain->gc->gc[0],
drivers/gpio/gpio-tb10x.c
205
BIT(tb10x_gpio->chip.gc.ngpio) - 1, 0, 0);
drivers/gpio/gpio-tb10x.c
206
kfree(tb10x_gpio->domain->gc);
drivers/gpio/gpio-tb10x.c
207
irq_domain_remove(tb10x_gpio->domain);
drivers/gpio/gpio-tb10x.c
49
static inline u32 tb10x_reg_read(struct tb10x_gpio *gpio, unsigned int offs)
drivers/gpio/gpio-tb10x.c
56
struct tb10x_gpio *tb10x_gpio = gpiochip_get_data(chip);
drivers/gpio/gpio-tb10x.c
58
return irq_create_mapping(tb10x_gpio->domain, offset);
drivers/gpio/gpio-tb10x.c
75
struct tb10x_gpio *tb10x_gpio = data;
drivers/gpio/gpio-tb10x.c
76
u32 r = tb10x_reg_read(tb10x_gpio, OFFSET_TO_REG_CHANGE);
drivers/gpio/gpio-tb10x.c
77
u32 m = tb10x_reg_read(tb10x_gpio, OFFSET_TO_REG_INT_EN);
drivers/gpio/gpio-tb10x.c
82
generic_handle_domain_irq(tb10x_gpio->domain, i);
drivers/gpio/gpio-tb10x.c
90
struct tb10x_gpio *tb10x_gpio;