On 2/20/19 1:34 AM, michaelsh@xxxxxxxxxxxx wrote:
From: Michael Shych <michaelsh@xxxxxxxxxxxx>
There are two new fields added to mlxreg core structure:
features - supported features of device and
identity - device identity name.
Add new defines for watchdog features.
Signed-off-by: Michael Shych <michaelsh@xxxxxxxxxxxx>
Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
---
v1->v2
Change feature name MLXREG_CORE_WD_FEATURE_NOSTOP_AFTER_START
to MLXREG_CORE_WD_FEATURE_NOWAYOUT
---
v2->v3
1. Move enum enum mlxreg_wdt_type from mlx_wdt driver to common mlxreg.h
2. Add version field to mlxreg_core_platform_data struct.
---
include/linux/platform_data/mlxreg.h | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/include/linux/platform_data/mlxreg.h b/include/linux/platform_data/mlxreg.h
index 19f5cb618c55..31f7c25a44da 100644
--- a/include/linux/platform_data/mlxreg.h
+++ b/include/linux/platform_data/mlxreg.h
@@ -35,6 +35,19 @@
#define __LINUX_PLATFORM_DATA_MLXREG_H
#define MLXREG_CORE_LABEL_MAX_SIZE 32
+#define MLXREG_CORE_WD_FEATURE_NOWAYOUT BIT(0)
+#define MLXREG_CORE_WD_FEATURE_START_AT_BOOT BIT(1)
+
+/**
+ * enum mlxreg_wdt_type - type of HW watchdog
+ *
+ * TYPE1 HW watchdog implementation exist in old systems.
+ * All new systems have TYPE2 HW watchdog.
+ */
+enum mlxreg_wdt_type {
+ MLX_WDT_TYPE1,
+ MLX_WDT_TYPE2,
+};
/**
* struct mlxreg_hotplug_device - I2C device data:
@@ -110,11 +123,17 @@ struct mlxreg_core_item {
* @led_data: led private data;
* @regmap: register map of parent device;
* @counter: number of led instances;
+ * @features: supported features of device;
+ * @version: implementation version;
+ * @identity: device identity name;
*/
struct mlxreg_core_platform_data {
struct mlxreg_core_data *data;
void *regmap;
int counter;
+ u32 features;
+ u32 version;
+ char identity[MLXREG_CORE_LABEL_MAX_SIZE];
};
/**