Merge tag 'linux-watchdog-5.1-rc1' of git://www.linux-watchdog.org/linux-watchdog
[linux-2.6-block.git] / include / linux / platform_data / mlxreg.h
index 1b2f86f9674382815e5e2d17ef0e7b2eb078e28f..6d54fe3bcac9c934e679d53d8101e3da81a88d4e 100644 (file)
 #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:
@@ -112,11 +125,17 @@ struct mlxreg_core_item {
  * @data: instance private data;
  * @regmap: register map of parent device;
  * @counter: number of 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];
 };
 
 /**