Skip to content

Commit fc9aef4

Browse files
debox1jwrdegoede
authored andcommitted
platform/x86/intel/vsec.h: Move to include/linux
Some drivers outside of PDX86 need access to the vsec header. Move it to include/linux to make it easier to include. Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com> Signed-off-by: David E. Box <david.e.box@linux.intel.com> Link: https://lore.kernel.org/r/20240725122346.4063913-2-michael.j.ruhl@intel.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
1 parent a6fe07c commit fc9aef4

File tree

10 files changed

+41
-17
lines changed

10 files changed

+41
-17
lines changed

MAINTAINERS

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11599,7 +11599,8 @@ F: drivers/platform/x86/intel/uncore-frequency/
1159911599
INTEL VENDOR SPECIFIC EXTENDED CAPABILITIES DRIVER
1160011600
M: David E. Box <david.e.box@linux.intel.com>
1160111601
S: Supported
11602-
F: drivers/platform/x86/intel/vsec.*
11602+
F: drivers/platform/x86/intel/vsec.c
11603+
F: include/linux/intel_vsec.h
1160311604

1160411605
INTEL VIRTUAL BUTTON DRIVER
1160511606
M: AceLan Kao <acelan.kao@canonical.com>

drivers/platform/x86/intel/pmc/core_ssram.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
*/
1010

1111
#include <linux/cleanup.h>
12+
#include <linux/intel_vsec.h>
1213
#include <linux/pci.h>
1314
#include <linux/io-64-nonatomic-lo-hi.h>
1415

1516
#include "core.h"
16-
#include "../vsec.h"
1717
#include "../pmt/telemetry.h"
1818

1919
#define SSRAM_HDR_SIZE 0x100

drivers/platform/x86/intel/pmt/class.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@
99
*/
1010

1111
#include <linux/kernel.h>
12+
#include <linux/intel_vsec.h>
1213
#include <linux/io-64-nonatomic-lo-hi.h>
1314
#include <linux/module.h>
1415
#include <linux/mm.h>
1516
#include <linux/pci.h>
1617

17-
#include "../vsec.h"
1818
#include "class.h"
1919

2020
#define PMT_XA_START 1

drivers/platform/x86/intel/pmt/class.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
#ifndef _INTEL_PMT_CLASS_H
33
#define _INTEL_PMT_CLASS_H
44

5+
#include <linux/intel_vsec.h>
56
#include <linux/xarray.h>
67
#include <linux/types.h>
78
#include <linux/bits.h>
89
#include <linux/err.h>
910
#include <linux/io.h>
1011

11-
#include "../vsec.h"
1212
#include "telemetry.h"
1313

1414
/* PMT access types */

drivers/platform/x86/intel/pmt/crashlog.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
*/
1010

1111
#include <linux/auxiliary_bus.h>
12+
#include <linux/intel_vsec.h>
1213
#include <linux/kernel.h>
1314
#include <linux/module.h>
1415
#include <linux/pci.h>
1516
#include <linux/slab.h>
1617
#include <linux/uaccess.h>
1718
#include <linux/overflow.h>
1819

19-
#include "../vsec.h"
2020
#include "class.h"
2121

2222
/* Crashlog discovery header types */

drivers/platform/x86/intel/pmt/telemetry.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@
99
*/
1010

1111
#include <linux/auxiliary_bus.h>
12+
#include <linux/intel_vsec.h>
1213
#include <linux/kernel.h>
1314
#include <linux/module.h>
1415
#include <linux/pci.h>
1516
#include <linux/slab.h>
1617
#include <linux/uaccess.h>
1718
#include <linux/overflow.h>
1819

19-
#include "../vsec.h"
2020
#include "class.h"
2121

2222
#define TELEM_SIZE_OFFSET 0x0

drivers/platform/x86/intel/sdsi.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include <linux/bits.h>
1313
#include <linux/bitfield.h>
1414
#include <linux/device.h>
15+
#include <linux/intel_vsec.h>
1516
#include <linux/iopoll.h>
1617
#include <linux/kernel.h>
1718
#include <linux/module.h>
@@ -22,8 +23,6 @@
2223
#include <linux/types.h>
2324
#include <linux/uaccess.h>
2425

25-
#include "vsec.h"
26-
2726
#define ACCESS_TYPE_BARID 2
2827
#define ACCESS_TYPE_LOCAL 3
2928

drivers/platform/x86/intel/tpmi.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
#include <linux/debugfs.h>
5252
#include <linux/delay.h>
5353
#include <linux/intel_tpmi.h>
54+
#include <linux/intel_vsec.h>
5455
#include <linux/io.h>
5556
#include <linux/iopoll.h>
5657
#include <linux/module.h>
@@ -59,8 +60,6 @@
5960
#include <linux/sizes.h>
6061
#include <linux/string_helpers.h>
6162

62-
#include "vsec.h"
63-
6463
/**
6564
* struct intel_tpmi_pfs_entry - TPMI PM Feature Structure (PFS) entry
6665
* @tpmi_id: TPMI feature identifier (what the feature is and its data format).

drivers/platform/x86/intel/vsec.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@
1717
#include <linux/bits.h>
1818
#include <linux/cleanup.h>
1919
#include <linux/delay.h>
20-
#include <linux/kernel.h>
2120
#include <linux/idr.h>
21+
#include <linux/intel_vsec.h>
22+
#include <linux/kernel.h>
2223
#include <linux/module.h>
2324
#include <linux/pci.h>
2425
#include <linux/types.h>
2526

26-
#include "vsec.h"
27-
2827
#define PMT_XA_START 0
2928
#define PMT_XA_MAX INT_MAX
3029
#define PMT_XA_LIMIT XA_LIMIT(PMT_XA_START, PMT_XA_MAX)
@@ -341,7 +340,7 @@ static bool intel_vsec_walk_vsec(struct pci_dev *pdev,
341340
void intel_vsec_register(struct pci_dev *pdev,
342341
struct intel_vsec_platform_info *info)
343342
{
344-
if (!pdev || !info)
343+
if (!pdev || !info || !info->headers)
345344
return;
346345

347346
intel_vsec_walk_header(pdev, info);

drivers/platform/x86/intel/vsec.h renamed to include/linux/intel_vsec.h

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* SPDX-License-Identifier: GPL-2.0 */
2-
#ifndef _VSEC_H
3-
#define _VSEC_H
2+
#ifndef _INTEL_VSEC_H
3+
#define _INTEL_VSEC_H
44

55
#include <linux/auxiliary_bus.h>
66
#include <linux/bits.h>
@@ -67,7 +67,14 @@ enum intel_vsec_quirks {
6767
VSEC_QUIRK_EARLY_HW = BIT(4),
6868
};
6969

70-
/* Platform specific data */
70+
/**
71+
* struct intel_vsec_platform_info - Platform specific data
72+
* @parent: parent device in the auxbus chain
73+
* @headers: list of headers to define the PMT client devices to create
74+
* @caps: bitmask of PMT capabilities for the given headers
75+
* @quirks: bitmask of VSEC device quirks
76+
* @base_addr: allow a base address to be specified (rather than derived)
77+
*/
7178
struct intel_vsec_platform_info {
7279
struct device *parent;
7380
struct intel_vsec_header **headers;
@@ -76,6 +83,18 @@ struct intel_vsec_platform_info {
7683
u64 base_addr;
7784
};
7885

86+
/**
87+
* struct intel_sec_device - Auxbus specific device information
88+
* @auxdev: auxbus device struct for auxbus access
89+
* @pcidev: pci device associated with the device
90+
* @resource: any resources shared by the parent
91+
* @ida: id reference
92+
* @num_resources: number of resources
93+
* @id: xarray id
94+
* @priv_data: any private data needed
95+
* @quirks: specified quirks
96+
* @base_addr: base address of entries (if specified)
97+
*/
7998
struct intel_vsec_device {
8099
struct auxiliary_device auxdev;
81100
struct pci_dev *pcidev;
@@ -103,6 +122,13 @@ static inline struct intel_vsec_device *auxdev_to_ivdev(struct auxiliary_device
103122
return container_of(auxdev, struct intel_vsec_device, auxdev);
104123
}
105124

125+
#if IS_ENABLED(CONFIG_INTEL_VSEC)
106126
void intel_vsec_register(struct pci_dev *pdev,
107127
struct intel_vsec_platform_info *info);
128+
#else
129+
static inline void intel_vsec_register(struct pci_dev *pdev,
130+
struct intel_vsec_platform_info *info)
131+
{
132+
}
133+
#endif
108134
#endif

0 commit comments

Comments
 (0)