1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright(C) 2020 Linaro Limited. All rights reserved.
4 * Author: Mike Leach <mike.leach@linaro.org>
5 */
6
7#include "coresight-cfg-preload.h"
8#include "coresight-config.h"
9#include "coresight-syscfg.h"
10
11/* Basic features and configurations pre-loaded on initialisation */
12
13static struct cscfg_feature_desc *preload_feats[] = {
14#if IS_ENABLED(CONFIG_CORESIGHT_SOURCE_ETM4X)
15 &strobe_etm4x,
16#endif
17 NULL
18};
19
20static struct cscfg_config_desc *preload_cfgs[] = {
21#if IS_ENABLED(CONFIG_CORESIGHT_SOURCE_ETM4X)
22 &afdo_etm4x,
23#endif
24 NULL
25};
26
27static struct cscfg_load_owner_info preload_owner = {
28 .type = CSCFG_OWNER_PRELOAD,
29};
30
31/* preload called on initialisation */
32int cscfg_preload(void *owner_handle)
33{
34 preload_owner.owner_handle = owner_handle;
35 return cscfg_load_config_sets(cfg_descs: preload_cfgs, feat_descs: preload_feats, owner_info: &preload_owner);
36}
37

source code of linux/drivers/hwtracing/coresight/coresight-cfg-preload.c