Home
last modified time | relevance | path

Searched refs:fwnode (Results 1 – 25 of 431) sorted by relevance

12345678910>>...18

/linux/drivers/base/
H A Dproperty.c24 of_fwnode_handle(dev->of_node) : dev->fwnode; in __dev_fwnode()
31 of_fwnode_handle(dev->of_node) : dev->fwnode; in __dev_fwnode_const()
63 bool fwnode_property_present(const struct fwnode_handle *fwnode, in fwnode_property_present() argument
68 if (IS_ERR_OR_NULL(fwnode)) in fwnode_property_present()
71 ret = fwnode_call_bool_op(fwnode, property_present, propname); in fwnode_property_present()
75 return fwnode_call_bool_op(fwnode->secondary, property_present, propname); in fwnode_property_present()
103 bool fwnode_property_read_bool(const struct fwnode_handle *fwnode, in fwnode_property_read_bool() argument
108 if (IS_ERR_OR_NULL(fwnode)) in fwnode_property_read_bool()
111 ret = fwnode_call_bool_op(fwnode, property_read_bool, propname); in fwnode_property_read_bool()
115 return fwnode_call_bool_op(fwnode->secondary, property_read_bool, propname); in fwnode_property_read_bool()
[all …]
/linux/drivers/acpi/
H A Dproperty.c97 fwnode_init(&dn->fwnode, &acpi_data_fwnode_ops); in acpi_nondev_subnode_extract()
123 if (acpi_enumerate_nondev_subnodes(scope, desc, &dn->data, &dn->fwnode)) in acpi_nondev_subnode_extract()
756 acpi_device_data_of_node(const struct fwnode_handle *fwnode) in acpi_device_data_of_node() argument
758 if (is_acpi_device_node(fwnode)) { in acpi_device_data_of_node()
759 const struct acpi_device *adev = to_acpi_device_node(fwnode); in acpi_device_data_of_node()
762 if (is_acpi_data_node(fwnode)) { in acpi_device_data_of_node()
763 const struct acpi_data_node *dn = to_acpi_data_node(fwnode); in acpi_device_data_of_node()
775 int acpi_node_prop_get(const struct fwnode_handle *fwnode, in acpi_node_prop_get() argument
778 return acpi_data_get_property(acpi_device_data_of_node(fwnode), in acpi_node_prop_get()
827 acpi_fwnode_get_named_child_node(const struct fwnode_handle *fwnode, in acpi_fwnode_get_named_child_node() argument
[all …]
H A Dirq.c63 fwspec.fwnode = acpi_get_gsi_domain_id(gsi); in acpi_register_gsi()
64 if (WARN_ON(!fwspec.fwnode)) { in acpi_register_gsi()
132 result = &device->fwnode; in acpi_get_irq_source_fwhandle()
164 static inline void acpi_irq_parse_one_match(struct fwnode_handle *fwnode, in acpi_irq_parse_one_match() argument
170 if (!fwnode) in acpi_irq_parse_one_match()
174 ctx->fwspec->fwnode = fwnode; in acpi_irq_parse_one_match()
204 struct fwnode_handle *fwnode; in acpi_irq_parse_one_cb() local
213 fwnode = acpi_get_gsi_domain_id(irq->interrupts[ctx->index]); in acpi_irq_parse_one_cb()
214 acpi_irq_parse_one_match(fwnode, irq->interrupts[ctx->index], in acpi_irq_parse_one_cb()
226 fwnode = acpi_get_irq_source_fwhandle(&eirq->resource_source, in acpi_irq_parse_one_cb()
[all …]
H A Dviot.c31 struct fwnode_handle *fwnode; member
81 struct fwnode_handle *fwnode; in viot_get_pci_iommu_fwnode() local
90 fwnode = dev_fwnode(&pdev->dev); in viot_get_pci_iommu_fwnode()
91 if (!fwnode) { in viot_get_pci_iommu_fwnode()
96 fwnode = acpi_alloc_fwnode_static(); in viot_get_pci_iommu_fwnode()
97 if (!fwnode) { in viot_get_pci_iommu_fwnode()
101 set_primary_fwnode(&pdev->dev, fwnode); in viot_get_pci_iommu_fwnode()
103 viommu->fwnode = dev_fwnode(&pdev->dev); in viot_get_pci_iommu_fwnode()
123 viommu->fwnode = &adev->fwnode; in viot_get_mmio_iommu_fwnode()
314 if (device_match_fwnode(dev, viommu->fwnode)) in viot_dev_iommu_init()
[all …]
/linux/drivers/platform/x86/intel/
H A Dchtwc_int33fe.c163 struct fwnode_handle *fwnode; in cht_int33fe_setup_dp() local
166 fwnode = software_node_fwnode(&displayport_node); in cht_int33fe_setup_dp()
167 if (!fwnode) in cht_int33fe_setup_dp()
183 fwnode->secondary = ERR_PTR(-ENODEV); in cht_int33fe_setup_dp()
184 data->dp->secondary = fwnode; in cht_int33fe_setup_dp()
202 struct fwnode_handle *fwnode = data; in cht_int33fe_put_swnode() local
204 fwnode_handle_put(fwnode); in cht_int33fe_put_swnode()
265 struct fwnode_handle *fwnode; in cht_int33fe_register_max17047() local
268 fwnode = software_node_fwnode(&max17047_node); in cht_int33fe_register_max17047()
269 if (!fwnode) in cht_int33fe_register_max17047()
[all …]
/linux/drivers/gpio/
H A Dgpiolib-shared.c34 struct fwnode_handle *fwnode; member
51 struct fwnode_handle *fwnode; member
74 if (entry->fwnode == controller_node && entry->offset == offset) in gpio_shared_find_entry()
81 static struct gpio_shared_ref *gpio_shared_make_ref(struct fwnode_handle *fwnode, in gpio_shared_make_ref() argument
103 ref->fwnode = fwnode; in gpio_shared_make_ref()
130 entry->offset, fwnode_get_name(entry->fwnode)); in gpio_shared_setup_reset_proxy()
163 struct fwnode_handle *fwnode; in gpio_shared_of_traverse() local
225 fwnode = of_fwnode_handle(args.np); in gpio_shared_of_traverse()
228 entry = gpio_shared_find_entry(fwnode, offset); in gpio_shared_of_traverse()
234 entry->fwnode = fwnode_handle_get(fwnode); in gpio_shared_of_traverse()
[all …]
H A Dgpiolib.c63 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()
[all …]
/linux/samples/rust/
H A Drust_driver_platform.rs118 if dev.fwnode().is_some_and(|node| node.is_of_node()) { in probe()
128 let fwnode = dev.fwnode().ok_or(ENOENT)?; in properties_parse()
130 if let Ok(idx) = fwnode.property_match_string(c"compatible", c"test,rust-device") { in properties_parse()
135 let prop = fwnode.property_read::<CString>(name).required_by(dev)?; in properties_parse()
139 let prop = fwnode.property_read_bool(c"test,bool-prop"); in properties_parse()
142 if fwnode.property_present(c"test,u32-prop") { in properties_parse()
147 let prop = fwnode.property_read::<u32>(name).or(0x12); in properties_parse()
153 let _ = fwnode.property_read::<u32>(name).required_by(dev); in properties_parse()
156 let prop: u32 = fwnode in properties_parse()
125 let fwnode = dev.fwnode().ok_or(ENOENT)?; properties_parse() localVariable
[all...]
/linux/drivers/irqchip/
H A Dirq-sifive-plic.c71 struct fwnode_handle *fwnode; member
398 handler->priv->fwnode, hwirq); in plic_handle_irq()
490 handler->priv->fwnode, hwirq); in plic_handle_irq_cp100()
520 handler->priv->fwnode, cpu); in plic_starting_cpu()
547 static int plic_parse_nr_irqs_and_contexts(struct fwnode_handle *fwnode, in plic_parse_nr_irqs_and_contexts() argument
553 if (!is_of_node(fwnode)) { in plic_parse_nr_irqs_and_contexts()
554 rc = riscv_acpi_get_gsi_info(fwnode, gsi_base, id, nr_irqs, NULL); in plic_parse_nr_irqs_and_contexts()
556 pr_err("%pfwP: failed to find GSI mapping\n", fwnode); in plic_parse_nr_irqs_and_contexts()
562 pr_err("%pfwP: no PLIC context available\n", fwnode); in plic_parse_nr_irqs_and_contexts()
569 rc = of_property_read_u32(to_of_node(fwnode), "riscv,ndev", nr_irqs); in plic_parse_nr_irqs_and_contexts()
[all …]
H A Dirq-riscv-imsic-platform.c316 if (!imsic || !imsic->fwnode) { in imsic_irqdomain_init()
322 pr_err("%pfwP: irq domain already created\n", imsic->fwnode); in imsic_irqdomain_init()
327 info.fwnode = imsic->fwnode, in imsic_irqdomain_init()
330 pr_err("%pfwP: failed to create IMSIC base domain\n", imsic->fwnode); in imsic_irqdomain_init()
336 imsic->fwnode, global->hart_index_bits, global->guest_index_bits); in imsic_irqdomain_init()
338 imsic->fwnode, global->group_index_bits, global->group_index_shift); in imsic_irqdomain_init()
340 imsic->fwnode, global->nr_ids, &global->base_addr); in imsic_irqdomain_init()
342 imsic->fwnode, num_possible_cpus() * (global->nr_ids - 1)); in imsic_irqdomain_init()
347 static int imsic_platform_probe_common(struct fwnode_handle *fwnode) in imsic_platform_probe_common() argument
349 if (imsic && imsic->fwnode != fwnode) { in imsic_platform_probe_common()
[all …]
H A Dirq-gic-v2m.c67 struct fwnode_handle *fwnode; member
117 if (is_of_node(domain->parent->fwnode)) { in gicv2m_irq_gic_domain_alloc()
118 fwspec.fwnode = domain->parent->fwnode; in gicv2m_irq_gic_domain_alloc()
123 } else if (is_fwnode_irqchip(domain->parent->fwnode)) { in gicv2m_irq_gic_domain_alloc()
124 fwspec.fwnode = domain->parent->fwnode; in gicv2m_irq_gic_domain_alloc()
241 of_node_put(to_of_node(v2m->fwnode)); in gicv2m_teardown()
242 if (is_fwnode_irqchip(v2m->fwnode)) in gicv2m_teardown()
243 irq_domain_free_fwnode(v2m->fwnode); in gicv2m_teardown()
280 info.fwnode = v2m->fwnode; in gicv2m_allocate_domains()
289 static int __init gicv2m_init_one(struct fwnode_handle *fwnode, in gicv2m_init_one() argument
[all …]
H A Dirq-riscv-imsic-early.c78 pr_info("%pfwP: providing IPIs using interrupt %d\n", imsic->fwnode, IMSIC_IPI_ID); in imsic_ipi_domain_init()
185 static int __init imsic_early_probe(struct fwnode_handle *fwnode) in imsic_early_probe() argument
193 pr_err("%pfwP: Failed to find INTC domain\n", fwnode); in imsic_early_probe()
198 pr_err("%pfwP: Failed to create INTC mapping\n", fwnode); in imsic_early_probe()
205 pr_err("%pfwP: Failed to initialize IPI domain\n", fwnode); in imsic_early_probe()
227 struct fwnode_handle *fwnode = &node->fwnode; in imsic_early_dt_init() local
231 rc = imsic_setup_state(fwnode, NULL); in imsic_early_dt_init()
233 pr_err("%pfwP: failed to setup state (error %d)\n", fwnode, rc); in imsic_early_dt_init()
238 rc = imsic_early_probe(fwnode); in imsic_early_dt_init()
H A Dirq-gic-v4.c131 vpe->fwnode = irq_domain_alloc_named_id_fwnode(name, idx); in its_alloc_vcpu_sgis()
132 if (!vpe->fwnode) in its_alloc_vcpu_sgis()
138 vpe->sgi_domain = irq_domain_create_linear(vpe->fwnode, 16, in its_alloc_vcpu_sgis()
152 if (vpe->fwnode) in its_alloc_vcpu_sgis()
153 irq_domain_free_fwnode(vpe->fwnode); in its_alloc_vcpu_sgis()
162 vm->fwnode = irq_domain_alloc_named_id_fwnode("GICv4-vpe", in its_alloc_vcpu_irqs()
164 if (!vm->fwnode) in its_alloc_vcpu_irqs()
168 vm->fwnode, vpe_domain_ops, in its_alloc_vcpu_irqs()
196 if (vm->fwnode) in its_alloc_vcpu_irqs()
197 irq_domain_free_fwnode(vm->fwnode); in its_alloc_vcpu_irqs()
[all …]
/linux/include/linux/
H A Dirqdomain.h42 struct fwnode_handle *fwnode; member
179 struct fwnode_handle *fwnode; member
249 return to_of_node(d->fwnode); in irq_domain_get_of_node()
306 void irq_domain_free_fwnode(struct fwnode_handle *fwnode);
337 struct fwnode_handle *fwnode; member
364 struct irq_domain *irq_domain_create_simple(struct fwnode_handle *fwnode, unsigned int size,
367 struct irq_domain *irq_domain_create_legacy(struct fwnode_handle *fwnode, unsigned int size,
379 static inline bool is_fwnode_irqchip(const struct fwnode_handle *fwnode) in is_fwnode_irqchip() argument
381 return fwnode && fwnode->ops == &irqchip_fwnode_ops; in is_fwnode_irqchip()
386 static inline struct irq_domain *irq_find_matching_fwnode(struct fwnode_handle *fwnode, in irq_find_matching_fwnode() argument
[all …]
/linux/drivers/of/
H A Dproperty.c1045 static struct fwnode_handle *of_fwnode_get(struct fwnode_handle *fwnode) in of_fwnode_get() argument
1047 return of_fwnode_handle(of_node_get(to_of_node(fwnode))); in of_fwnode_get()
1050 static void of_fwnode_put(struct fwnode_handle *fwnode) in of_fwnode_put() argument
1052 of_node_put(to_of_node(fwnode)); in of_fwnode_put()
1055 static bool of_fwnode_device_is_available(const struct fwnode_handle *fwnode) in of_fwnode_device_is_available() argument
1057 return of_device_is_available(to_of_node(fwnode)); in of_fwnode_device_is_available()
1060 static bool of_fwnode_device_dma_supported(const struct fwnode_handle *fwnode) in of_fwnode_device_dma_supported() argument
1066 of_fwnode_device_get_dma_attr(const struct fwnode_handle *fwnode) in of_fwnode_device_get_dma_attr() argument
1068 if (of_dma_is_coherent(to_of_node(fwnode))) in of_fwnode_device_get_dma_attr()
1074 static bool of_fwnode_property_present(const struct fwnode_handle *fwnode, in of_fwnode_property_present() argument
[all …]
/linux/drivers/reset/
H A Dcore.c101 if (rcdev->fwnode) in rcdev_name()
102 return fwnode_get_name(rcdev->fwnode); in rcdev_name()
132 if ((rcdev->of_node && rcdev->fwnode) || (rcdev->of_xlate && rcdev->fwnode_xlate)) in reset_controller_register()
135 if (rcdev->of_node && !rcdev->fwnode) in reset_controller_register()
136 rcdev->fwnode = of_fwnode_handle(rcdev->of_node); in reset_controller_register()
138 if (!rcdev->fwnode) { in reset_controller_register()
139 rcdev->fwnode = dev_fwnode(rcdev->dev); in reset_controller_register()
140 if (!rcdev->fwnode) in reset_controller_register()
969 static void reset_gpio_add_devlink(struct fwnode_handle *fwnode, in reset_gpio_add_devlink() argument
980 consumer = get_dev_from_fwnode(fwnode); in reset_gpio_add_devlink()
[all …]
/linux/drivers/usb/typec/
H A Dmux.c27 static int switch_fwnode_match(struct device *dev, const void *fwnode) in switch_fwnode_match() argument
32 return device_match_fwnode(dev, fwnode); in switch_fwnode_match()
35 static void *typec_switch_match(const struct fwnode_handle *fwnode, in typec_switch_match() argument
50 if (id && !fwnode_property_present(fwnode, id)) in typec_switch_match()
58 dev = class_find_device(&typec_mux_class, NULL, fwnode, in typec_switch_match()
82 struct typec_switch *fwnode_typec_switch_get(struct fwnode_handle *fwnode) in fwnode_typec_switch_get() argument
94 count = fwnode_connection_find_matches(fwnode, "orientation-switch", in fwnode_typec_switch_get()
194 sw_dev->dev.fwnode = desc->fwnode; in typec_switch_register()
269 static int mux_fwnode_match(struct device *dev, const void *fwnode) in mux_fwnode_match() argument
274 return device_match_fwnode(dev, fwnode); in mux_fwnode_match()
[all …]
H A Dretimer.c20 static int retimer_fwnode_match(struct device *dev, const void *fwnode) in retimer_fwnode_match() argument
22 return is_typec_retimer(dev) && device_match_fwnode(dev, fwnode); in retimer_fwnode_match()
25 static void *typec_retimer_match(const struct fwnode_handle *fwnode, const char *id, void *data) in typec_retimer_match() argument
29 if (id && !fwnode_property_present(fwnode, id)) in typec_retimer_match()
32 dev = class_find_device(&retimer_class, NULL, fwnode, in typec_retimer_match()
47 struct typec_retimer *fwnode_typec_retimer_get(struct fwnode_handle *fwnode) in fwnode_typec_retimer_get() argument
51 retimer = fwnode_connection_find_match(fwnode, "retimer-switch", NULL, typec_retimer_match); in fwnode_typec_retimer_get()
121 retimer->dev.fwnode = desc->fwnode; in typec_retimer_register()
/linux/drivers/usb/roles/
H A Dclass.c126 static void *usb_role_switch_match(const struct fwnode_handle *fwnode, const char *id, in usb_role_switch_match() argument
131 if (id && !fwnode_property_present(fwnode, id)) in usb_role_switch_match()
134 dev = class_find_device_by_fwnode(&role_class, fwnode); in usb_role_switch_match()
140 usb_role_switch_is_parent(struct fwnode_handle *fwnode) in usb_role_switch_is_parent() argument
145 if (!fwnode_device_is_compatible(fwnode, "usb-b-connector")) in usb_role_switch_is_parent()
148 parent = fwnode_get_parent(fwnode); in usb_role_switch_is_parent()
190 struct usb_role_switch *fwnode_usb_role_switch_get(struct fwnode_handle *fwnode) in fwnode_usb_role_switch_get() argument
194 sw = usb_role_switch_is_parent(fwnode); in fwnode_usb_role_switch_get()
196 sw = fwnode_connection_find_match(fwnode, "usb-role-switch", in fwnode_usb_role_switch_get()
228 usb_role_switch_find_by_fwnode(const struct fwnode_handle *fwnode) in usb_role_switch_find_by_fwnode() argument
[all …]
/linux/drivers/i2c/busses/
H A Di2c-gpio.c394 struct fwnode_handle *fwnode = dev_fwnode(dev); in i2c_gpio_create_scl() local
405 if (fwnode) { in i2c_gpio_create_scl()
406 ret = fwnode_property_get_reference_args(fwnode, "scl-gpios", in i2c_gpio_create_scl()
410 ret = fwnode_property_get_reference_args(fwnode, "gpios", in i2c_gpio_create_scl()
417 fwnode_handle_put(args.fwnode); in i2c_gpio_create_scl()
424 fwnode_handle_put(args.fwnode); in i2c_gpio_create_scl()
429 scl->args.fwnode = args.fwnode; in i2c_gpio_create_scl()
443 if (scl->args.fwnode) in i2c_gpio_free_scl()
444 fwnode_handle_put(scl->args.fwnode); in i2c_gpio_free_scl()
450 if (!a->args.fwnode || !b->args.fwnode || in i2c_gpio_scl_matches()
[all …]
/linux/drivers/leds/rgb/
H A Dleds-pwm-multicolor.c74 struct fwnode_handle *fwnode; in iterate_subleds() local
80 fwnode_for_each_child_node(mcnode, fwnode) { in iterate_subleds()
82 pwmled->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL); in iterate_subleds()
88 pwmled->active_low = fwnode_property_read_bool(fwnode, "active-low"); in iterate_subleds()
90 ret = fwnode_property_read_u32(fwnode, "color", &color); in iterate_subleds()
97 fwnode_property_read_u32(fwnode, "default-intensity", in iterate_subleds()
105 fwnode_handle_put(fwnode); in iterate_subleds()
156 init_data.fwnode = mcnode; in led_pwm_mc_probe()
/linux/drivers/net/pcs/
H A Dpcs-mtk-lynxi.c86 struct fwnode_handle *fwnode; member
130 struct fwnode_handle *fwnode = mpcs->fwnode, *pcs_fwnode; in mtk_pcs_config_polarity() local
135 if (!fwnode) in mtk_pcs_config_polarity()
138 if (fwnode_property_read_bool(fwnode, "mediatek,pnswap")) in mtk_pcs_config_polarity()
141 pcs_fwnode = fwnode_get_named_child_node(fwnode, "pcs"); in mtk_pcs_config_polarity()
314 struct fwnode_handle *fwnode, in mtk_pcs_lynxi_create() argument
352 mpcs->fwnode = fwnode_handle_get(fwnode); in mtk_pcs_lynxi_create()
370 fwnode_handle_put(mpcs->fwnode); in mtk_pcs_lynxi_destroy()
/linux/drivers/power/supply/
H A Dpower_supply_core.c202 np = fwnode_find_reference(psy->dev.fwnode, "power-supplies", i++); in __power_supply_populate_supplied_from()
206 if (np == epsy->dev.fwnode) { in __power_supply_populate_supplied_from()
234 struct fwnode_handle *fwnode = data; in __power_supply_find_supply_from_node() local
237 if (epsy->dev.fwnode == fwnode) in __power_supply_find_supply_from_node()
272 if (!psy->dev.fwnode) in power_supply_check_supplies()
278 np = fwnode_find_reference(psy->dev.fwnode, "power-supplies", cnt++); in power_supply_check_supplies()
664 struct power_supply *power_supply_get_by_reference(struct fwnode_handle *fwnode, in power_supply_get_by_reference() argument
671 power_supply_fwnode = fwnode_find_reference(fwnode, property, 0); in power_supply_get_by_reference()
733 struct fwnode_handle *srcnode, *fwnode; in power_supply_get_battery_info() local
743 fwnode = fwnode_find_reference(srcnode, "monitored-battery", 0); in power_supply_get_battery_info()
[all …]
/linux/drivers/dpll/zl3073x/
H A Dprop.c163 props->fwnode = pin_node; in zl3073x_prop_pin_fwnode_get()
239 fwnode_property_read_string(props->fwnode, "label", in zl3073x_pin_props_get()
245 if (!fwnode_property_read_string(props->fwnode, "connection-type", in zl3073x_pin_props_get()
264 props->esync_control = fwnode_property_read_bool(props->fwnode, in zl3073x_pin_props_get()
268 num_freqs = fwnode_property_count_u64(props->fwnode, in zl3073x_pin_props_get()
286 fwnode_property_read_u64_array(props->fwnode, in zl3073x_pin_props_get()
327 fwnode_handle_put(props->fwnode); in zl3073x_pin_props_get()
345 if (props->fwnode) in zl3073x_pin_props_put()
346 fwnode_handle_put(props->fwnode); in zl3073x_pin_props_put()
/linux/drivers/leds/
H A Dleds-tps6105x.c15 struct fwnode_handle *fwnode; member
22 fwnode_handle_put(priv->fwnode); in tps6105x_handle_put()
55 priv->fwnode = device_get_next_child_node(pdev->dev.parent, NULL); in tps6105x_led_probe()
64 init_data.fwnode = priv->fwnode; in tps6105x_led_probe()

12345678910>>...18