Home
last modified time | relevance | path

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

12345678910>>...18

/linux/include/linux/
H A Dfwnode.h108 struct fwnode_handle *fwnode; member
140 struct fwnode_handle *(*get)(struct fwnode_handle *fwnode);
141 void (*put)(struct fwnode_handle *fwnode);
142 bool (*device_is_available)(const struct fwnode_handle *fwnode);
143 const void *(*device_get_match_data)(const struct fwnode_handle *fwnode,
145 bool (*device_dma_supported)(const struct fwnode_handle *fwnode);
147 (*device_get_dma_attr)(const struct fwnode_handle *fwnode);
148 bool (*property_present)(const struct fwnode_handle *fwnode,
150 bool (*property_read_bool)(const struct fwnode_handle *fwnode,
152 int (*property_read_int_array)(const struct fwnode_handle *fwnode,
[all …]
H A Dproperty.h57 bool fwnode_property_present(const struct fwnode_handle *fwnode,
59 bool fwnode_property_read_bool(const struct fwnode_handle *fwnode,
61 int fwnode_property_read_u8_array(const struct fwnode_handle *fwnode,
64 int fwnode_property_read_u16_array(const struct fwnode_handle *fwnode,
67 int fwnode_property_read_u32_array(const struct fwnode_handle *fwnode,
70 int fwnode_property_read_u64_array(const struct fwnode_handle *fwnode,
73 int fwnode_property_read_string_array(const struct fwnode_handle *fwnode,
76 int fwnode_property_read_string(const struct fwnode_handle *fwnode,
78 int fwnode_property_match_string(const struct fwnode_handle *fwnode,
81 bool fwnode_device_is_available(const struct fwnode_handle *fwnode);
[all …]
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()
284 void irq_domain_free_fwnode(struct fwnode_handle *fwnode);
315 struct fwnode_handle *fwnode; member
342 struct irq_domain *irq_domain_create_simple(struct fwnode_handle *fwnode, unsigned int size,
345 struct irq_domain *irq_domain_create_legacy(struct fwnode_handle *fwnode, unsigned int size,
357 static inline bool is_fwnode_irqchip(const struct fwnode_handle *fwnode) in is_fwnode_irqchip() argument
359 return fwnode && fwnode->ops == &irqchip_fwnode_ops; in is_fwnode_irqchip()
364 static inline struct irq_domain *irq_find_matching_fwnode(struct fwnode_handle *fwnode, in irq_find_matching_fwnode() argument
[all …]
/linux/drivers/hwtracing/coresight/
H A Dcoresight-cti-platform.c74 static int cti_plat_get_cpu_at_node(struct fwnode_handle *fwnode) in cti_plat_get_cpu_at_node() argument
76 if (is_of_node(fwnode)) in cti_plat_get_cpu_at_node()
77 return of_cti_get_cpu_at_node(to_of_node(fwnode)); in cti_plat_get_cpu_at_node()
81 const char *cti_plat_get_node_name(struct fwnode_handle *fwnode) in cti_plat_get_node_name() argument
83 if (is_of_node(fwnode)) in cti_plat_get_node_name()
84 return of_node_full_name(to_of_node(fwnode)); in cti_plat_get_node_name()
94 cti_plat_get_csdev_or_node_name(struct fwnode_handle *fwnode, in cti_plat_get_csdev_or_node_name() argument
98 *csdev = coresight_find_csdev_by_fwnode(fwnode); in cti_plat_get_csdev_or_node_name()
102 name = cti_plat_get_node_name(fwnode); in cti_plat_get_csdev_or_node_name()
106 static bool cti_plat_node_name_eq(struct fwnode_handle *fwnode, in cti_plat_node_name_eq() argument
[all …]
/linux/drivers/base/
H A Dswnode.c29 struct fwnode_handle fwnode; member
50 bool is_software_node(const struct fwnode_handle *fwnode) in is_software_node() argument
52 return !IS_ERR_OR_NULL(fwnode) && fwnode->ops == &software_node_ops; in is_software_node()
62 struct swnode, fwnode) : NULL; \
67 struct fwnode_handle *fwnode = dev_fwnode(dev); in dev_to_swnode() local
69 if (!fwnode) in dev_to_swnode()
72 if (!is_software_node(fwnode)) in dev_to_swnode()
73 fwnode = fwnode->secondary; in dev_to_swnode()
75 return to_swnode(fwnode); in dev_to_swnode()
101 const struct software_node *to_software_node(const struct fwnode_handle *fwnode) in to_software_node() argument
[all …]
H A Dcore.c139 static void fwnode_links_purge_suppliers(struct fwnode_handle *fwnode) in fwnode_links_purge_suppliers() argument
145 list_for_each_entry_safe(link, tmp, &fwnode->suppliers, c_hook) in fwnode_links_purge_suppliers()
155 static void fwnode_links_purge_consumers(struct fwnode_handle *fwnode) in fwnode_links_purge_consumers() argument
161 list_for_each_entry_safe(link, tmp, &fwnode->consumers, s_hook) in fwnode_links_purge_consumers()
171 void fwnode_links_purge(struct fwnode_handle *fwnode) in fwnode_links_purge() argument
173 fwnode_links_purge_suppliers(fwnode); in fwnode_links_purge()
174 fwnode_links_purge_consumers(fwnode); in fwnode_links_purge()
177 void fw_devlink_purge_absent_suppliers(struct fwnode_handle *fwnode) in fw_devlink_purge_absent_suppliers() argument
182 if (fwnode->dev) in fw_devlink_purge_absent_suppliers()
185 fwnode->flags |= FWNODE_FLAG_NOT_DEVICE; in fw_devlink_purge_absent_suppliers()
[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 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/gpio/
H A Dgpiolib-swnode.c27 static struct gpio_device *swnode_get_gpio_device(struct fwnode_handle *fwnode) in swnode_get_gpio_device() argument
32 gdev_node = to_software_node(fwnode); in swnode_get_gpio_device()
45 gdev = gpio_device_find_by_fwnode(fwnode); in swnode_get_gpio_device()
49 static int swnode_gpio_get_reference(const struct fwnode_handle *fwnode, in swnode_gpio_get_reference() argument
57 return fwnode_property_get_reference_args(fwnode, propname, NULL, 2, idx, args); in swnode_gpio_get_reference()
60 struct gpio_desc *swnode_find_gpio(struct fwnode_handle *fwnode, in swnode_find_gpio() argument
70 swnode = to_software_node(fwnode); in swnode_find_gpio()
75 ret = swnode_gpio_get_reference(fwnode, propname, idx, &args); in swnode_find_gpio()
81 __func__, propname, fwnode, idx); in swnode_find_gpio()
86 swnode_get_gpio_device(args.fwnode); in swnode_find_gpio()
[all …]
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 …]
/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/samples/rust/
H A Drust_driver_platform.rs115 if dev.fwnode().is_some_and(|node| node.is_of_node()) { in probe()
125 let fwnode = dev.fwnode().ok_or(ENOENT)?; in properties_parse() localVariable
128 fwnode.property_match_string(c_str!("compatible"), c_str!("test,rust-device")) in properties_parse()
134 let prop = fwnode.property_read::<CString>(name).required_by(dev)?; in properties_parse()
138 let prop = fwnode.property_read_bool(c_str!("test,bool-prop")); in properties_parse()
141 if fwnode.property_present(c_str!("test,u32-prop")) { in properties_parse()
146 let prop = fwnode.property_read::<u32>(name).or(0x12); in properties_parse()
152 let _ = fwnode.property_read::<u32>(name).required_by(dev); in properties_parse()
155 let prop: u32 = fwnode.property_read(name).required_by(dev)?; in properties_parse()
159 let prop: [i16; 4] = fwnode.property_read(name).required_by(dev)?; in properties_parse()
[all …]
/linux/drivers/irqchip/
H A Dirq-riscv-imsic-state.c582 static int __init imsic_populate_global_dt(struct fwnode_handle *fwnode, in imsic_populate_global_dt() argument
589 rc = of_property_read_u32(to_of_node(fwnode), "riscv,guest-index-bits", in imsic_populate_global_dt()
595 rc = of_property_read_u32(to_of_node(fwnode), "riscv,hart-index-bits", in imsic_populate_global_dt()
605 rc = of_property_read_u32(to_of_node(fwnode), "riscv,group-index-bits", in imsic_populate_global_dt()
614 rc = of_property_read_u32(to_of_node(fwnode), "riscv,group-index-shift", in imsic_populate_global_dt()
620 rc = of_property_read_u32(to_of_node(fwnode), "riscv,num-ids", in imsic_populate_global_dt()
623 pr_err("%pfwP: number of interrupt identities not found\n", fwnode); in imsic_populate_global_dt()
628 rc = of_property_read_u32(to_of_node(fwnode), "riscv,num-guest-ids", in imsic_populate_global_dt()
636 static int __init imsic_populate_global_acpi(struct fwnode_handle *fwnode, in imsic_populate_global_acpi() argument
651 static int __init imsic_get_parent_hartid(struct fwnode_handle *fwnode, in imsic_get_parent_hartid() argument
[all …]
H A Dirq-sifive-plic.c71 struct fwnode_handle *fwnode; member
391 handler->priv->fwnode, hwirq); in plic_handle_irq()
483 handler->priv->fwnode, hwirq); in plic_handle_irq_cp100()
513 handler->priv->fwnode, cpu); in plic_starting_cpu()
540 static int plic_parse_nr_irqs_and_contexts(struct fwnode_handle *fwnode, in plic_parse_nr_irqs_and_contexts() argument
546 if (!is_of_node(fwnode)) { in plic_parse_nr_irqs_and_contexts()
547 rc = riscv_acpi_get_gsi_info(fwnode, gsi_base, id, nr_irqs, NULL); in plic_parse_nr_irqs_and_contexts()
549 pr_err("%pfwP: failed to find GSI mapping\n", fwnode); in plic_parse_nr_irqs_and_contexts()
555 pr_err("%pfwP: no PLIC context available\n", fwnode); in plic_parse_nr_irqs_and_contexts()
562 rc = of_property_read_u32(to_of_node(fwnode), "riscv,ndev", nr_irqs); in plic_parse_nr_irqs_and_contexts()
[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-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/drivers/of/
H A Dproperty.c1029 static struct fwnode_handle *of_fwnode_get(struct fwnode_handle *fwnode) in of_fwnode_get() argument
1031 return of_fwnode_handle(of_node_get(to_of_node(fwnode))); in of_fwnode_get()
1034 static void of_fwnode_put(struct fwnode_handle *fwnode) in of_fwnode_put() argument
1036 of_node_put(to_of_node(fwnode)); in of_fwnode_put()
1039 static bool of_fwnode_device_is_available(const struct fwnode_handle *fwnode) in of_fwnode_device_is_available() argument
1041 return of_device_is_available(to_of_node(fwnode)); in of_fwnode_device_is_available()
1044 static bool of_fwnode_device_dma_supported(const struct fwnode_handle *fwnode) in of_fwnode_device_dma_supported() argument
1050 of_fwnode_device_get_dma_attr(const struct fwnode_handle *fwnode) in of_fwnode_device_get_dma_attr() argument
1052 if (of_dma_is_coherent(to_of_node(fwnode))) in of_fwnode_device_get_dma_attr()
1058 static bool of_fwnode_property_present(const struct fwnode_handle *fwnode, in of_fwnode_property_present() argument
[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
48 if (id && !fwnode_property_present(fwnode, id)) in typec_switch_match()
56 dev = class_find_device(&typec_mux_class, NULL, fwnode, in typec_switch_match()
71 struct typec_switch *fwnode_typec_switch_get(struct fwnode_handle *fwnode) in fwnode_typec_switch_get() argument
83 count = fwnode_connection_find_matches(fwnode, "orientation-switch", NULL, in fwnode_typec_switch_get()
182 sw_dev->dev.fwnode = desc->fwnode; in typec_switch_register()
257 static int mux_fwnode_match(struct device *dev, const void *fwnode) in mux_fwnode_match() argument
262 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/media/v4l2-core/
H A Dv4l2-async.c102 sd_fwnode, match->fwnode); in match_fwnode_one()
104 if (sd_fwnode == match->fwnode) { in match_fwnode_one()
110 if (!fwnode_graph_is_endpoint(match->fwnode)) { in match_fwnode_one()
116 asd_dev_fwnode = fwnode_graph_get_port_parent(match->fwnode); in match_fwnode_one()
135 dev_fwnode(notifier_dev(notifier)), sd->fwnode); in match_fwnode()
142 match->fwnode); in match_fwnode()
146 bool matched = ase->endpoint == match->fwnode; in match_fwnode()
161 if (match_fwnode_one(notifier, sd, sd->fwnode, match)) in match_fwnode()
165 if (IS_ERR_OR_NULL(sd->fwnode->secondary)) in match_fwnode()
171 return match_fwnode_one(notifier, sd, sd->fwnode->secondary, match); in match_fwnode()
[all …]
/linux/drivers/leds/
H A Dled-core.c435 struct fwnode_handle *fwnode = led_cdev->dev->fwnode; in led_get_default_pattern() local
439 count = fwnode_property_count_u32(fwnode, "led-pattern"); in led_get_default_pattern()
447 if (fwnode_property_read_u32_array(fwnode, "led-pattern", pattern, count)) { in led_get_default_pattern()
477 struct fwnode_handle *fwnode, in led_parse_fwnode_props() argument
482 if (!fwnode) in led_parse_fwnode_props()
485 if (fwnode_property_present(fwnode, "label")) { in led_parse_fwnode_props()
486 ret = fwnode_property_read_string(fwnode, "label", &props->label); in led_parse_fwnode_props()
492 if (fwnode_property_present(fwnode, "color")) { in led_parse_fwnode_props()
493 ret = fwnode_property_read_u32(fwnode, "color", &props->color); in led_parse_fwnode_props()
503 if (!fwnode_property_present(fwnode, "function")) in led_parse_fwnode_props()
[all …]
/linux/drivers/acpi/arm64/
H A Dapmt.c76 struct fwnode_handle *fwnode) in apmt_add_platform_device() argument
102 pdev->dev.fwnode = fwnode; in apmt_add_platform_device()
121 struct fwnode_handle *fwnode; in apmt_init_platform_devices() local
137 fwnode = acpi_alloc_fwnode_static(); in apmt_init_platform_devices()
138 if (!fwnode) in apmt_init_platform_devices()
141 ret = apmt_add_platform_device(apmt_node, fwnode); in apmt_init_platform_devices()
143 acpi_free_fwnode_static(fwnode); in apmt_init_platform_devices()
/linux/drivers/platform/surface/
H A Dsurface_gpe.c295 struct fwnode_handle *fwnode; in surface_gpe_init() local
308 fwnode = fwnode_create_software_node(match->driver_data, NULL); in surface_gpe_init()
309 if (IS_ERR(fwnode)) { in surface_gpe_init()
310 status = PTR_ERR(fwnode); in surface_gpe_init()
320 pdev->dev.fwnode = fwnode; in surface_gpe_init()
332 fwnode_remove_software_node(fwnode); in surface_gpe_init()
341 struct fwnode_handle *fwnode = surface_gpe_device->dev.fwnode; in surface_gpe_exit() local
345 fwnode_remove_software_node(fwnode); in surface_gpe_exit()
/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
142 struct fwnode_handle *parent = fwnode_get_parent(fwnode); in usb_role_switch_is_parent()
185 struct usb_role_switch *fwnode_usb_role_switch_get(struct fwnode_handle *fwnode) in fwnode_usb_role_switch_get() argument
189 sw = usb_role_switch_is_parent(fwnode); in fwnode_usb_role_switch_get()
191 sw = fwnode_connection_find_match(fwnode, "usb-role-switch", in fwnode_usb_role_switch_get()
223 usb_role_switch_find_by_fwnode(const struct fwnode_handle *fwnode) in usb_role_switch_find_by_fwnode() argument
228 if (!fwnode) in usb_role_switch_find_by_fwnode()
[all …]
/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()
516 struct power_supply *power_supply_get_by_reference(struct fwnode_handle *fwnode, in power_supply_get_by_reference() argument
523 power_supply_fwnode = fwnode_find_reference(fwnode, property, 0); in power_supply_get_by_reference()
585 struct fwnode_handle *srcnode, *fwnode; in power_supply_get_battery_info() local
595 fwnode = fwnode_find_reference(srcnode, "monitored-battery", 0); in power_supply_get_battery_info()
[all …]

12345678910>>...18