platform_data/mlxreg: additions for Mellanox watchdog driver.

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@mellanox.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
This commit is contained in:
Michael Shych 2019-02-20 09:34:22 +00:00 committed by Wim Van Sebroeck
parent d02d104ea0
commit 9f03161a1b
1 changed files with 19 additions and 0 deletions

View File

@ -35,6 +35,19 @@
#define __LINUX_PLATFORM_DATA_MLXREG_H #define __LINUX_PLATFORM_DATA_MLXREG_H
#define MLXREG_CORE_LABEL_MAX_SIZE 32 #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: * struct mlxreg_hotplug_device - I2C device data:
@ -110,11 +123,17 @@ struct mlxreg_core_item {
* @led_data: led private data; * @led_data: led private data;
* @regmap: register map of parent device; * @regmap: register map of parent device;
* @counter: number of led instances; * @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_platform_data {
struct mlxreg_core_data *data; struct mlxreg_core_data *data;
void *regmap; void *regmap;
int counter; int counter;
u32 features;
u32 version;
char identity[MLXREG_CORE_LABEL_MAX_SIZE];
}; };
/** /**