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 = container_of(gpio, struct bt8xxgpio, 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 = container_of(gpio, struct bt8xxgpio, 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 = container_of(gpio, struct bt8xxgpio, 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 = container_of(gpio, struct bt8xxgpio, 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 = kzalloc(sizeof(*bg), 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 = ioremap(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(&bg->gpio); in bt8xxgpio_probe()
235 kfree(bg); in bt8xxgpio_probe()
242 struct bt8xxgpio *bg = pci_get_drvdata(pdev); in bt8xxgpio_remove() local
244 gpiochip_remove(&bg->gpio); in bt8xxgpio_remove()
250 iounmap(bg->mmio); in bt8xxgpio_remove()
256 kfree(bg); in bt8xxgpio_remove()
262 struct bt8xxgpio *bg = pci_get_drvdata(pdev); in bt8xxgpio_suspend() local
265 spin_lock_irqsave(&bg->lock, flags); in bt8xxgpio_suspend()
267 bg->saved_outen = bgread(BT848_GPIO_OUT_EN); in bt8xxgpio_suspend()
268 bg->saved_data = bgread(BT848_GPIO_DATA); in bt8xxgpio_suspend()
274 spin_unlock_irqrestore(&bg->lock, flags); in bt8xxgpio_suspend()
285 struct bt8xxgpio *bg = pci_get_drvdata(pdev); in bt8xxgpio_resume() local
295 spin_lock_irqsave(&bg->lock, flags); in bt8xxgpio_resume()
300 bgwrite(bg->saved_outen, BT848_GPIO_OUT_EN); in bt8xxgpio_resume()
301 bgwrite(bg->saved_data & bg->saved_outen, in bt8xxgpio_resume()
304 spin_unlock_irqrestore(&bg->lock, flags); in bt8xxgpio_resume()