Symbol: tb10x_gpio
drivers/gpio/gpio-tb10x.c
101
tb10x_gpio = devm_kzalloc(dev, sizeof(*tb10x_gpio), GFP_KERNEL);
drivers/gpio/gpio-tb10x.c
102
if (tb10x_gpio == NULL)
drivers/gpio/gpio-tb10x.c
105
tb10x_gpio->base = devm_platform_ioremap_resource(pdev, 0);
drivers/gpio/gpio-tb10x.c
106
if (IS_ERR(tb10x_gpio->base))
drivers/gpio/gpio-tb10x.c
107
return PTR_ERR(tb10x_gpio->base);
drivers/gpio/gpio-tb10x.c
109
tb10x_gpio->chip.gc.label =
drivers/gpio/gpio-tb10x.c
111
if (!tb10x_gpio->chip.gc.label)
drivers/gpio/gpio-tb10x.c
122
.dat = tb10x_gpio->base + OFFSET_TO_REG_DATA,
drivers/gpio/gpio-tb10x.c
123
.dirout = tb10x_gpio->base + OFFSET_TO_REG_DDR,
drivers/gpio/gpio-tb10x.c
126
ret = gpio_generic_chip_init(&tb10x_gpio->chip, &config);
drivers/gpio/gpio-tb10x.c
131
tb10x_gpio->chip.gc.base = -1;
drivers/gpio/gpio-tb10x.c
132
tb10x_gpio->chip.gc.parent = dev;
drivers/gpio/gpio-tb10x.c
133
tb10x_gpio->chip.gc.owner = THIS_MODULE;
drivers/gpio/gpio-tb10x.c
138
tb10x_gpio->chip.gc.ngpio = ngpio;
drivers/gpio/gpio-tb10x.c
139
tb10x_gpio->chip.gc.request = gpiochip_generic_request;
drivers/gpio/gpio-tb10x.c
140
tb10x_gpio->chip.gc.free = gpiochip_generic_free;
drivers/gpio/gpio-tb10x.c
142
ret = devm_gpiochip_add_data(dev, &tb10x_gpio->chip.gc, tb10x_gpio);
drivers/gpio/gpio-tb10x.c
148
platform_set_drvdata(pdev, tb10x_gpio);
drivers/gpio/gpio-tb10x.c
157
tb10x_gpio->chip.gc.to_irq = tb10x_gpio_to_irq;
drivers/gpio/gpio-tb10x.c
158
tb10x_gpio->irq = ret;
drivers/gpio/gpio-tb10x.c
162
dev_name(dev), tb10x_gpio);
drivers/gpio/gpio-tb10x.c
166
tb10x_gpio->domain = irq_domain_create_linear(dev_fwnode(dev),
drivers/gpio/gpio-tb10x.c
167
tb10x_gpio->chip.gc.ngpio,
drivers/gpio/gpio-tb10x.c
169
if (!tb10x_gpio->domain) {
drivers/gpio/gpio-tb10x.c
173
ret = irq_alloc_domain_generic_chips(tb10x_gpio->domain,
drivers/gpio/gpio-tb10x.c
174
tb10x_gpio->chip.gc.ngpio, 1, tb10x_gpio->chip.gc.label,
drivers/gpio/gpio-tb10x.c
180
gc = tb10x_gpio->domain->gc->gc[0];
drivers/gpio/gpio-tb10x.c
181
gc->reg_base = tb10x_gpio->base;
drivers/gpio/gpio-tb10x.c
194
irq_domain_remove(tb10x_gpio->domain);
drivers/gpio/gpio-tb10x.c
200
struct tb10x_gpio *tb10x_gpio = platform_get_drvdata(pdev);
drivers/gpio/gpio-tb10x.c
202
if (tb10x_gpio->chip.gc.to_irq) {
drivers/gpio/gpio-tb10x.c
203
irq_remove_generic_chip(tb10x_gpio->domain->gc->gc[0],
drivers/gpio/gpio-tb10x.c
204
BIT(tb10x_gpio->chip.gc.ngpio) - 1, 0, 0);
drivers/gpio/gpio-tb10x.c
205
kfree(tb10x_gpio->domain->gc);
drivers/gpio/gpio-tb10x.c
206
irq_domain_remove(tb10x_gpio->domain);
drivers/gpio/gpio-tb10x.c
48
static inline u32 tb10x_reg_read(struct tb10x_gpio *gpio, unsigned int offs)
drivers/gpio/gpio-tb10x.c
55
struct tb10x_gpio *tb10x_gpio = gpiochip_get_data(chip);
drivers/gpio/gpio-tb10x.c
57
return irq_create_mapping(tb10x_gpio->domain, offset);
drivers/gpio/gpio-tb10x.c
74
struct tb10x_gpio *tb10x_gpio = data;
drivers/gpio/gpio-tb10x.c
75
u32 r = tb10x_reg_read(tb10x_gpio, OFFSET_TO_REG_CHANGE);
drivers/gpio/gpio-tb10x.c
76
u32 m = tb10x_reg_read(tb10x_gpio, OFFSET_TO_REG_INT_EN);
drivers/gpio/gpio-tb10x.c
81
generic_handle_domain_irq(tb10x_gpio->domain, i);
drivers/gpio/gpio-tb10x.c
89
struct tb10x_gpio *tb10x_gpio;