summaryrefslogtreecommitdiff
path: root/drivers/misc/amd-sbi/rmi-core.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/amd-sbi/rmi-core.h')
-rw-r--r--drivers/misc/amd-sbi/rmi-core.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/misc/amd-sbi/rmi-core.h b/drivers/misc/amd-sbi/rmi-core.h
index 3a6028306d10..8ab31c6852d1 100644
--- a/drivers/misc/amd-sbi/rmi-core.h
+++ b/drivers/misc/amd-sbi/rmi-core.h
@@ -6,10 +6,12 @@
#ifndef _SBRMI_CORE_H_
#define _SBRMI_CORE_H_
+#include <linux/miscdevice.h>
#include <linux/mutex.h>
#include <linux/i2c.h>
#include <linux/platform_device.h>
#include <linux/regmap.h>
+#include <uapi/misc/amd-apml.h>
/* SB-RMI registers */
enum sbrmi_reg {
@@ -48,19 +50,15 @@ enum sbrmi_msg_id {
/* Each client has this additional data */
struct sbrmi_data {
+ struct miscdevice sbrmi_misc_dev;
struct regmap *regmap;
+ /* Mutex locking */
struct mutex lock;
u32 pwr_limit_max;
+ u8 dev_static_addr;
};
-struct sbrmi_mailbox_msg {
- u8 cmd;
- bool read;
- u32 data_in;
- u32 data_out;
-};
-
-int rmi_mailbox_xfer(struct sbrmi_data *data, struct sbrmi_mailbox_msg *msg);
+int rmi_mailbox_xfer(struct sbrmi_data *data, struct apml_mbox_msg *msg);
#ifdef CONFIG_AMD_SBRMI_HWMON
int create_hwmon_sensor_device(struct device *dev, struct sbrmi_data *data);
#else
@@ -69,4 +67,5 @@ static inline int create_hwmon_sensor_device(struct device *dev, struct sbrmi_da
return 0;
}
#endif
+int create_misc_rmi_device(struct sbrmi_data *data, struct device *dev);
#endif /*_SBRMI_CORE_H_*/