Lines Matching defs:component
51 #define for_each_component(component) \
52 list_for_each_entry(component, &component_list, list)
133 static void soc_init_component_debugfs(struct snd_soc_component *component)
135 if (!component->card->debugfs_card_root)
138 if (component->debugfs_prefix) {
142 component->debugfs_prefix, component->name);
144 component->debugfs_root = debugfs_create_dir(name,
145 component->card->debugfs_card_root);
149 component->debugfs_root = debugfs_create_dir(component->name,
150 component->card->debugfs_card_root);
153 snd_soc_dapm_debugfs_init(snd_soc_component_get_dapm(component),
154 component->debugfs_root);
157 static void soc_cleanup_component_debugfs(struct snd_soc_component *component)
159 if (!component->debugfs_root)
161 debugfs_remove_recursive(component->debugfs_root);
162 component->debugfs_root = NULL;
167 struct snd_soc_component *component;
172 for_each_component(component)
173 for_each_component_dais(component, dai)
184 struct snd_soc_component *component;
188 for_each_component(component)
189 seq_printf(m, "%s\n", component->name);
232 static inline void soc_init_component_debugfs(struct snd_soc_component *component) { }
233 static inline void soc_cleanup_component_debugfs(struct snd_soc_component *component) { }
293 if (dai->component->name &&
294 strcmp(dlc->dai_name, dai->component->name) == 0)
309 if (dai->component->name)
310 return dai->component->name;
317 struct snd_soc_component *component)
324 if (comp == component)
329 rtd->components[rtd->num_components] = component;
338 struct snd_soc_component *component;
347 * snd_soc_rtdcom_lookup() will find component from rtd by using
350 * to 1 rtd, this function will return 1st found component.
352 for_each_rtd_components(rtd, i, component) {
353 const char *component_name = component->driver->name;
360 return component;
370 struct snd_soc_component *component;
374 for_each_component(component) {
375 if ((dev == component->dev) &&
377 (driver_name == component->driver->name) ||
378 (strcmp(component->driver->name, driver_name) == 0))) {
379 found_component = component;
391 struct snd_soc_component *component;
394 component = snd_soc_lookup_component_nolocked(dev, driver_name);
397 return component;
497 struct snd_soc_component *component;
525 sizeof(component) * (dai_link->num_cpus +
626 struct snd_soc_component *component;
671 for_each_rtd_components(rtd, i, component) {
673 snd_soc_component_get_dapm(component);
676 * ignore if component was already suspended
678 if (snd_soc_component_is_suspended(component))
694 dev_dbg(component->dev,
701 snd_soc_component_suspend(component);
702 if (component->regmap)
703 regcache_mark_dirty(component->regmap);
705 pinctrl_pm_select_sleep_state(component->dev);
708 dev_dbg(component->dev,
730 struct snd_soc_component *component;
744 for_each_card_components(card, component) {
745 if (snd_soc_component_is_suspended(component))
746 snd_soc_component_resume(component);
770 struct snd_soc_component *component;
777 for_each_card_components(card, component)
778 if (snd_soc_component_active(component))
779 pinctrl_pm_select_default_state(component->dev);
801 *soc_component_to_node(struct snd_soc_component *component)
805 of_node = component->dev->of_node;
806 if (!of_node && component->dev->parent)
807 of_node = component->dev->parent->of_node;
827 struct snd_soc_component *component)
837 for_each_component_dais(component, dai)
843 component_of_node = soc_component_to_node(component);
847 if (dlc->name && strcmp(component->name, dlc->name))
856 struct snd_soc_component *component;
863 * It returns *1st* found component, but some driver
866 * CPU component and generic DMAEngine component
868 for_each_component(component)
869 if (snd_soc_is_matching_component(dlc, component))
870 return component;
878 * @dlc: name of the DAI or the DAI driver and optional component info to match
881 * find the DAI of the same name. The component's of_node and name
889 struct snd_soc_component *component;
895 for_each_component(component)
896 if (snd_soc_is_matching_component(dlc, component))
897 for_each_component_dais(component, dai)
941 * Defer card registration if codec component is not added to
942 * component list.
962 * Defer card registration if platform component is not added to
963 * component list.
1047 * topology component. And machine drivers can still define static
1055 struct snd_soc_component *component;
1087 snd_soc_rtd_add_component(rtd, asoc_rtd_to_cpu(rtd, i)->component);
1099 snd_soc_rtd_add_component(rtd, asoc_rtd_to_codec(rtd, i)->component);
1104 for_each_component(component) {
1105 if (!snd_soc_is_matching_component(platform, component))
1108 snd_soc_rtd_add_component(rtd, component);
1339 struct snd_soc_component *component;
1362 for_each_rtd_components(rtd, i, component) {
1363 if (!component->driver->use_dai_pcm_id)
1367 num += component->driver->be_pcm_base;
1398 struct snd_soc_component *component)
1400 struct device_node *of_node = soc_component_to_node(component);
1407 if (snd_soc_is_matching_component(&map->dlc, component) &&
1409 component->name_prefix = map->name_prefix;
1422 component->name_prefix = str;
1425 static void soc_remove_component(struct snd_soc_component *component,
1429 if (!component->card)
1433 snd_soc_component_remove(component);
1435 list_del_init(&component->card_list);
1436 snd_soc_dapm_free(snd_soc_component_get_dapm(component));
1437 soc_cleanup_component_debugfs(component);
1438 component->card = NULL;
1439 snd_soc_component_module_put_when_remove(component);
1443 struct snd_soc_component *component)
1446 snd_soc_component_get_dapm(component);
1451 if (snd_soc_component_is_dummy(component))
1454 if (component->card) {
1455 if (component->card != card) {
1456 dev_err(component->dev,
1457 "Trying to bind component \"%s\" to card \"%s\" but is already bound to card \"%s\"\n",
1458 component->name, card->name, component->card->name);
1464 ret = snd_soc_component_module_get_when_probe(component);
1468 component->card = card;
1469 soc_set_name_prefix(card, component);
1471 soc_init_component_debugfs(component);
1473 snd_soc_dapm_init(dapm, card, component);
1476 component->driver->dapm_widgets,
1477 component->driver->num_dapm_widgets);
1480 dev_err(component->dev,
1485 for_each_component_dais(component, dai) {
1488 dev_err(component->dev,
1494 ret = snd_soc_component_probe(component);
1501 component->name);
1509 ret = snd_soc_component_init(component);
1513 ret = snd_soc_add_component_controls(component,
1514 component->driver->controls,
1515 component->driver->num_controls);
1520 component->driver->dapm_routes,
1521 component->driver->num_dapm_routes);
1536 list_add(&component->card_list, &card->component_dev_list);
1540 soc_remove_component(component, probed);
1577 struct snd_soc_component *component;
1583 for_each_rtd_components(rtd, i, component) {
1584 if (component->driver->remove_order != order)
1587 soc_remove_component(component, 1);
1595 struct snd_soc_component *component;
1601 for_each_rtd_components(rtd, i, component) {
1602 if (component->driver->probe_order != order)
1605 ret = soc_probe_component(card, component);
1617 struct snd_soc_component *component, *_component;
1619 for_each_card_auxs_safe(card, component, _component) {
1621 snd_soc_component_set_aux(component, NULL);
1622 list_del(&component->card_aux_list);
1628 struct snd_soc_component *component;
1634 component = soc_find_component(&aux->dlc);
1635 if (!component)
1639 snd_soc_component_set_aux(component, aux);
1641 list_add(&component->card_aux_list, &card->aux_comp_list);
1648 struct snd_soc_component *component;
1653 for_each_card_auxs(card, component) {
1654 if (component->driver->probe_order != order)
1657 ret = soc_probe_component(card, component);
1838 struct snd_soc_component *component;
1843 for_each_component(component) {
1845 /* does this component override BEs ? */
1846 if (!component->driver->ignore_machine)
1850 if (!strcmp(component->driver->ignore_machine,
1853 if (strcmp(component->driver->ignore_machine,
1869 /* override platform component */
1875 if (component->dev->of_node)
1876 dai_link->platforms->of_node = component->dev->of_node;
1878 dai_link->platforms->name = component->name;
1907 component->driver->be_hw_params_fixup;
1918 if (component->driver->topology_name_prefix) {
1922 comp_drv = component->driver;
2035 struct snd_soc_component *component;
2100 "ASoC: failed to probe aux component %d\n", ret);
2188 for_each_card_components(card, component)
2189 if (!snd_soc_component_active(component))
2190 pinctrl_pm_select_sleep_state(component->dev);
2227 struct snd_soc_component *component;
2241 for_each_card_components(card, component)
2242 pinctrl_pm_select_sleep_state(component->dev);
2331 * snd_soc_add_component_controls - Add an array of controls to a component.
2333 * @component: Component to add controls to
2339 int snd_soc_add_component_controls(struct snd_soc_component *component,
2342 struct snd_card *card = component->card->snd_card;
2344 return snd_soc_add_controls(card, component->dev, controls,
2345 num_controls, component->name_prefix, component);
2382 struct snd_card *card = dai->component->card->snd_card;
2464 /* I2C component devices are named "bus-addr" */
2472 /* sanitize component name for DAI link creation */
2508 * @component: The component the DAIs are registered for
2513 * Topology can use this API to register DAIs when probing a component.
2515 * will be freed in the component cleanup.
2517 struct snd_soc_dai *snd_soc_register_dai(struct snd_soc_component *component,
2521 struct device *dev = component->dev;
2531 * Back in the old days when we still had component-less DAIs,
2532 * instead of having a static name, component-less DAIs would
2536 * component-less anymore.
2546 dai->id = component->num_dai;
2551 dai->component = component;
2556 list_add_tail(&dai->list, &component->dai_list);
2557 component->num_dai++;
2567 * @component: The component for which the DAIs should be unregistered
2569 static void snd_soc_unregister_dais(struct snd_soc_component *component)
2573 for_each_component_dais_safe(component, dai, _dai)
2580 * @component: The component the DAIs are registered for
2584 static int snd_soc_register_dais(struct snd_soc_component *component,
2593 dai = snd_soc_register_dai(component, dai_drv + i, count == 1 &&
2594 component->driver->legacy_dai_naming);
2604 snd_soc_unregister_dais(component);
2653 static void snd_soc_del_component_unlocked(struct snd_soc_component *component)
2655 struct snd_soc_card *card = component->card;
2657 snd_soc_unregister_dais(component);
2662 list_del(&component->list);
2665 int snd_soc_component_initialize(struct snd_soc_component *component,
2669 INIT_LIST_HEAD(&component->dai_list);
2670 INIT_LIST_HEAD(&component->dobj_list);
2671 INIT_LIST_HEAD(&component->card_list);
2672 INIT_LIST_HEAD(&component->list);
2673 mutex_init(&component->io_mutex);
2675 component->name = fmt_single_name(dev, &component->id);
2676 if (!component->name) {
2681 component->dev = dev;
2682 component->driver = driver;
2685 if (!component->debugfs_prefix)
2686 component->debugfs_prefix = driver->debugfs_prefix;
2693 int snd_soc_add_component(struct snd_soc_component *component,
2702 if (component->driver->endianness) {
2709 ret = snd_soc_register_dais(component, dai_drv, num_dai);
2711 dev_err(component->dev, "ASoC: Failed to register DAIs: %d\n",
2716 if (!component->driver->write && !component->driver->read) {
2717 if (!component->regmap)
2718 component->regmap = dev_get_regmap(component->dev,
2720 if (component->regmap)
2721 snd_soc_component_setup_regmap(component);
2725 list_add(&component->list, &component_list);
2729 snd_soc_del_component_unlocked(component);
2745 struct snd_soc_component *component;
2748 component = devm_kzalloc(dev, sizeof(*component), GFP_KERNEL);
2749 if (!component)
2752 ret = snd_soc_component_initialize(component, component_driver, dev);
2756 return snd_soc_add_component(component, dai_drv, num_dai);
2761 * snd_soc_unregister_component_by_driver - Unregister component using a given driver
2765 * @component_driver: The component driver to unregister
2770 struct snd_soc_component *component;
2776 component = snd_soc_lookup_component_nolocked(dev, component_driver->name);
2777 if (!component)
2780 snd_soc_del_component_unlocked(component);
2788 * snd_soc_unregister_component - Unregister all related component
2797 struct snd_soc_component *component = snd_soc_lookup_component_nolocked(dev, NULL);
2799 if (!component)
2802 snd_soc_del_component_unlocked(component);
3343 struct snd_soc_component *component;
3358 component = soc_find_component(&dlc);
3359 if (component)
3360 ret = snd_soc_component_of_xlate_dai_id(component, ep);
3416 * check if another component is provided with the same
3483 struct snd_soc_component *component;
3486 for_each_component(component) {
3487 for_each_component_dais(component, dai)
3498 static void __snd_soc_of_put_component(struct snd_soc_dai_link_component *component)
3500 if (component->of_node) {
3501 of_node_put(component->of_node);
3502 component->of_node = NULL;
3511 struct snd_soc_dai_link_component *component;
3523 component = devm_kcalloc(dev, num, sizeof(*component), GFP_KERNEL);
3524 if (!component)
3527 *ret_component = component;
3541 struct snd_soc_dai_link_component *component;
3544 for_each_link_codecs(dai_link, index, component)
3545 __snd_soc_of_put_component(component);
3567 struct snd_soc_dai_link_component *component;
3576 for_each_link_codecs(dai_link, index, component) {
3577 ret = snd_soc_of_get_dlc(of_node, NULL, component, index);
3598 struct snd_soc_dai_link_component *component;
3601 for_each_link_cpus(dai_link, index, component)
3602 __snd_soc_of_put_component(component);
3621 struct snd_soc_dai_link_component *component;
3631 for_each_link_cpus(dai_link, index, component) {
3632 ret = snd_soc_of_get_dlc(of_node, NULL, component, index);