Lines Matching +full:multi +full:- +full:chip
1 // SPDX-License-Identifier: GPL-2.0+
3 * Access to GPOs on TWL6040 chip
23 static int twl6040gpo_get(struct gpio_chip *chip, unsigned offset) in twl6040gpo_get() argument
25 struct twl6040 *twl6040 = dev_get_drvdata(chip->parent->parent); in twl6040gpo_get()
35 static int twl6040gpo_get_direction(struct gpio_chip *chip, unsigned offset) in twl6040gpo_get_direction() argument
40 static int twl6040gpo_direction_out(struct gpio_chip *chip, unsigned offset, in twl6040gpo_direction_out() argument
47 static void twl6040gpo_set(struct gpio_chip *chip, unsigned offset, int value) in twl6040gpo_set() argument
49 struct twl6040 *twl6040 = dev_get_drvdata(chip->parent->parent); in twl6040gpo_set()
75 /*----------------------------------------------------------------------*/
79 struct device *twl6040_core_dev = pdev->dev.parent; in gpo_twl6040_probe()
83 device_set_node(&pdev->dev, dev_fwnode(pdev->dev.parent)); in gpo_twl6040_probe()
85 twl6040gpo_chip.base = -1; in gpo_twl6040_probe()
92 twl6040gpo_chip.parent = &pdev->dev; in gpo_twl6040_probe()
94 ret = devm_gpiochip_add_data(&pdev->dev, &twl6040gpo_chip, NULL); in gpo_twl6040_probe()
96 dev_err(&pdev->dev, "could not register gpiochip, %d\n", ret); in gpo_twl6040_probe()
103 /* Note: this hardware lives inside an I2C-based multi-function device. */
104 MODULE_ALIAS("platform:twl6040-gpo");
108 .name = "twl6040-gpo",