Lines Matching refs:fwnode

63 	struct fwnode_handle *fwnode = dev_fwnode(dev);  in gpio_bus_match()  local
69 if (fwnode && fwnode->dev != dev) in gpio_bus_match()
932 struct fwnode_handle *fwnode = dev_fwnode(&gdev->dev); in gpiochip_setup_dev() local
939 if (fwnode && !fwnode->dev) in gpiochip_setup_dev()
940 fwnode_dev_initialized(fwnode, false); in gpiochip_setup_dev()
960 int gpiochip_add_hog(struct gpio_chip *gc, struct fwnode_handle *fwnode) in gpiochip_add_hog() argument
982 argc = fwnode_property_count_u32(fwnode, "gpios"); in gpiochip_add_hog()
987 if (ret && is_of_node(fwnode)) in gpiochip_add_hog()
998 ret = fwnode_property_read_u32_array(fwnode, "gpios", gpios, argc); in gpiochip_add_hog()
1002 if (fwnode_property_present(fwnode, "input")) { in gpiochip_add_hog()
1004 } else if (fwnode_property_present(fwnode, "output-low")) { in gpiochip_add_hog()
1006 } else if (fwnode_property_present(fwnode, "output-high")) { in gpiochip_add_hog()
1010 fwnode); in gpiochip_add_hog()
1014 fwnode_property_read_string(fwnode, "line-name", &name); in gpiochip_add_hog()
1017 if (is_of_node(fwnode)) { in gpiochip_add_hog()
1023 gpiospec.fwnode = fwnode; in gpiochip_add_hog()
1038 name = to_of_node(fwnode)->name; in gpiochip_add_hog()
1064 device_for_each_child_node_scoped(&gc->gpiodev->dev, fwnode) { in gpiochip_hog_lines()
1065 if (!fwnode_property_present(fwnode, "gpio-hog")) in gpiochip_hog_lines()
1069 if (is_of_node(fwnode) && in gpiochip_hog_lines()
1070 of_node_check_flag(to_of_node(fwnode), OF_POPULATED)) in gpiochip_hog_lines()
1073 ret = gpiochip_add_hog(gc, fwnode); in gpiochip_hog_lines()
1077 if (is_of_node(fwnode)) in gpiochip_hog_lines()
1078 of_node_set_flag(to_of_node(fwnode), OF_POPULATED); in gpiochip_hog_lines()
1135 if (gc->fwnode) in gpiochip_choose_fwnode()
1136 return gc->fwnode; in gpiochip_choose_fwnode()
1146 struct fwnode_handle *fwnode = gpiochip_choose_fwnode(gc); in gpiochip_get_ngpios() local
1151 ret = fwnode_property_read_u32(fwnode, "ngpios", &ngpios); in gpiochip_get_ngpios()
1526 static int gpio_chip_match_by_fwnode(struct gpio_chip *gc, const void *fwnode) in gpio_chip_match_by_fwnode() argument
1531 if (IS_ERR(fwnode)) in gpio_chip_match_by_fwnode()
1534 if (device_match_fwnode(dev, fwnode)) in gpio_chip_match_by_fwnode()
1537 return node && node->secondary == fwnode; in gpio_chip_match_by_fwnode()
1549 struct gpio_device *gpio_device_find_by_fwnode(const struct fwnode_handle *fwnode) in gpio_device_find_by_fwnode() argument
1551 return gpio_device_find((void *)fwnode, gpio_chip_match_by_fwnode); in gpio_device_find_by_fwnode()
1657 if (is_of_node(gc->irq.fwnode)) in gpiochip_set_hierarchical_irqchip()
1668 if (is_fwnode_irqchip(gc->irq.fwnode)) { in gpiochip_set_hierarchical_irqchip()
1693 fwspec.fwnode = gc->irq.fwnode; in gpiochip_set_hierarchical_irqchip()
1720 if (is_of_node(fwspec->fwnode)) in gpiochip_hierarchy_irq_domain_translate()
1724 if (is_fwnode_irqchip(fwspec->fwnode)) { in gpiochip_hierarchy_irq_domain_translate()
1878 !gc->irq.fwnode) { in gpiochip_hierarchy_create_domain()
1896 gc->irq.fwnode, in gpiochip_hierarchy_create_domain()
1920 fwspec->fwnode = gc->irq.parent_domain->fwnode; in gpiochip_populate_parent_fwspec_twocell()
1936 fwspec->fwnode = gc->irq.parent_domain->fwnode; in gpiochip_populate_parent_fwspec_fourcell()
2026 struct fwnode_handle *fwnode = fwspec->fwnode; in gpiochip_irq_select() local
2030 if (fwspec->param_count == 3 && is_of_node(fwnode)) in gpiochip_irq_select()
2034 return (fwnode && (d->fwnode == fwnode) && (d->bus_token == bus_token)); in gpiochip_irq_select()
2047 struct fwnode_handle *fwnode = dev_fwnode(&gc->gpiodev->dev); in gpiochip_simple_create_domain() local
2050 domain = irq_domain_create_simple(fwnode, gc->ngpio, gc->irq.first, in gpiochip_simple_create_domain()
2077 spec.fwnode = domain->fwnode; in gpiochip_to_irq()
2229 struct fwnode_handle *fwnode = dev_fwnode(&gc->gpiodev->dev); in gpiochip_add_irqchip() local
2251 if (WARN(fwnode && type != IRQ_TYPE_NONE, in gpiochip_add_irqchip()
2252 "%pfw: Ignoring %u default trigger\n", fwnode, type)) in gpiochip_add_irqchip()
4745 static struct gpio_desc *gpiod_find_by_fwnode(struct fwnode_handle *fwnode, in gpiod_find_by_fwnode() argument
4755 if (is_of_node(fwnode)) { in gpiod_find_by_fwnode()
4756 dev_dbg(consumer, "using DT '%pfw' for '%s' GPIO lookup\n", fwnode, name); in gpiod_find_by_fwnode()
4757 desc = of_find_gpio(to_of_node(fwnode), con_id, idx, lookupflags); in gpiod_find_by_fwnode()
4758 } else if (is_acpi_node(fwnode)) { in gpiod_find_by_fwnode()
4759 dev_dbg(consumer, "using ACPI '%pfw' for '%s' GPIO lookup\n", fwnode, name); in gpiod_find_by_fwnode()
4760 desc = acpi_find_gpio(fwnode, con_id, idx, flags, lookupflags); in gpiod_find_by_fwnode()
4761 } else if (is_software_node(fwnode)) { in gpiod_find_by_fwnode()
4762 dev_dbg(consumer, "using swnode '%pfw' for '%s' GPIO lookup\n", fwnode, name); in gpiod_find_by_fwnode()
4763 desc = swnode_find_gpio(fwnode, con_id, idx, lookupflags); in gpiod_find_by_fwnode()
4769 static struct gpio_desc *gpiod_fwnode_lookup(struct fwnode_handle *fwnode, in gpiod_fwnode_lookup() argument
4778 desc = gpiod_find_by_fwnode(fwnode, consumer, con_id, idx, flags, lookupflags); in gpiod_fwnode_lookup()
4779 if (gpiod_not_found(desc) && !IS_ERR_OR_NULL(fwnode)) in gpiod_fwnode_lookup()
4780 desc = gpiod_find_by_fwnode(fwnode->secondary, consumer, con_id, in gpiod_fwnode_lookup()
4787 struct fwnode_handle *fwnode, in gpiod_find_and_request() argument
4804 desc = gpiod_fwnode_lookup(fwnode, consumer, con_id, idx, in gpiod_find_and_request()
4814 ret = gpio_shared_add_proxy_lookup(consumer, fwnode, in gpiod_find_and_request()
4901 struct gpio_desc *fwnode_gpiod_get_index(struct fwnode_handle *fwnode, in fwnode_gpiod_get_index() argument
4907 return gpiod_find_and_request(NULL, fwnode, con_id, index, flags, label, false); in fwnode_gpiod_get_index()
4922 const struct fwnode_handle *fwnode = dev ? dev_fwnode(dev) : NULL; in gpiod_count() local
4925 if (is_of_node(fwnode)) in gpiod_count()
4926 count = of_gpio_count(fwnode, con_id); in gpiod_count()
4927 else if (is_acpi_node(fwnode)) in gpiod_count()
4928 count = acpi_gpio_count(fwnode, con_id); in gpiod_count()
4929 else if (is_software_node(fwnode)) in gpiod_count()
4930 count = swnode_gpio_count(fwnode, con_id); in gpiod_count()
5075 struct fwnode_handle *fwnode = dev ? dev_fwnode(dev) : NULL; in gpiod_get_index() local
5079 return gpiod_find_and_request(dev, fwnode, con_id, idx, flags, label, true); in gpiod_get_index()