| /linux/include/linux/ |
| H A D | fwnode.h | 108 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 D | property.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, 81 bool fwnode_device_is_available(const struct fwnode_handle *fwnode); [all …]
|
| H A D | irqdomain.h | 42 struct fwnode_handle *fwnode; member 158 struct fwnode_handle *fwnode; member 228 return to_of_node(d->fwnode); in irq_domain_get_of_node() 263 void irq_domain_free_fwnode(struct fwnode_handle *fwnode); 294 struct fwnode_handle *fwnode; member 321 struct irq_domain *irq_domain_create_simple(struct fwnode_handle *fwnode, unsigned int size, 324 struct irq_domain *irq_domain_create_legacy(struct fwnode_handle *fwnode, unsigned int size, 336 static inline bool is_fwnode_irqchip(const struct fwnode_handle *fwnode) in is_fwnode_irqchip() argument 338 return fwnode && fwnode->ops == &irqchip_fwnode_ops; in is_fwnode_irqchip() 343 static inline struct irq_domain *irq_find_matching_fwnode(struct fwnode_handle *fwnode, in irq_find_matching_fwnode() 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() 57 bool fwnode_property_present(const struct fwnode_handle *fwnode, in fwnode_property_present() argument 62 if (IS_ERR_OR_NULL(fwnode)) in fwnode_property_present() 65 ret = fwnode_call_bool_op(fwnode, property_present, propname); in fwnode_property_present() 69 return fwnode_call_bool_op(fwnode->secondary, property_present, propname); in fwnode_property_present() 95 bool fwnode_property_read_bool(const struct fwnode_handle *fwnode, in fwnode_property_read_bool() argument 100 if (IS_ERR_OR_NULL(fwnode)) in fwnode_property_read_bool() 103 ret = fwnode_call_bool_op(fwnode, property_read_bool, propname); in fwnode_property_read_bool() 107 return fwnode_call_bool_op(fwnode->secondary, property_read_bool, propname); in fwnode_property_read_bool() [all …]
|
| H A D | swnode.c | 29 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 …]
|
| /linux/drivers/media/v4l2-core/ |
| H A D | v4l2-fwnode.c | 124 static int v4l2_fwnode_endpoint_parse_csi2_bus(struct fwnode_handle *fwnode, in v4l2_fwnode_endpoint_parse_csi2_bus() argument 161 rval = fwnode_property_count_u32(fwnode, "data-lanes"); in v4l2_fwnode_endpoint_parse_csi2_bus() 166 fwnode_property_read_u32_array(fwnode, "data-lanes", array, in v4l2_fwnode_endpoint_parse_csi2_bus() 189 rval = fwnode_property_count_u32(fwnode, "lane-polarities"); in v4l2_fwnode_endpoint_parse_csi2_bus() 200 rval = fwnode_property_count_u32(fwnode, "line-orders"); in v4l2_fwnode_endpoint_parse_csi2_bus() 211 if (!fwnode_property_read_u32(fwnode, "clock-lanes", &v)) { in v4l2_fwnode_endpoint_parse_csi2_bus() 224 if (fwnode_property_present(fwnode, "clock-noncontinuous")) { in v4l2_fwnode_endpoint_parse_csi2_bus() 252 fwnode_property_read_u32_array(fwnode, in v4l2_fwnode_endpoint_parse_csi2_bus() 266 fwnode_property_read_u32_array(fwnode, in v4l2_fwnode_endpoint_parse_csi2_bus() 307 v4l2_fwnode_endpoint_parse_parallel_bus(struct fwnode_handle *fwnode, in v4l2_fwnode_endpoint_parse_parallel_bus() argument [all …]
|
| 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/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() 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/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 | 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() 163 static inline void acpi_irq_parse_one_match(struct fwnode_handle *fwnode, in acpi_irq_parse_one_match() argument 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() [all …]
|
| /linux/drivers/gpio/ |
| H 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() 44 gdev = gpio_device_find_by_fwnode(fwnode); in swnode_get_gpio_device() 48 static int swnode_gpio_get_reference(const struct fwnode_handle *fwnode, in swnode_gpio_get_reference() argument 56 return fwnode_property_get_reference_args(fwnode, propname, NULL, 2, idx, args); in swnode_gpio_get_reference() 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() [all …]
|
| /linux/drivers/irqchip/ |
| H A D | irq-aclint-sswi.c | 62 static int __init aclint_sswi_parse_irq(struct fwnode_handle *fwnode, void __iomem *reg) in aclint_sswi_parse_irq() argument 64 u32 contexts = of_irq_count(to_of_node(fwnode)); in aclint_sswi_parse_irq() 67 pr_err("%pfwP: no ACLINT SSWI context available\n", fwnode); in aclint_sswi_parse_irq() 77 rc = of_irq_parse_one(to_of_node(fwnode), i, &parent); in aclint_sswi_parse_irq() 90 rc = riscv_get_hart_index(fwnode, i, &hart_index); in aclint_sswi_parse_irq() 92 pr_warn("%pfwP: hart index [%d] not found\n", fwnode, i); in aclint_sswi_parse_irq() 98 pr_info("%pfwP: register %u CPU%s\n", fwnode, contexts, str_plural(contexts)); in aclint_sswi_parse_irq() 103 static int __init aclint_sswi_probe(struct fwnode_handle *fwnode) in aclint_sswi_probe() argument 109 if (!is_of_node(fwnode)) in aclint_sswi_probe() 112 reg = of_iomap(to_of_node(fwnode), 0); in aclint_sswi_probe() [all …]
|
| H A D | irq-riscv-imsic-state.c | 592 static int __init imsic_populate_global_dt(struct fwnode_handle *fwnode, in imsic_populate_global_dt() argument 599 rc = of_property_read_u32(to_of_node(fwnode), "riscv,guest-index-bits", in imsic_populate_global_dt() 605 rc = of_property_read_u32(to_of_node(fwnode), "riscv,hart-index-bits", in imsic_populate_global_dt() 615 rc = of_property_read_u32(to_of_node(fwnode), "riscv,group-index-bits", in imsic_populate_global_dt() 624 rc = of_property_read_u32(to_of_node(fwnode), "riscv,group-index-shift", in imsic_populate_global_dt() 630 rc = of_property_read_u32(to_of_node(fwnode), "riscv,num-ids", in imsic_populate_global_dt() 633 pr_err("%pfwP: number of interrupt identities not found\n", fwnode); in imsic_populate_global_dt() 638 rc = of_property_read_u32(to_of_node(fwnode), "riscv,num-guest-ids", in imsic_populate_global_dt() 646 static int __init imsic_populate_global_acpi(struct fwnode_handle *fwnode, in imsic_populate_global_acpi() argument 661 static int __init imsic_get_parent_hartid(struct fwnode_handle *fwnode, in imsic_get_parent_hartid() argument [all …]
|
| H A D | irq-sifive-plic.c | 68 struct fwnode_handle *fwnode; member 394 handler->priv->fwnode, hwirq); in plic_handle_irq() 424 handler->priv->fwnode, cpu); in plic_starting_cpu() 449 static int plic_parse_nr_irqs_and_contexts(struct fwnode_handle *fwnode, in plic_parse_nr_irqs_and_contexts() argument 455 if (!is_of_node(fwnode)) { in plic_parse_nr_irqs_and_contexts() 456 rc = riscv_acpi_get_gsi_info(fwnode, gsi_base, id, nr_irqs, NULL); in plic_parse_nr_irqs_and_contexts() 458 pr_err("%pfwP: failed to find GSI mapping\n", fwnode); in plic_parse_nr_irqs_and_contexts() 464 pr_err("%pfwP: no PLIC context available\n", fwnode); in plic_parse_nr_irqs_and_contexts() 471 rc = of_property_read_u32(to_of_node(fwnode), "riscv,ndev", nr_irqs); in plic_parse_nr_irqs_and_contexts() 473 pr_err("%pfwP: riscv,ndev property not available\n", fwnode); 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 | 77 pr_info("%pfwP: providing IPIs using interrupt %d\n", imsic->fwnode, IMSIC_IPI_ID); in imsic_ipi_domain_init() 165 static int __init imsic_early_probe(struct fwnode_handle *fwnode) in imsic_early_probe() argument 173 pr_err("%pfwP: Failed to find INTC domain\n", fwnode); in imsic_early_probe() 178 pr_err("%pfwP: Failed to create INTC mapping\n", fwnode); in imsic_early_probe() 185 pr_err("%pfwP: Failed to initialize IPI domain\n", fwnode); in imsic_early_probe() 207 struct fwnode_handle *fwnode = &node->fwnode; in imsic_early_dt_init() local 211 rc = imsic_setup_state(fwnode, NULL); in imsic_early_dt_init() 213 pr_err("%pfwP: failed to setup state (error %d)\n", fwnode, rc); in imsic_early_dt_init() 218 rc = imsic_early_probe(fwnode); in imsic_early_dt_init()
|
| /linux/rust/kernel/device/ |
| H A D | property.rs | 130 pub fn property_read_array_vec<'fwnode, 'name, T: PropertyInt>( in property_read_array_vec() argument 131 &'fwnode self, in property_read_array_vec() 134 ) -> Result<PropertyGuard<'fwnode, 'name, KVec<T>>> { in property_read_array_vec() argument 152 fwnode: self, in property_read_array_vec() 191 pub fn property_read<'fwnode, 'name, T: Property>( in property_read() argument 192 &'fwnode self, in property_read() 194 ) -> PropertyGuard<'fwnode, 'name, T> { in property_read() argument 197 fwnode: self, in property_read() 325 if !self.0.fwnode.is_null() { in drop() 331 let _ = unsafe { FwNode::from_raw(self.0.fwnode) }; in drop() [all …]
|
| /linux/samples/rust/ |
| H A D | rust_driver_platform.rs | 115 if dev.fwnode().is_some_and(|node| node.is_of_node()) { in probe() 127 let fwnode = dev.fwnode().ok_or(ENOENT)?; in properties_parse() localVariable 130 fwnode.property_match_string(c_str!("compatible"), c_str!("test,rust-device")) in properties_parse() 136 let prop = fwnode.property_read::<CString>(name).required_by(dev)?; in properties_parse() 140 let prop = fwnode.property_read_bool(c_str!("test,bool-prop")); in properties_parse() 143 if fwnode.property_present(c_str!("test,u32-prop")) { in properties_parse() 148 let prop = fwnode.property_read::<u32>(name).or(0x12); in properties_parse() 154 let _ = fwnode.property_read::<u32>(name).required_by(dev); in properties_parse() 157 let prop: u32 = fwnode.property_read(name).required_by(dev)?; in properties_parse() 161 let prop: [i16; 4] = fwnode.property_read(name).required_by(dev)?; in properties_parse() [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() 254 struct fwnode_handle *fwnode; in cht_int33fe_register_max17047() local 257 fwnode = software_node_fwnode(&max17047_node); in cht_int33fe_register_max17047() 258 if (!fwnode) in cht_int33fe_register_max17047() 264 set_secondary_fwnode(&max17047->dev, fwnode); in cht_int33fe_register_max17047() 275 board_info.fwnode = fwnode; in cht_int33fe_register_max17047() [all …]
|
| /linux/drivers/platform/chrome/ |
| H 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() 195 static int cros_typec_register_retimer(struct cros_typec_port *port, struct fwnode_handle *fwnode) in cros_typec_register_retimer() argument 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() 233 dev_err(fwnode->dev, "Couldn't get ACPI device handle\n"); in cros_typec_register_switches() [all …]
|
| /linux/drivers/leds/ |
| H A D | leds-pwm.c | 65 static int led_pwm_default_brightness_get(struct fwnode_handle *fwnode, in led_pwm_default_brightness_get() argument 71 ret = fwnode_property_read_u32(fwnode, "default-brightness", in led_pwm_default_brightness_get() 81 struct led_pwm *led, struct fwnode_handle *fwnode) in led_pwm_add() argument 84 struct led_init_data init_data = { .fwnode = fwnode }; in led_pwm_add() 93 led_data->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL); in led_pwm_add() 121 led_pwm_default_brightness_get(fwnode, led->max_brightness); in led_pwm_add() 160 device_for_each_child_node_scoped(dev, fwnode) { in led_pwm_create_fwnode() 163 ret = fwnode_property_read_string(fwnode, "label", &led.name); in led_pwm_create_fwnode() 164 if (ret && is_of_node(fwnode)) in led_pwm_create_fwnode() 165 led.name = to_of_node(fwnode)->name; in led_pwm_create_fwnode() [all …]
|
| /linux/drivers/of/ |
| H A D | property.c | 996 static struct fwnode_handle *of_fwnode_get(struct fwnode_handle *fwnode) in of_fwnode_get() argument 998 return of_fwnode_handle(of_node_get(to_of_node(fwnode))); in of_fwnode_get() 1001 static void of_fwnode_put(struct fwnode_handle *fwnode) in of_fwnode_put() argument 1003 of_node_put(to_of_node(fwnode)); in of_fwnode_put() 1006 static bool of_fwnode_device_is_available(const struct fwnode_handle *fwnode) in of_fwnode_device_is_available() argument 1008 return of_device_is_available(to_of_node(fwnode)); in of_fwnode_device_is_available() 1011 static bool of_fwnode_device_dma_supported(const struct fwnode_handle *fwnode) in of_fwnode_device_dma_supported() argument 1017 of_fwnode_device_get_dma_attr(const struct fwnode_handle *fwnode) in of_fwnode_device_get_dma_attr() argument 1019 if (of_dma_is_coherent(to_of_node(fwnode))) in of_fwnode_device_get_dma_attr() 1025 static bool of_fwnode_property_present(const struct fwnode_handle *fwnode, in of_fwnode_property_present() argument [all …]
|
| /linux/drivers/usb/typec/ |
| H 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() 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 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()
|