@@ -77,14 +77,14 @@ struct coresight_device *coresight_get_percpu_sink(int cpu)
7777}
7878EXPORT_SYMBOL_GPL (coresight_get_percpu_sink );
7979
80- static struct coresight_device * coresight_get_source (struct list_head * path )
80+ static struct coresight_device * coresight_get_source (struct coresight_path * path )
8181{
8282 struct coresight_device * csdev ;
8383
8484 if (!path )
8585 return NULL ;
8686
87- csdev = list_first_entry (path , struct coresight_node , link )-> csdev ;
87+ csdev = list_first_entry (& path -> path_list , struct coresight_node , link )-> csdev ;
8888 if (!coresight_is_device_source (csdev ))
8989 return NULL ;
9090
@@ -333,20 +333,20 @@ static int coresight_enable_helper(struct coresight_device *csdev,
333333 return helper_ops (csdev )-> enable (csdev , mode , data );
334334}
335335
336- static void coresight_disable_helper (struct coresight_device * csdev )
336+ static void coresight_disable_helper (struct coresight_device * csdev , void * data )
337337{
338- helper_ops (csdev )-> disable (csdev , NULL );
338+ helper_ops (csdev )-> disable (csdev , data );
339339}
340340
341- static void coresight_disable_helpers (struct coresight_device * csdev )
341+ static void coresight_disable_helpers (struct coresight_device * csdev , void * data )
342342{
343343 int i ;
344344 struct coresight_device * helper ;
345345
346346 for (i = 0 ; i < csdev -> pdata -> nr_outconns ; ++ i ) {
347347 helper = csdev -> pdata -> out_conns [i ]-> dest_dev ;
348348 if (helper && coresight_is_helper (helper ))
349- coresight_disable_helper (helper );
349+ coresight_disable_helper (helper , data );
350350 }
351351}
352352
@@ -363,7 +363,7 @@ static void coresight_disable_helpers(struct coresight_device *csdev)
363363void coresight_disable_source (struct coresight_device * csdev , void * data )
364364{
365365 source_ops (csdev )-> disable (csdev , data );
366- coresight_disable_helpers (csdev );
366+ coresight_disable_helpers (csdev , NULL );
367367}
368368EXPORT_SYMBOL_GPL (coresight_disable_source );
369369
@@ -372,16 +372,16 @@ EXPORT_SYMBOL_GPL(coresight_disable_source);
372372 * @nd in the list. If @nd is NULL, all the components, except the SOURCE are
373373 * disabled.
374374 */
375- static void coresight_disable_path_from (struct list_head * path ,
375+ static void coresight_disable_path_from (struct coresight_path * path ,
376376 struct coresight_node * nd )
377377{
378378 u32 type ;
379379 struct coresight_device * csdev , * parent , * child ;
380380
381381 if (!nd )
382- nd = list_first_entry (path , struct coresight_node , link );
382+ nd = list_first_entry (& path -> path_list , struct coresight_node , link );
383383
384- list_for_each_entry_continue (nd , path , link ) {
384+ list_for_each_entry_continue (nd , & path -> path_list , link ) {
385385 csdev = nd -> csdev ;
386386 type = csdev -> type ;
387387
@@ -419,11 +419,11 @@ static void coresight_disable_path_from(struct list_head *path,
419419 }
420420
421421 /* Disable all helpers adjacent along the path last */
422- coresight_disable_helpers (csdev );
422+ coresight_disable_helpers (csdev , path );
423423 }
424424}
425425
426- void coresight_disable_path (struct list_head * path )
426+ void coresight_disable_path (struct coresight_path * path )
427427{
428428 coresight_disable_path_from (path , NULL );
429429}
@@ -448,7 +448,7 @@ static int coresight_enable_helpers(struct coresight_device *csdev,
448448 return 0 ;
449449}
450450
451- int coresight_enable_path (struct list_head * path , enum cs_mode mode ,
451+ int coresight_enable_path (struct coresight_path * path , enum cs_mode mode ,
452452 void * sink_data )
453453{
454454 int ret = 0 ;
@@ -458,12 +458,12 @@ int coresight_enable_path(struct list_head *path, enum cs_mode mode,
458458 struct coresight_device * source ;
459459
460460 source = coresight_get_source (path );
461- list_for_each_entry_reverse (nd , path , link ) {
461+ list_for_each_entry_reverse (nd , & path -> path_list , link ) {
462462 csdev = nd -> csdev ;
463463 type = csdev -> type ;
464464
465465 /* Enable all helpers adjacent to the path first */
466- ret = coresight_enable_helpers (csdev , mode , sink_data );
466+ ret = coresight_enable_helpers (csdev , mode , path );
467467 if (ret )
468468 goto err ;
469469 /*
@@ -511,20 +511,21 @@ int coresight_enable_path(struct list_head *path, enum cs_mode mode,
511511 goto out ;
512512}
513513
514- struct coresight_device * coresight_get_sink (struct list_head * path )
514+ struct coresight_device * coresight_get_sink (struct coresight_path * path )
515515{
516516 struct coresight_device * csdev ;
517517
518518 if (!path )
519519 return NULL ;
520520
521- csdev = list_last_entry (path , struct coresight_node , link )-> csdev ;
521+ csdev = list_last_entry (& path -> path_list , struct coresight_node , link )-> csdev ;
522522 if (csdev -> type != CORESIGHT_DEV_TYPE_SINK &&
523523 csdev -> type != CORESIGHT_DEV_TYPE_LINKSINK )
524524 return NULL ;
525525
526526 return csdev ;
527527}
528+ EXPORT_SYMBOL_GPL (coresight_get_sink );
528529
529530u32 coresight_get_sink_id (struct coresight_device * csdev )
530531{
@@ -680,7 +681,7 @@ static int coresight_get_trace_id(struct coresight_device *csdev,
680681void coresight_path_assign_trace_id (struct coresight_path * path ,
681682 enum cs_mode mode )
682683{
683- struct coresight_device * sink = coresight_get_sink (& path -> path_list );
684+ struct coresight_device * sink = coresight_get_sink (path );
684685 struct coresight_node * nd ;
685686 int trace_id ;
686687
0 commit comments