include/linux/mfd/intel_pmc_bxt.h

Source file repositories/reference/linux-study-clean/include/linux/mfd/intel_pmc_bxt.h

File Facts

System
Linux kernel
Corpus path
include/linux/mfd/intel_pmc_bxt.h
Extension
.h
Size
1542 bytes
Lines
54
Domain
Core OS
Bucket
Core Kernel Interface
Inferred role
Core OS: implementation source
Status
source implementation candidate

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

struct intel_pmc_dev {
	struct device *dev;
	struct intel_scu_ipc_dev *scu;
	void __iomem *gcr_mem_base;
	spinlock_t gcr_lock;
	struct resource *telem_base;
};

#if IS_ENABLED(CONFIG_MFD_INTEL_PMC_BXT)
int intel_pmc_gcr_read64(struct intel_pmc_dev *pmc, u32 offset, u64 *data);
int intel_pmc_gcr_update(struct intel_pmc_dev *pmc, u32 offset, u32 mask, u32 val);
int intel_pmc_s0ix_counter_read(struct intel_pmc_dev *pmc, u64 *data);
#else
static inline int intel_pmc_gcr_read64(struct intel_pmc_dev *pmc, u32 offset,
				       u64 *data)
{
	return -ENOTSUPP;
}

static inline int intel_pmc_gcr_update(struct intel_pmc_dev *pmc, u32 offset,
				       u32 mask, u32 val)
{
	return -ENOTSUPP;
}

static inline int intel_pmc_s0ix_counter_read(struct intel_pmc_dev *pmc, u64 *data)
{
	return -ENOTSUPP;
}
#endif

#endif /* MFD_INTEL_PMC_BXT_H */

Annotation

Implementation Notes