@@ -425,77 +425,6 @@ static int graph_for_each_link(struct asoc_simple_priv *priv,
425
425
return ret ;
426
426
}
427
427
428
- static int graph_get_dais_count (struct asoc_simple_priv * priv ,
429
- struct link_info * li );
430
-
431
- int audio_graph_parse_of (struct asoc_simple_priv * priv , struct device * dev )
432
- {
433
- struct snd_soc_card * card = simple_priv_to_card (priv );
434
- struct link_info * li ;
435
- int ret ;
436
-
437
- li = devm_kzalloc (dev , sizeof (* li ), GFP_KERNEL );
438
- if (!li )
439
- return - ENOMEM ;
440
-
441
- card -> owner = THIS_MODULE ;
442
- card -> dev = dev ;
443
-
444
- ret = graph_get_dais_count (priv , li );
445
- if (ret < 0 )
446
- return ret ;
447
-
448
- if (!li -> link )
449
- return - EINVAL ;
450
-
451
- ret = asoc_simple_init_priv (priv , li );
452
- if (ret < 0 )
453
- return ret ;
454
-
455
- priv -> pa_gpio = devm_gpiod_get_optional (dev , "pa" , GPIOD_OUT_LOW );
456
- if (IS_ERR (priv -> pa_gpio )) {
457
- ret = PTR_ERR (priv -> pa_gpio );
458
- dev_err (dev , "failed to get amplifier gpio: %d\n" , ret );
459
- return ret ;
460
- }
461
-
462
- ret = asoc_simple_parse_widgets (card , NULL );
463
- if (ret < 0 )
464
- return ret ;
465
-
466
- ret = asoc_simple_parse_routing (card , NULL );
467
- if (ret < 0 )
468
- return ret ;
469
-
470
- memset (li , 0 , sizeof (* li ));
471
- ret = graph_for_each_link (priv , li ,
472
- graph_dai_link_of ,
473
- graph_dai_link_of_dpcm );
474
- if (ret < 0 )
475
- goto err ;
476
-
477
- ret = asoc_simple_parse_card_name (card , NULL );
478
- if (ret < 0 )
479
- goto err ;
480
-
481
- snd_soc_card_set_drvdata (card , priv );
482
-
483
- asoc_simple_debug_info (priv );
484
-
485
- ret = devm_snd_soc_register_card (dev , card );
486
- if (ret < 0 )
487
- goto err ;
488
-
489
- devm_kfree (dev , li );
490
- return 0 ;
491
-
492
- err :
493
- asoc_simple_clean_reference (card );
494
-
495
- return dev_err_probe (dev , ret , "parse error\n" );
496
- }
497
- EXPORT_SYMBOL_GPL (audio_graph_parse_of );
498
-
499
428
static int graph_count_noml (struct asoc_simple_priv * priv ,
500
429
struct device_node * cpu_ep ,
501
430
struct device_node * codec_ep ,
@@ -612,6 +541,74 @@ static int graph_get_dais_count(struct asoc_simple_priv *priv,
612
541
graph_count_dpcm );
613
542
}
614
543
544
+ int audio_graph_parse_of (struct asoc_simple_priv * priv , struct device * dev )
545
+ {
546
+ struct snd_soc_card * card = simple_priv_to_card (priv );
547
+ struct link_info * li ;
548
+ int ret ;
549
+
550
+ li = devm_kzalloc (dev , sizeof (* li ), GFP_KERNEL );
551
+ if (!li )
552
+ return - ENOMEM ;
553
+
554
+ card -> owner = THIS_MODULE ;
555
+ card -> dev = dev ;
556
+
557
+ ret = graph_get_dais_count (priv , li );
558
+ if (ret < 0 )
559
+ return ret ;
560
+
561
+ if (!li -> link )
562
+ return - EINVAL ;
563
+
564
+ ret = asoc_simple_init_priv (priv , li );
565
+ if (ret < 0 )
566
+ return ret ;
567
+
568
+ priv -> pa_gpio = devm_gpiod_get_optional (dev , "pa" , GPIOD_OUT_LOW );
569
+ if (IS_ERR (priv -> pa_gpio )) {
570
+ ret = PTR_ERR (priv -> pa_gpio );
571
+ dev_err (dev , "failed to get amplifier gpio: %d\n" , ret );
572
+ return ret ;
573
+ }
574
+
575
+ ret = asoc_simple_parse_widgets (card , NULL );
576
+ if (ret < 0 )
577
+ return ret ;
578
+
579
+ ret = asoc_simple_parse_routing (card , NULL );
580
+ if (ret < 0 )
581
+ return ret ;
582
+
583
+ memset (li , 0 , sizeof (* li ));
584
+ ret = graph_for_each_link (priv , li ,
585
+ graph_dai_link_of ,
586
+ graph_dai_link_of_dpcm );
587
+ if (ret < 0 )
588
+ goto err ;
589
+
590
+ ret = asoc_simple_parse_card_name (card , NULL );
591
+ if (ret < 0 )
592
+ goto err ;
593
+
594
+ snd_soc_card_set_drvdata (card , priv );
595
+
596
+ asoc_simple_debug_info (priv );
597
+
598
+ ret = devm_snd_soc_register_card (dev , card );
599
+ if (ret < 0 )
600
+ goto err ;
601
+
602
+ devm_kfree (dev , li );
603
+ return 0 ;
604
+
605
+ err :
606
+ asoc_simple_clean_reference (card );
607
+
608
+ return dev_err_probe (dev , ret , "parse error\n" );
609
+ }
610
+ EXPORT_SYMBOL_GPL (audio_graph_parse_of );
611
+
615
612
static int graph_probe (struct platform_device * pdev )
616
613
{
617
614
struct asoc_simple_priv * priv ;
0 commit comments