Lines Matching refs:pmap

64 	struct dc_pinmap *pmap = pinctrl_dev_get_drvdata(pctldev);  in dc_get_group_name()  local
67 return pmap->desc->pins[selector].name; in dc_get_group_name()
74 struct dc_pinmap *pmap = pinctrl_dev_get_drvdata(pctldev); in dc_get_group_pins() local
76 *pins = &pmap->desc->pins[selector].number; in dc_get_group_pins()
111 struct dc_pinmap *pmap = pinctrl_dev_get_drvdata(pctldev); in dc_get_groups() local
113 *groups = pmap->pin_names; in dc_get_groups()
133 struct dc_pinmap *pmap = pinctrl_dev_get_drvdata(pctldev); in dc_set_mux() local
139 reg = readb_relaxed(pmap->regs + reg_off); in dc_set_mux()
142 writeb_relaxed(reg, pmap->regs + reg_off); in dc_set_mux()
151 struct dc_pinmap *pmap = pinctrl_dev_get_drvdata(pcdev); in dc_pmx_request_gpio() local
157 reg = readb_relaxed(pmap->regs + reg_off); in dc_pmx_request_gpio()
174 struct dc_pinmap *pmap = container_of(chip, struct dc_pinmap, chip); in dc_gpio_direction_input() local
180 spin_lock_irqsave(&pmap->lock, flags); in dc_gpio_direction_input()
181 drive = readb_relaxed(pmap->regs + reg_off); in dc_gpio_direction_input()
183 writeb_relaxed(drive, pmap->regs + reg_off); in dc_gpio_direction_input()
184 spin_unlock_irqrestore(&pmap->lock, flags); in dc_gpio_direction_input()
194 struct dc_pinmap *pmap = container_of(chip, struct dc_pinmap, chip); in dc_gpio_direction_output() local
202 spin_lock_irqsave(&pmap->lock, flags); in dc_gpio_direction_output()
203 drive = readb_relaxed(pmap->regs + reg_off); in dc_gpio_direction_output()
205 writeb_relaxed(drive, pmap->regs + reg_off); in dc_gpio_direction_output()
206 spin_unlock_irqrestore(&pmap->lock, flags); in dc_gpio_direction_output()
213 struct dc_pinmap *pmap = container_of(chip, struct dc_pinmap, chip); in dc_gpio_get() local
218 input = readb_relaxed(pmap->regs + reg_off); in dc_gpio_get()
225 struct dc_pinmap *pmap = container_of(chip, struct dc_pinmap, chip); in dc_gpio_set() local
231 spin_lock_irqsave(&pmap->lock, flags); in dc_gpio_set()
232 output = readb_relaxed(pmap->regs + reg_off); in dc_gpio_set()
237 writeb_relaxed(output, pmap->regs + reg_off); in dc_gpio_set()
238 spin_unlock_irqrestore(&pmap->lock, flags); in dc_gpio_set()
241 static int dc_gpiochip_add(struct dc_pinmap *pmap, struct device_node *np) in dc_gpiochip_add() argument
243 struct gpio_chip *chip = &pmap->chip; in dc_gpiochip_add()
247 chip->dev = pmap->dev; in dc_gpiochip_add()
259 spin_lock_init(&pmap->lock); in dc_gpiochip_add()
265 ret = gpiochip_add_pin_range(chip, dev_name(pmap->dev), 0, 0, in dc_gpiochip_add()
277 struct dc_pinmap *pmap; in dc_pinctrl_probe() local
285 pmap = devm_kzalloc(&pdev->dev, sizeof(*pmap), GFP_KERNEL); in dc_pinctrl_probe()
286 if (!pmap) in dc_pinctrl_probe()
290 pmap->regs = devm_ioremap_resource(&pdev->dev, r); in dc_pinctrl_probe()
291 if (IS_ERR(pmap->regs)) in dc_pinctrl_probe()
292 return PTR_ERR(pmap->regs); in dc_pinctrl_probe()
311 pmap->pin_names[pin_id] = name; in dc_pinctrl_probe()
325 pmap->desc = pctl_desc; in dc_pinctrl_probe()
327 pmap->dev = &pdev->dev; in dc_pinctrl_probe()
329 pmap->pctl = pinctrl_register(pctl_desc, &pdev->dev, pmap); in dc_pinctrl_probe()
330 if (IS_ERR(pmap->pctl)) { in dc_pinctrl_probe()
332 return PTR_ERR(pmap->pctl); in dc_pinctrl_probe()
335 ret = dc_gpiochip_add(pmap, pdev->dev.of_node); in dc_pinctrl_probe()
337 pinctrl_unregister(pmap->pctl); in dc_pinctrl_probe()
346 struct dc_pinmap *pmap = platform_get_drvdata(pdev); in dc_pinctrl_remove() local
348 pinctrl_unregister(pmap->pctl); in dc_pinctrl_remove()
349 gpiochip_remove(&pmap->chip); in dc_pinctrl_remove()