| /linux/include/linux/ |
| H A D | fwnode.h | 3 * fwnode.h - Firmware device node object handle type definition. 33 * fwnode flags 35 * LINKS_ADDED: The fwnode has already be parsed to add fwnode links. 36 * NOT_DEVICE: The fwnode will never be populated as a struct device. 37 * INITIALIZED: The hardware corresponding to fwnode has been initialized. 38 * NEEDS_CHILD_BOUND_ON_ADD: For this fwnode/device to probe successfully, its 42 * BEST_EFFORT: The fwnode/device needs to probe early and might be missing some 65 * fwnode link flags 67 * CYCLE: The fwnode lin 109 struct fwnode_handle *fwnode; global() member 188 fwnode_has_op(fwnode,op) global() argument 191 fwnode_call_int_op(fwnode,op,...) global() argument 195 fwnode_call_bool_op(fwnode,op,...) global() argument 199 fwnode_call_ptr_op(fwnode,op,...) global() argument 202 fwnode_call_void_op(fwnode,op,...) global() argument 208 fwnode_init(struct fwnode_handle * fwnode,const struct fwnode_operations * ops) fwnode_init() argument 217 fwnode_set_flag(struct fwnode_handle * fwnode,unsigned int bit) fwnode_set_flag() argument 223 fwnode_clear_flag(struct fwnode_handle * fwnode,unsigned int bit) fwnode_clear_flag() argument 229 fwnode_assign_flag(struct fwnode_handle * fwnode,unsigned int bit,bool value) fwnode_assign_flag() argument 235 fwnode_test_flag(struct fwnode_handle * fwnode,unsigned int bit) fwnode_test_flag() argument 241 fwnode_dev_initialized(struct fwnode_handle * fwnode,bool initialized) fwnode_dev_initialized() argument [all...] |
| H A D | property.h | 17 #include <linux/fwnode.h> 57 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, 83 fwnode_device_is_big_endian(const struct fwnode_handle * fwnode) fwnode_device_is_big_endian() argument 94 fwnode_device_is_compatible(const struct fwnode_handle * fwnode,const char * compat) fwnode_device_is_compatible() argument 155 fwnode_for_each_parent_node(fwnode,parent) global() argument 167 fwnode_for_each_child_node(fwnode,child) global() argument 171 fwnode_for_each_named_child_node(fwnode,child,name) global() argument 175 fwnode_for_each_available_child_node(fwnode,child) global() argument 179 fwnode_for_each_child_node_scoped(fwnode,child) global() argument 184 fwnode_for_each_available_child_node_scoped(fwnode,child) global() argument 224 fwnode_handle_put(struct fwnode_handle * fwnode) fwnode_handle_put() argument 299 fwnode_property_read_u8(const struct fwnode_handle * fwnode,const char * propname,u8 * val) fwnode_property_read_u8() argument 305 fwnode_property_read_u16(const struct fwnode_handle * fwnode,const char * propname,u16 * val) fwnode_property_read_u16() argument 311 fwnode_property_read_u32(const struct fwnode_handle * fwnode,const char * propname,u32 * val) fwnode_property_read_u32() argument 317 fwnode_property_read_u64(const struct fwnode_handle * fwnode,const char * propname,u64 * val) fwnode_property_read_u64() argument 323 fwnode_property_count_u8(const struct fwnode_handle * fwnode,const char * propname) fwnode_property_count_u8() argument 329 fwnode_property_count_u16(const struct fwnode_handle * fwnode,const char * propname) fwnode_property_count_u16() argument 335 fwnode_property_count_u32(const struct fwnode_handle * fwnode,const char * propname) fwnode_property_count_u32() argument 341 fwnode_property_count_u64(const struct fwnode_handle * fwnode,const char * propname) fwnode_property_count_u64() argument 348 fwnode_property_string_array_count(const struct fwnode_handle * fwnode,const char * propname) fwnode_property_string_array_count() argument 365 struct fwnode_handle *fwnode; global() member 513 fwnode_graph_is_endpoint(const struct fwnode_handle * fwnode) fwnode_graph_is_endpoint() argument 538 fwnode_graph_for_each_endpoint(fwnode,child) global() argument [all...] |
| /linux/drivers/base/ |
| H A D | property.c | 24 of_fwnode_handle(dev->of_node) : dev->fwnode; in __dev_fwnode() 31 of_fwnode_handle(dev->of_node) : dev->fwnode; in __dev_fwnode_const() 54 * @fwnode: Firmware node whose property to check 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() 96 * @fwnode: Firmware node whose property to check 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() 303 fwnode_property_read_int_array(const struct fwnode_handle * fwnode,const char * propname,unsigned int elem_size,void * val,size_t nval) fwnode_property_read_int_array() argument 343 fwnode_property_read_u8_array(const struct fwnode_handle * fwnode,const char * propname,u8 * val,size_t nval) fwnode_property_read_u8_array() argument 372 fwnode_property_read_u16_array(const struct fwnode_handle * fwnode,const char * propname,u16 * val,size_t nval) fwnode_property_read_u16_array() argument 401 fwnode_property_read_u32_array(const struct fwnode_handle * fwnode,const char * propname,u32 * val,size_t nval) fwnode_property_read_u32_array() argument 430 fwnode_property_read_u64_array(const struct fwnode_handle * fwnode,const char * propname,u64 * val,size_t nval) fwnode_property_read_u64_array() argument 459 fwnode_property_read_string_array(const struct fwnode_handle * fwnode,const char * propname,const char ** val,size_t nval) fwnode_property_read_string_array() argument 493 fwnode_property_read_string(const struct fwnode_handle * fwnode,const char * propname,const char ** val) fwnode_property_read_string() argument 517 fwnode_property_match_string(const struct fwnode_handle * fwnode,const char * propname,const char * string) fwnode_property_match_string() argument 565 fwnode_property_match_property_string(const struct fwnode_handle * fwnode,const char * propname,const char * const * array,size_t n) fwnode_property_match_property_string() argument 608 fwnode_property_get_reference_args(const struct fwnode_handle * fwnode,const char * prop,const char * nargs_prop,unsigned int nargs,unsigned int index,struct fwnode_reference_args * args) fwnode_property_get_reference_args() argument 645 fwnode_find_reference(const struct fwnode_handle * fwnode,const char * name,unsigned int index) fwnode_find_reference() argument 664 fwnode_get_name(const struct fwnode_handle * fwnode) fwnode_get_name() argument 677 fwnode_get_name_prefix(const struct fwnode_handle * fwnode) fwnode_get_name_prefix() argument 695 fwnode_name_eq(const struct fwnode_handle * fwnode,const char * name) fwnode_name_eq() argument 720 fwnode_get_parent(const struct fwnode_handle * fwnode) fwnode_get_parent() argument 741 fwnode_get_next_parent(struct fwnode_handle * fwnode) fwnode_get_next_parent() argument 757 fwnode_count_parents(const struct fwnode_handle * fwnode) fwnode_count_parents() argument 781 fwnode_get_nth_parent(struct fwnode_handle * fwnode,unsigned int depth) fwnode_get_nth_parent() argument 807 fwnode_get_next_child_node(const struct fwnode_handle * fwnode,struct fwnode_handle * child) fwnode_get_next_child_node() argument 835 fwnode_get_next_available_child_node(const struct fwnode_handle * fwnode,struct fwnode_handle * child) fwnode_get_next_available_child_node() argument 878 fwnode_get_named_child_node(const struct fwnode_handle * fwnode,const char * childname) fwnode_get_named_child_node() argument 909 fwnode_handle_get(struct fwnode_handle * fwnode) fwnode_handle_get() argument 927 fwnode_device_is_available(const struct fwnode_handle * fwnode) fwnode_device_is_available() argument 945 fwnode_get_child_node_count(const struct fwnode_handle * fwnode) fwnode_get_child_node_count() argument 971 fwnode_get_named_child_node_count(const struct fwnode_handle * fwnode,const char * name) fwnode_get_named_child_node_count() argument 1007 fwnode_get_phy_mode(const struct fwnode_handle * fwnode) fwnode_get_phy_mode() argument 1048 fwnode_iomap(struct fwnode_handle * fwnode,int index) fwnode_iomap() argument 1061 fwnode_irq_get(const struct fwnode_handle * fwnode,unsigned int index) fwnode_irq_get() argument 1087 fwnode_irq_get_byname(const struct fwnode_handle * fwnode,const char * name) fwnode_irq_get_byname() argument 1115 fwnode_graph_get_next_endpoint(const struct fwnode_handle * fwnode,struct fwnode_handle * prev) fwnode_graph_get_next_endpoint() argument 1180 fwnode_graph_get_remote_port_parent(const struct fwnode_handle * fwnode) fwnode_graph_get_remote_port_parent() argument 1203 fwnode_graph_get_remote_port(const struct fwnode_handle * fwnode) fwnode_graph_get_remote_port() argument 1219 fwnode_graph_get_remote_endpoint(const struct fwnode_handle * fwnode) fwnode_graph_get_remote_endpoint() argument 1258 fwnode_graph_get_endpoint_by_id(const struct fwnode_handle * fwnode,u32 port,u32 endpoint,unsigned long flags) fwnode_graph_get_endpoint_by_id() argument 1313 fwnode_graph_get_endpoint_count(const struct fwnode_handle * fwnode,unsigned long flags) fwnode_graph_get_endpoint_count() argument 1338 fwnode_graph_parse_endpoint(const struct fwnode_handle * fwnode,struct fwnode_endpoint * endpoint) fwnode_graph_parse_endpoint() argument 1353 fwnode_graph_devcon_matches(const struct fwnode_handle * fwnode,const char * con_id,void * data,devcon_match_fn_t match,void ** matches,unsigned int matches_len) fwnode_graph_devcon_matches() argument 1387 fwnode_devcon_matches(const struct fwnode_handle * fwnode,const char * con_id,void * data,devcon_match_fn_t match,void ** matches,unsigned int matches_len) fwnode_devcon_matches() argument 1429 fwnode_connection_find_match(const struct fwnode_handle * fwnode,const char * con_id,void * data,devcon_match_fn_t match) fwnode_connection_find_match() argument 1467 fwnode_connection_find_matches(const struct fwnode_handle * fwnode,const char * con_id,void * data,devcon_match_fn_t match,void ** matches,unsigned int matches_len) fwnode_connection_find_matches() argument [all...] |
| H A D | core.c | 18 #include <linux/fwnode.h> 56 * Create a fwnode link between fwnode handles @con and @sup. The fwnode link 57 * represents the detail that the firmware lists @sup fwnode as supplying a 60 * The driver core will use the fwnode link to create a device link between the 62 * driver core will automatically delete the fwnode link between @con and @sup 65 * Attempts to create duplicate links between the same pair of fwnode handles 91 pr_debug("%pfwf Linked as a fwnode consumer to %pfwf\n", in __fwnode_link_add() 113 pr_debug("%pfwf Dropping the fwnode lin in __fwnode_link_del() 139 fwnode_links_purge_suppliers(struct fwnode_handle * fwnode) fwnode_links_purge_suppliers() argument 155 fwnode_links_purge_consumers(struct fwnode_handle * fwnode) fwnode_links_purge_consumers() argument 171 fwnode_links_purge(struct fwnode_handle * fwnode) fwnode_links_purge() argument 177 fw_devlink_purge_absent_suppliers(struct fwnode_handle * fwnode) fw_devlink_purge_absent_suppliers() argument 223 __fw_devlink_pickup_dangling_consumers(struct fwnode_handle * fwnode,struct fwnode_handle * new_sup) __fw_devlink_pickup_dangling_consumers() argument 1018 fwnode_links_check_suppliers(struct fwnode_handle * fwnode) fwnode_links_check_suppliers() argument 1724 fw_devlink_parse_fwnode(struct fwnode_handle * fwnode) fw_devlink_parse_fwnode() argument 1733 fw_devlink_parse_fwtree(struct fwnode_handle * fwnode) fw_devlink_parse_fwtree() argument 1883 fwnode_init_without_drv(struct fwnode_handle * fwnode) fwnode_init_without_drv() argument 1898 fwnode_ancestor_init_without_drv(struct fwnode_handle * fwnode) fwnode_ancestor_init_without_drv() argument 1954 fwnode_get_next_parent_dev(const struct fwnode_handle * fwnode) fwnode_get_next_parent_dev() argument 2217 struct fwnode_handle *fwnode = dev->fwnode; __fw_devlink_link_to_consumers() local 2289 __fw_devlink_link_to_suppliers(struct device * dev,struct fwnode_handle * fwnode) __fw_devlink_link_to_suppliers() argument 2318 struct fwnode_handle *fwnode = dev->fwnode; fw_devlink_link_device() local 5142 fwnode_is_primary(struct fwnode_handle * fwnode) fwnode_is_primary() argument 5161 set_primary_fwnode(struct device * dev,struct fwnode_handle * fwnode) set_primary_fwnode() argument 5201 set_secondary_fwnode(struct device * dev,struct fwnode_handle * fwnode) set_secondary_fwnode() argument 5290 device_set_node(struct device * dev,struct fwnode_handle * fwnode) device_set_node() argument 5316 get_dev_from_fwnode(struct fwnode_handle * fwnode) get_dev_from_fwnode() argument 5340 device_match_fwnode(struct device * dev,const void * fwnode) device_match_fwnode() argument [all...] |
| /linux/drivers/hwtracing/coresight/ |
| H A D | coresight-cti-platform.c | 74 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() 89 * Extract a name from the fwnode. 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 cti_plat_node_name_eq(struct fwnode_handle * fwnode,const char * name) cti_plat_node_name_eq() argument 224 struct fwnode_handle *fwnode = dev_fwnode(dev); cti_plat_check_v8_arch_compatible() local 232 cti_plat_count_sig_elements(const struct fwnode_handle * fwnode,const char * name) cti_plat_count_sig_elements() argument 241 cti_plat_read_trig_group(struct cti_trig_grp * tgrp,const struct fwnode_handle * fwnode,const char * grp_name) cti_plat_read_trig_group() argument 268 cti_plat_read_trig_types(struct cti_trig_grp * tgrp,const struct fwnode_handle * fwnode,const char * type_name) cti_plat_read_trig_types() argument 315 cti_plat_process_filter_sigs(struct cti_drvdata * drvdata,const struct fwnode_handle * fwnode) cti_plat_process_filter_sigs() argument 342 cti_plat_create_connection(struct device * dev,struct cti_drvdata * drvdata,struct fwnode_handle * fwnode) cti_plat_create_connection() argument 461 struct fwnode_handle *fwnode = dev_fwnode(dev); coresight_cti_get_platform_data() local [all...] |
| /linux/drivers/acpi/ |
| H A D | property.c | 97 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 D | viot.c | 31 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 D | chtwc_int33fe.c | 163 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 D | gpiolib-shared.c | 34 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/samples/rust/ |
| H A D | rust_driver_platform.rs | 120 if dev.fwnode().is_some_and(|node| node.is_of_node()) { in probe() 130 let fwnode = dev.fwnode().ok_or(ENOENT)?; in properties_parse() 132 if let Ok(idx) = fwnode.property_match_string(c"compatible", c"test,rust-device") { in properties_parse() 137 let prop = fwnode.property_read::<CString>(name).required_by(dev)?; in properties_parse() 141 let prop = fwnode.property_read_bool(c"test,bool-prop"); in properties_parse() 144 if fwnode.property_present(c"test,u32-prop") { in properties_parse() 149 let prop = fwnode.property_read::<u32>(name).or(0x12); in properties_parse() 155 let _ = fwnode.property_read::<u32>(name).required_by(dev); in properties_parse() 158 let prop: u32 = fwnode in properties_parse() 125 let fwnode = dev.fwnode().ok_or(ENOENT)?; properties_parse() localVariable [all...] |
| /linux/drivers/irqchip/ |
| H A D | irq-riscv-imsic-state.c | 582 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 681 imsic_get_mmio_resource(struct fwnode_handle * fwnode,u32 index,struct resource * res) imsic_get_mmio_resource() argument 690 imsic_parse_fwnode(struct fwnode_handle * fwnode,struct imsic_global_config * global,u32 * nr_parent_irqs,u32 * nr_mmios,void * opaque) imsic_parse_fwnode() argument 785 imsic_setup_state(struct fwnode_handle * fwnode,void * opaque) imsic_setup_state() argument [all...] |
| H A D | irq-sifive-plic.c | 71 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 D | irq-riscv-imsic-platform.c | 316 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 D | irq-gic-v2m.c | 67 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 D | irq-riscv-imsic-early.c | 78 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 D | irq-gic-v4.c | 131 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/reset/ |
| H A D | core.c | 101 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/media/v4l2-core/ |
| H A D | v4l2-async.c | 102 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/usb/typec/ |
| H A D | retimer.c | 20 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/kernel/irq/ |
| H A D | irqdomain.c | 37 struct fwnode_handle fwnode; 52 static const char *irqchip_fwnode_get_name(const struct fwnode_handle *fwnode) in irqchip_fwnode_get_name() 54 struct irqchip_fwid *fwid = container_of(fwnode, struct irqchip_fwid, fwnode); in irqchip_fwnode_get_name() 59 static struct fwnode_handle *irqchip_fwnode_get_parent(const struct fwnode_handle *fwnode) in irqchip_fwnode_get_parent() 61 struct irqchip_fwid *fwid = container_of(fwnode, struct irqchip_fwid, fwnode); in irqchip_fwnode_get_parent() 121 fwnode_init(&fwid->fwnode, &irqchip_fwnode_ops); in __irq_domain_alloc_fwnode() 122 return &fwid->fwnode; 128 * @fwnode 35 struct fwnode_handle fwnode; global() member 50 irqchip_fwnode_get_name(const struct fwnode_handle * fwnode) irqchip_fwnode_get_name() argument 57 irqchip_fwnode_get_parent(const struct fwnode_handle * fwnode) irqchip_fwnode_get_parent() argument 130 irq_domain_free_fwnode(struct fwnode_handle * fwnode) irq_domain_free_fwnode() argument 156 alloc_fwnode_name(struct irq_domain * domain,const struct fwnode_handle * fwnode,enum irq_domain_bus_token bus_token,const char * suffix) alloc_fwnode_name() argument 199 const struct fwnode_handle *fwnode = info->fwnode; irq_domain_set_name() local 476 irq_domain_create_simple(struct fwnode_handle * fwnode,unsigned int size,unsigned int first_irq,const struct irq_domain_ops * ops,void * host_data) irq_domain_create_simple() argument 496 irq_domain_create_legacy(struct fwnode_handle * fwnode,unsigned int size,unsigned int first_irq,irq_hw_number_t first_hwirq,const struct irq_domain_ops * ops,void * host_data) irq_domain_create_legacy() argument 527 struct fwnode_handle *fwnode = fwspec->fwnode; irq_find_matching_fwspec() local [all...] |
| /linux/drivers/usb/roles/ |
| H A D | class.c | 126 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/acpi/arm64/ |
| H A D | apmt.c | 76 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 D | surface_gpe.c | 295 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/pinctrl/ |
| H A D | pinconf-generic.c | 212 * @fwnode: firmware node 218 * Parse the config options described in @params from @fwnode and puts the result 223 static int parse_fw_cfg(struct fwnode_handle *fwnode, in parse_fw_cfg() argument 238 ret = fwnode_property_match_property_string(fwnode, in parse_fw_cfg() 248 ret = fwnode_property_read_u32(fwnode, par->property, &val); in parse_fw_cfg() 264 fwnode, par->property); in parse_fw_cfg() 277 fwnode); in parse_fw_cfg() 287 fwnode); in parse_fw_cfg() 294 fwnode); in parse_fw_cfg() 314 struct fwnode_handle *fwnode in pinconf_generic_parse_dt_pinmux() 317 struct fwnode_handle *fwnode = of_fwnode_handle(np); pinconf_generic_parse_dt_pinmux() local 385 struct fwnode_handle *fwnode; pinconf_generic_parse_dt_config() local [all...] |
| /linux/drivers/power/supply/ |
| H A D | power_supply_core.c | 202 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() 501 * @fwnode: Pointer to fwnode holding phandle property in power_supply_match_device_fwnode() 511 struct power_supply *power_supply_get_by_reference(struct fwnode_handle *fwnode, 516 power_supply_get_by_reference(struct fwnode_handle * fwnode,const char * property) power_supply_get_by_reference() argument 585 struct fwnode_handle *srcnode, *fwnode; power_supply_get_battery_info() local [all...] |