Skip to content

Commit

Permalink
platform/x86: intel_telemetry: Add telemetry_get_pltdata()
Browse files Browse the repository at this point in the history
Add new function that allows telemetry modules to get pointer to the
platform specific configuration. This is needed to allow the telemetry
debugfs module to fetch PMC IPC instance in the subsequent patch.

This also allows us to replace telemetry_pltconfig_valid() with
telemetry_get_pltdata() as well.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
  • Loading branch information
Mika Westerberg authored and Lee Jones committed Apr 24, 2020
1 parent b8da68f commit 0759a87
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 14 deletions.
2 changes: 1 addition & 1 deletion arch/x86/include/asm/intel_telemetry.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ int telemetry_set_pltdata(const struct telemetry_core_ops *ops,

int telemetry_clear_pltdata(void);

int telemetry_pltconfig_valid(void);
struct telemetry_plt_config *telemetry_get_pltdata(void);

int telemetry_get_evtname(enum telemetry_unit telem_unit,
const char **name, int len);
Expand Down
17 changes: 6 additions & 11 deletions drivers/platform/x86/intel_telemetry_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -353,21 +353,16 @@ int telemetry_clear_pltdata(void)
EXPORT_SYMBOL_GPL(telemetry_clear_pltdata);

/**
* telemetry_pltconfig_valid() - Checkif platform config is valid
* telemetry_get_pltdata() - Return telemetry platform config
*
* Usage by other than telemetry module is invalid
*
* Return: 0 success, < 0 for failure
* May be used by other telemetry modules to get platform specific
* configuration.
*/
int telemetry_pltconfig_valid(void)
struct telemetry_plt_config *telemetry_get_pltdata(void)
{
if (telm_core_conf.plt_config)
return 0;

else
return -EINVAL;
return telm_core_conf.plt_config;
}
EXPORT_SYMBOL_GPL(telemetry_pltconfig_valid);
EXPORT_SYMBOL_GPL(telemetry_get_pltdata);

static inline int telemetry_get_pssevtname(enum telemetry_unit telem_unit,
const char **name, int len)
Expand Down
3 changes: 1 addition & 2 deletions drivers/platform/x86/intel_telemetry_debugfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -910,8 +910,7 @@ static int __init telemetry_debugfs_init(void)

debugfs_conf = (struct telemetry_debugfs_conf *)id->driver_data;

err = telemetry_pltconfig_valid();
if (err < 0) {
if (!telemetry_get_pltdata()) {
pr_info("Invalid pltconfig, ensure IPC1 device is enabled in BIOS\n");
return -ENODEV;
}
Expand Down

0 comments on commit 0759a87

Please sign in to comment.