Add interface to getting battery device version
Change-Id: I791c3e3af9d082ac1d2497d3b84cff4558512ef4
Signed-off-by: Masakazu Yamazaki <yamazaki-m@casio.co.jp>
diff --git a/drivers/misc/casio/MSensorsDrv.h b/drivers/misc/casio/MSensorsDrv.h
index e94f185..3bc83f6 100644
--- a/drivers/misc/casio/MSensorsDrv.h
+++ b/drivers/misc/casio/MSensorsDrv.h
@@ -91,7 +91,8 @@
#define SUB_COM_GETID_BATTERY_LOG_GET_DATA (0x0d)
#define SUB_COM_GETID_RTC_DATE_TIME (0x0e)
#define SUB_COM_GETID_FG_VER (0x0f)
-#define SUB_COM_GETID_NUM (0x10) /* Number of GETIDs */
+#define SUB_COM_GETID_BATTERY_VERSION (0x10)
+#define SUB_COM_GETID_NUM (0x11) /* Number of GETIDs */
#define MSENSORS_TYPE_META (0x00) /* Sensor Type Meta */
#define MSENSORS_TYPE_ACCELEROMETER (0x01) /* Sensor Type Accelerometer */
@@ -157,7 +158,7 @@
#define IOC_STEP_YESTERDAY _IOR('K', 8, __u32)
#define IOC_BATTERY_LOG_START _IOR('K', 9, __u32)
#define IOC_BATTERY_LOG_GET_DATA _IOR('K', 10, __u32)
-
+#define IOC_GET_BATTERY_VERSION _IOR('K', 11, __u32)
#define SPI_DATA_MAX (SUB_COM_TYPE_SIZE + SUB_COM_ID_SIZE + SUB_COM_DATA_SIZE_GETDATA + (SUB_COM_MAX_PACKET * ( SUB_COM_DATA_SIZE_PACKET + SUB_COM_ID_SIZE )))
#define HEADER_DATA_SIZE ( SUB_COM_TYPE_SIZE + SUB_COM_ID_SIZE +SUB_COM_HEAD_SIZE_SETDATA )
diff --git a/drivers/misc/casio/MultiSensors.c b/drivers/misc/casio/MultiSensors.c
index 79ee74b..c75dfa9 100644
--- a/drivers/misc/casio/MultiSensors.c
+++ b/drivers/misc/casio/MultiSensors.c
@@ -607,6 +607,10 @@
ret = sub_read_command(SUB_COM_GETID_BATTERY_LOG_GET_DATA);
if (ret >= 0)
ret = copy_to_user((void __user *)arg, SubReadData, 6);
+ } else if (cmd == IOC_GET_BATTERY_VERSION) {
+ ret = sub_read_command(SUB_COM_GETID_BATTERY_VERSION);
+ if (ret >= 0)
+ ret = copy_to_user((void __user *)arg, SubReadData, 2);
} else {
ret = -1;
pr_info("%s: unknown command %x\n", __func__, cmd);