linux/drivers/platform/x86/intel/vsec.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _VSEC_H
#define _VSEC_H

#include <linux/auxiliary_bus.h>
#include <linux/bits.h>

#define VSEC_CAP_TELEMETRY
#define VSEC_CAP_WATCHER
#define VSEC_CAP_CRASHLOG
#define VSEC_CAP_SDSI
#define VSEC_CAP_TPMI

/* Intel DVSEC offsets */
#define INTEL_DVSEC_ENTRIES
#define INTEL_DVSEC_SIZE
#define INTEL_DVSEC_TABLE
#define INTEL_DVSEC_TABLE_BAR(x)
#define INTEL_DVSEC_TABLE_OFFSET(x)
#define TABLE_OFFSET_SHIFT

struct pci_dev;
struct resource;

enum intel_vsec_id {};

/**
 * struct intel_vsec_header - Common fields of Intel VSEC and DVSEC registers.
 * @rev:         Revision ID of the VSEC/DVSEC register space
 * @length:      Length of the VSEC/DVSEC register space
 * @id:          ID of the feature
 * @num_entries: Number of instances of the feature
 * @entry_size:  Size of the discovery table for each feature
 * @tbir:        BAR containing the discovery tables
 * @offset:      BAR offset of start of the first discovery table
 */
struct intel_vsec_header {};

enum intel_vsec_quirks {};

/* Platform specific data */
struct intel_vsec_platform_info {};

struct intel_vsec_device {};

int intel_vsec_add_aux(struct pci_dev *pdev, struct device *parent,
		       struct intel_vsec_device *intel_vsec_dev,
		       const char *name);

static inline struct intel_vsec_device *dev_to_ivdev(struct device *dev)
{}

static inline struct intel_vsec_device *auxdev_to_ivdev(struct auxiliary_device *auxdev)
{}

void intel_vsec_register(struct pci_dev *pdev,
			 struct intel_vsec_platform_info *info);
#endif