Lines Matching refs:bg
72 #define bgwrite(dat, adr) writel((dat), bg->mmio+(adr))
73 #define bgread(adr) readl(bg->mmio+(adr))
83 struct bt8xxgpio *bg = gpiochip_get_data(gpio); in bt8xxgpio_gpio_direction_input() local
87 spin_lock_irqsave(&bg->lock, flags); in bt8xxgpio_gpio_direction_input()
97 spin_unlock_irqrestore(&bg->lock, flags); in bt8xxgpio_gpio_direction_input()
104 struct bt8xxgpio *bg = gpiochip_get_data(gpio); in bt8xxgpio_gpio_get() local
108 spin_lock_irqsave(&bg->lock, flags); in bt8xxgpio_gpio_get()
110 spin_unlock_irqrestore(&bg->lock, flags); in bt8xxgpio_gpio_get()
118 struct bt8xxgpio *bg = gpiochip_get_data(gpio); in bt8xxgpio_gpio_direction_output() local
122 spin_lock_irqsave(&bg->lock, flags); in bt8xxgpio_gpio_direction_output()
135 spin_unlock_irqrestore(&bg->lock, flags); in bt8xxgpio_gpio_direction_output()
143 struct bt8xxgpio *bg = gpiochip_get_data(gpio); in bt8xxgpio_gpio_set() local
147 spin_lock_irqsave(&bg->lock, flags); in bt8xxgpio_gpio_set()
156 spin_unlock_irqrestore(&bg->lock, flags); in bt8xxgpio_gpio_set()
159 static void bt8xxgpio_gpio_setup(struct bt8xxgpio *bg) in bt8xxgpio_gpio_setup() argument
161 struct gpio_chip *c = &bg->gpio; in bt8xxgpio_gpio_setup()
163 c->label = dev_name(&bg->pdev->dev); in bt8xxgpio_gpio_setup()
178 struct bt8xxgpio *bg; in bt8xxgpio_probe() local
181 bg = devm_kzalloc(&dev->dev, sizeof(struct bt8xxgpio), GFP_KERNEL); in bt8xxgpio_probe()
182 if (!bg) in bt8xxgpio_probe()
185 bg->pdev = dev; in bt8xxgpio_probe()
186 spin_lock_init(&bg->lock); in bt8xxgpio_probe()
202 pci_set_drvdata(dev, bg); in bt8xxgpio_probe()
204 bg->mmio = devm_ioremap(&dev->dev, pci_resource_start(dev, 0), 0x1000); in bt8xxgpio_probe()
205 if (!bg->mmio) { in bt8xxgpio_probe()
219 bt8xxgpio_gpio_setup(bg); in bt8xxgpio_probe()
220 err = gpiochip_add_data(&bg->gpio, bg); in bt8xxgpio_probe()
236 struct bt8xxgpio *bg = pci_get_drvdata(pdev); in bt8xxgpio_remove() local
238 gpiochip_remove(&bg->gpio); in bt8xxgpio_remove()
250 struct bt8xxgpio *bg = pci_get_drvdata(pdev); in bt8xxgpio_suspend() local
253 spin_lock_irqsave(&bg->lock, flags); in bt8xxgpio_suspend()
255 bg->saved_outen = bgread(BT848_GPIO_OUT_EN); in bt8xxgpio_suspend()
256 bg->saved_data = bgread(BT848_GPIO_DATA); in bt8xxgpio_suspend()
262 spin_unlock_irqrestore(&bg->lock, flags); in bt8xxgpio_suspend()
273 struct bt8xxgpio *bg = pci_get_drvdata(pdev); in bt8xxgpio_resume() local
283 spin_lock_irqsave(&bg->lock, flags); in bt8xxgpio_resume()
288 bgwrite(bg->saved_outen, BT848_GPIO_OUT_EN); in bt8xxgpio_resume()
289 bgwrite(bg->saved_data & bg->saved_outen, in bt8xxgpio_resume()
292 spin_unlock_irqrestore(&bg->lock, flags); in bt8xxgpio_resume()