| /linux/include/linux/ |
| A D | fwnode.h | 103 struct fwnode_handle *fwnode; member 180 (!IS_ERR_OR_NULL(fwnode) && (fwnode)->ops && (fwnode)->ops->op) 183 (fwnode_has_op(fwnode, op) ? \ 184 (fwnode)->ops->op(fwnode, ## __VA_ARGS__) : (IS_ERR_OR_NULL(fwnode) ? -EINVAL : -ENXIO)) 187 (fwnode_has_op(fwnode, op) ? \ 188 (fwnode)->ops->op(fwnode, ## __VA_ARGS__) : false) 191 (fwnode_has_op(fwnode, op) ? \ 192 (fwnode)->ops->op(fwnode, ## __VA_ARGS__) : NULL) 196 (fwnode)->ops->op(fwnode, ## __VA_ARGS__); \ 202 fwnode->ops = ops; in fwnode_init() [all …]
|
| A D | property.h | 81 if (fwnode_property_present(fwnode, "big-endian")) in fwnode_device_is_big_endian() 84 fwnode_property_present(fwnode, "native-endian")) in fwnode_device_is_big_endian() 151 #define fwnode_for_each_parent_node(fwnode, parent) \ argument 152 for (parent = fwnode_get_parent(fwnode); parent; \ 163 #define fwnode_for_each_child_node(fwnode, child) \ argument 200 fwnode_call_void_op(fwnode, put); in fwnode_handle_put() 269 return fwnode_property_present(fwnode, propname); in fwnode_property_read_bool() 472 const struct fwnode_handle *fwnode); 474 const struct fwnode_handle *fwnode); 476 const struct fwnode_handle *fwnode); [all …]
|
| A D | irqdomain.h | 64 struct fwnode_handle *fwnode; member 180 struct fwnode_handle *fwnode; member 244 return to_of_node(d->fwnode); in irq_domain_get_of_node() 310 struct fwnode_handle *fwnode; member 363 return node ? &node->fwnode : NULL; in of_node_to_fwnode() 370 return fwnode && fwnode->ops == &irqchip_fwnode_ops; in is_fwnode_irqchip() 381 .fwnode = fwnode, in irq_find_matching_fwnode() 426 .fwnode = of_node_to_fwnode(of_node), in irq_domain_add_linear() 482 .fwnode = fwnode, in irq_domain_create_linear() 499 .fwnode = fwnode, in irq_domain_create_tree() [all …]
|
| /linux/drivers/base/ |
| A D | property.c | 62 if (IS_ERR_OR_NULL(fwnode)) in fwnode_property_present() 264 if (IS_ERR_OR_NULL(fwnode)) in fwnode_property_read_int_array() 419 if (IS_ERR_OR_NULL(fwnode)) in fwnode_property_read_string_array() 567 if (IS_ERR_OR_NULL(fwnode)) in fwnode_property_get_reference_args() 697 fwnode_handle_put(fwnode); in fwnode_get_next_parent() 781 if (IS_ERR_OR_NULL(fwnode)) in fwnode_get_next_available_child_node() 809 if (IS_ERR_OR_NULL(fwnode)) in device_get_next_child_node() 865 return fwnode; in fwnode_handle_get() 1056 parent = fwnode; in fwnode_graph_get_next_endpoint() 1362 if (!fwnode || !match) in fwnode_connection_find_match() [all …]
|
| A D | swnode.c | 29 struct fwnode_handle fwnode; member 52 return !IS_ERR_OR_NULL(fwnode) && fwnode->ops == &software_node_ops; in is_software_node() 69 if (!fwnode) in dev_to_swnode() 73 fwnode = fwnode->secondary; in dev_to_swnode() 75 return to_swnode(fwnode); in dev_to_swnode() 383 return &swnode->fwnode; in software_node_get() 497 return &child->fwnode; in software_node_get_named_child_node() 833 return &swnode->fwnode; in swnode_register() 949 if (IS_ERR(fwnode)) in fwnode_create_software_node() 952 return fwnode; in fwnode_create_software_node() [all …]
|
| /linux/drivers/media/v4l2-core/ |
| A D | v4l2-fwnode.c | 574 fwnode = fwnode_graph_get_remote_endpoint(fwnode); in v4l2_fwnode_parse_link() 575 if (!fwnode) in v4l2_fwnode_parse_link() 588 fwnode_handle_put(fwnode); in v4l2_fwnode_parse_link() 667 if (!fwnode) in v4l2_fwnode_get_connector_type() 686 if (!fwnode) in v4l2_fwnode_connector_parse() 1042 fwnode = fwnode_args.fwnode; in v4l2_fwnode_reference_get_int_prop() 1066 fwnode = child; in v4l2_fwnode_reference_get_int_prop() 1069 return fwnode; in v4l2_fwnode_reference_get_int_prop() 1118 if (IS_ERR(fwnode)) { in v4l2_fwnode_reference_parse_int_props() 1126 return PTR_ERR(fwnode); in v4l2_fwnode_reference_parse_int_props() [all …]
|
| A D | v4l2-async.c | 102 sd_fwnode, match->fwnode); in match_fwnode_one() 104 if (sd_fwnode == match->fwnode) { in match_fwnode_one() 142 match->fwnode); in match_fwnode() 222 return match1->fwnode == match2->fwnode; in v4l2_async_match_equal() 362 asc->match.fwnode, ret); in v4l2_async_match_notify() 378 asc->match.fwnode, ret); in v4l2_async_match_notify() 714 asc->match.fwnode = fwnode_handle_get(fwnode); in __v4l2_async_nf_add_fwnode() 774 ase->endpoint = fwnode; in v4l2_async_subdev_endpoint_add() 810 if (!sd->fwnode && sd->dev) { in __v4l2_async_register_subdev() 906 struct fwnode_handle *devnode, *fwnode = match->fwnode; in print_waiting_match() local [all …]
|
| /linux/drivers/hwtracing/coresight/ |
| A D | coresight-cti-platform.c | 76 if (is_of_node(fwnode)) in cti_plat_get_cpu_at_node() 83 if (is_of_node(fwnode)) in cti_plat_get_node_name() 102 name = cti_plat_get_node_name(fwnode); in cti_plat_get_csdev_or_node_name() 109 if (is_of_node(fwnode)) in cti_plat_node_name_eq() 226 if (is_of_node(fwnode)) in cti_plat_check_v8_arch_compatible() 241 const struct fwnode_handle *fwnode, in cti_plat_read_trig_group() argument 268 const struct fwnode_handle *fwnode, in cti_plat_read_trig_types() argument 315 const struct fwnode_handle *fwnode) in cti_plat_process_filter_sigs() argument 342 struct fwnode_handle *fwnode) in cti_plat_create_connection() argument 392 cpuid = cti_plat_get_cpu_at_node(fwnode); in cti_plat_create_connection() [all …]
|
| /linux/drivers/acpi/ |
| A D | property.c | 116 &dn->fwnode)) in acpi_nondev_subnode_extract() 119 &dn->fwnode)) { in acpi_nondev_subnode_extract() 722 if (is_acpi_data_node(fwnode)) { in acpi_device_data_of_node() 836 args->fwnode = ref_fwnode; in acpi_get_ref_args() 882 return &dn->fwnode; in acpi_parse_string_ref() 965 args->fwnode = ref_fwnode; in __acpi_node_get_property_reference() 1316 return &dn->fwnode; in acpi_get_next_subnode() 1461 struct fwnode_handle *fwnode; in acpi_graph_get_remote_endpoint() local 1483 fwnode = args.fwnode; in acpi_graph_get_remote_endpoint() 1487 fwnode = acpi_graph_get_child_prop_value(fwnode, "port", port_nr); in acpi_graph_get_remote_endpoint() [all …]
|
| A D | irq.c | 62 fwspec.fwnode = acpi_get_gsi_domain_id(gsi); in acpi_register_gsi() 63 if (WARN_ON(!fwspec.fwnode)) { in acpi_register_gsi() 131 result = &device->fwnode; in acpi_get_irq_source_fwhandle() 169 if (!fwnode) in acpi_irq_parse_one_match() 173 ctx->fwspec->fwnode = fwnode; in acpi_irq_parse_one_match() 203 struct fwnode_handle *fwnode; in acpi_irq_parse_one_cb() local 212 fwnode = acpi_get_gsi_domain_id(irq->interrupts[ctx->index]); in acpi_irq_parse_one_cb() 213 acpi_irq_parse_one_match(fwnode, irq->interrupts[ctx->index], in acpi_irq_parse_one_cb() 225 fwnode = acpi_get_irq_source_fwhandle(&eirq->resource_source, in acpi_irq_parse_one_cb() 227 acpi_irq_parse_one_match(fwnode, eirq->interrupts[ctx->index], in acpi_irq_parse_one_cb() [all …]
|
| /linux/drivers/gpio/ |
| A D | gpiolib-swnode.c | 27 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() 48 static int swnode_gpio_get_reference(const struct fwnode_handle *fwnode, in swnode_gpio_get_reference() argument 59 struct gpio_desc *swnode_find_gpio(struct fwnode_handle *fwnode, in swnode_find_gpio() argument 69 swnode = to_software_node(fwnode); in swnode_find_gpio() 74 ret = swnode_gpio_get_reference(fwnode, propname, idx, &args); in swnode_find_gpio() 80 __func__, propname, fwnode, idx); in swnode_find_gpio() 85 swnode_get_gpio_device(args.fwnode); in swnode_find_gpio() 86 fwnode_handle_put(args.fwnode); in swnode_find_gpio() 98 __func__, propname, fwnode, idx, PTR_ERR_OR_ZERO(desc)); in swnode_find_gpio() [all …]
|
| /linux/drivers/irqchip/ |
| A D | irq-riscv-imsic-state.c | 589 if (!is_of_node(fwnode)) { in imsic_get_parent_hartid() 616 if (!is_of_node(fwnode)) in imsic_get_mmio_resource() 640 pr_err("%pfwP: no parent irqs available\n", fwnode); in imsic_parse_fwnode() 644 if (is_of_node(fwnode)) in imsic_parse_fwnode() 662 pr_err("%pfwP: HART index bits too big\n", fwnode); in imsic_parse_fwnode() 698 rc = imsic_get_mmio_resource(fwnode, 0, &res); in imsic_parse_fwnode() 748 imsic->fwnode = fwnode; in imsic_setup_state() 778 rc = imsic_get_mmio_resource(fwnode, i, &mmios[i]); in imsic_setup_state() 808 fwnode); in imsic_setup_state() 814 rc = imsic_get_parent_hartid(fwnode, i, &hartid); in imsic_setup_state() [all …]
|
| A D | irq-sifive-plic.c | 68 struct fwnode_handle *fwnode; member 391 handler->priv->fwnode, hwirq); in plic_handle_irq() 421 handler->priv->fwnode, cpu); in plic_starting_cpu() 452 if (!is_of_node(fwnode)) { in plic_parse_nr_irqs_and_contexts() 493 if (!is_of_node(fwnode)) { in plic_parse_context_parent() 528 if (is_of_node(fwnode)) { in plic_probe() 535 regs = of_iomap(to_of_node(fwnode), 0); in plic_probe() 554 priv->fwnode = fwnode; in plic_probe() 575 if (is_of_node(fwnode)) { in plic_probe() 717 return plic_probe(pdev->dev.fwnode); in plic_platform_probe() [all …]
|
| A D | irq-riscv-imsic-platform.c | 181 if (fwspec->fwnode != domain->fwnode || fwspec->param_count != 0) in imsic_irq_domain_select() 317 if (!imsic || !imsic->fwnode) { in imsic_irqdomain_init() 323 pr_err("%pfwP: irq domain already created\n", imsic->fwnode); in imsic_irqdomain_init() 328 imsic->base_domain = irq_domain_create_tree(imsic->fwnode, in imsic_irqdomain_init() 345 imsic->fwnode, global->nr_ids, &global->base_addr); in imsic_irqdomain_init() 347 imsic->fwnode, num_possible_cpus() * (global->nr_ids - 1)); in imsic_irqdomain_init() 354 if (imsic && imsic->fwnode != fwnode) { in imsic_platform_probe_common() 355 pr_err("%pfwP: fwnode mismatch\n", fwnode); in imsic_platform_probe_common() 364 return imsic_platform_probe_common(pdev->dev.fwnode); in imsic_platform_dt_probe() 376 int imsic_platform_acpi_probe(struct fwnode_handle *fwnode) in imsic_platform_acpi_probe() argument [all …]
|
| A D | irq-gic-v2m.c | 67 struct fwnode_handle *fwnode; member 121 fwspec.fwnode = domain->parent->fwnode; in gicv2m_irq_gic_domain_alloc() 127 fwspec.fwnode = domain->parent->fwnode; in gicv2m_irq_gic_domain_alloc() 239 of_node_put(to_of_node(v2m->fwnode)); in gicv2m_teardown() 240 if (is_fwnode_irqchip(v2m->fwnode)) in gicv2m_teardown() 241 irq_domain_free_fwnode(v2m->fwnode); in gicv2m_teardown() 298 v2m->fwnode = fwnode; in gicv2m_init_one() 438 return data->fwnode; in gicv2m_get_fwnode() 468 struct fwnode_handle *fwnode; in acpi_parse_madt_msi() local 495 if (!fwnode) { in acpi_parse_madt_msi() [all …]
|
| A D | irq-riscv-imsic-early.c | 58 pr_info("%pfwP: providing IPIs using interrupt %d\n", imsic->fwnode, IMSIC_IPI_ID); in imsic_ipi_domain_init() 142 static int __init imsic_early_probe(struct fwnode_handle *fwnode) in imsic_early_probe() argument 150 pr_err("%pfwP: Failed to find INTC domain\n", fwnode); in imsic_early_probe() 155 pr_err("%pfwP: Failed to create INTC mapping\n", fwnode); in imsic_early_probe() 162 pr_err("%pfwP: Failed to initialize IPI domain\n", fwnode); in imsic_early_probe() 184 struct fwnode_handle *fwnode = &node->fwnode; in imsic_early_dt_init() local 188 rc = imsic_setup_state(fwnode, NULL); in imsic_early_dt_init() 190 pr_err("%pfwP: failed to setup state (error %d)\n", fwnode, rc); in imsic_early_dt_init() 195 rc = imsic_early_probe(fwnode); in imsic_early_dt_init()
|
| 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() 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() 217 irq_domain_free_fwnode(vm->vpes[i]->fwnode); in its_free_sgi_irqs() [all …]
|
| /linux/drivers/platform/x86/intel/ |
| A D | chtwc_int33fe.c | 163 struct fwnode_handle *fwnode; in cht_int33fe_setup_dp() local 167 if (!fwnode) in cht_int33fe_setup_dp() 184 data->dp->secondary = fwnode; in cht_int33fe_setup_dp() 254 struct fwnode_handle *fwnode; in cht_int33fe_register_max17047() local 258 if (!fwnode) in cht_int33fe_register_max17047() 275 board_info.fwnode = fwnode; in cht_int33fe_register_max17047() 307 struct fwnode_handle *fwnode; in cht_int33fe_typec_probe() local 358 if (!fwnode) { in cht_int33fe_typec_probe() 366 board_info.fwnode = fwnode; in cht_int33fe_typec_probe() 376 if (!fwnode) { in cht_int33fe_typec_probe() [all …]
|
| /linux/drivers/platform/chrome/ |
| A D | cros_typec_switch.c | 181 struct fwnode_handle *fwnode) in cros_typec_register_mode_switch() argument 184 .fwnode = fwnode, in cros_typec_register_mode_switch() 186 .name = fwnode_get_name(fwnode), in cros_typec_register_mode_switch() 198 .fwnode = fwnode, in cros_typec_register_retimer() 200 .name = fwnode_get_name(fwnode), in cros_typec_register_retimer() 213 struct fwnode_handle *fwnode; in cros_typec_register_switches() local 224 device_for_each_child_node(dev, fwnode) { in cros_typec_register_switches() 231 adev = to_acpi_device_node(fwnode); in cros_typec_register_switches() 240 dev_err(fwnode->dev, "_ADR wasn't evaluated\n"); in cros_typec_register_switches() 255 ret = cros_typec_register_retimer(port, fwnode); in cros_typec_register_switches() [all …]
|
| /linux/drivers/leds/ |
| A D | leds-pwm.c | 68 struct led_pwm *led, struct fwnode_handle *fwnode) in led_pwm_add() argument 71 struct led_init_data init_data = { .fwnode = fwnode }; in led_pwm_add() 80 led_data->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL); in led_pwm_add() 143 struct fwnode_handle *fwnode; in led_pwm_create_fwnode() local 147 device_for_each_child_node(dev, fwnode) { in led_pwm_create_fwnode() 151 if (ret && is_of_node(fwnode)) in led_pwm_create_fwnode() 152 led.name = to_of_node(fwnode)->name; in led_pwm_create_fwnode() 159 led.active_low = fwnode_property_read_bool(fwnode, in led_pwm_create_fwnode() 161 fwnode_property_read_u32(fwnode, "max-brightness", in led_pwm_create_fwnode() 166 ret = led_pwm_add(dev, priv, &led, fwnode); in led_pwm_create_fwnode() [all …]
|
| A D | led-core.c | 420 struct fwnode_handle *fwnode = led_cdev->dev->fwnode; in led_get_default_pattern() local 424 count = fwnode_property_count_u32(fwnode, "led-pattern"); in led_get_default_pattern() 462 struct fwnode_handle *fwnode, in led_parse_fwnode_props() argument 467 if (!fwnode) in led_parse_fwnode_props() 470 if (fwnode_property_present(fwnode, "label")) { in led_parse_fwnode_props() 477 if (fwnode_property_present(fwnode, "color")) { in led_parse_fwnode_props() 488 if (!fwnode_property_present(fwnode, "function")) in led_parse_fwnode_props() 516 struct fwnode_handle *fwnode = init_data->fwnode; in led_compose_name() local 522 led_parse_fwnode_props(dev, fwnode, &props); in led_compose_name() 564 } else if (is_of_node(fwnode)) { in led_compose_name() [all …]
|
| /linux/drivers/of/ |
| A D | property.c | 871 of_node_put(to_of_node(fwnode)); in of_fwnode_put() 876 return of_device_is_available(to_of_node(fwnode)); in of_fwnode_device_is_available() 887 if (of_dma_is_coherent(to_of_node(fwnode))) in of_fwnode_device_get_dma_attr() 938 return kbasename(to_of_node(fwnode)->full_name); in of_fwnode_get_name() 944 if (!to_of_node(fwnode)->parent) in of_fwnode_get_name_prefix() 1002 args->fwnode = of_fwnode_handle(of_args.np); in of_fwnode_get_reference_args() 1031 np = of_get_parent(to_of_node(fwnode)); in of_fwnode_graph_get_port_parent() 1048 endpoint->local_fwnode = fwnode; in of_fwnode_graph_parse_endpoint() 1455 return of_iomap(to_of_node(fwnode), index); in of_fwnode_iomap() 1464 return of_irq_get(to_of_node(fwnode), index); in of_fwnode_irq_get() [all …]
|
| /linux/drivers/usb/typec/ |
| 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()
|
| A D | mux.c | 27 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() 182 sw_dev->dev.fwnode = desc->fwnode; in typec_switch_register() 262 return device_match_fwnode(dev, fwnode); in mux_fwnode_match() 278 if (id && !fwnode_property_present(fwnode, id)) in typec_mux_match() 281 dev = class_find_device(&typec_mux_class, NULL, fwnode, in typec_mux_match() 308 count = fwnode_connection_find_matches(fwnode, "mode-switch", in fwnode_typec_mux_get() [all …]
|
| /linux/drivers/acpi/arm64/ |
| 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()
|