#ifndef __ARM_CSPMU_H__
#define __ARM_CSPMU_H__
#include <linux/bitfield.h>
#include <linux/cpumask.h>
#include <linux/device.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/perf_event.h>
#include <linux/platform_device.h>
#include <linux/types.h>
#define to_arm_cspmu(p) …
#define ARM_CSPMU_EXT_ATTR(_name, _func, _config) …
#define ARM_CSPMU_FORMAT_ATTR(_name, _config) …
#define ARM_CSPMU_EVENT_ATTR(_name, _config) …
#define ARM_CSPMU_EVENT_MASK …
#define ARM_CSPMU_FILTER_MASK …
#define ARM_CSPMU_FORMAT_EVENT_ATTR …
#define ARM_CSPMU_FORMAT_FILTER_ATTR …
#define ARM_CSPMU_EVT_CYCLES_DEFAULT …
#define ARM_CSPMU_MAX_HW_CNTRS …
#define ARM_CSPMU_CYCLE_CNTR_IDX …
#define ARM_CSPMU_PMIIDR_IMPLEMENTER …
#define ARM_CSPMU_PMIIDR_PRODUCTID …
#define ARM_CSPMU_IMPL_ID_NVIDIA …
#define ARM_CSPMU_IMPL_ID_AMPERE …
struct arm_cspmu;
struct arm_cspmu_hw_events { … };
struct arm_cspmu_impl_ops { … };
struct arm_cspmu_impl_match { … };
struct arm_cspmu_impl { … };
struct arm_cspmu { … };
ssize_t arm_cspmu_sysfs_event_show(struct device *dev,
struct device_attribute *attr,
char *buf);
int arm_cspmu_impl_register(const struct arm_cspmu_impl_match *impl_match);
void arm_cspmu_impl_unregister(const struct arm_cspmu_impl_match *impl_match);
#endif