platform_data/emc2305: define platform data for EMC2305 driver
authorMichael Shych <michaelsh@nvidia.com>
Wed, 10 Aug 2022 17:15:50 +0000 (20:15 +0300)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 19 Sep 2022 13:17:05 +0000 (06:17 -0700)
Introduce platform data structure for EM2305 driver to allow configuration
device PWMs and thermal zones by passing required platform data
to the driver. If no platform data is provided, the driver is supposed
to work with default settings.

Signed-off-by: Michael Shych <michaelsh@nvidia.com>
Reviewed-by: Vadim Pasternak <vadimp@nvidia.com>
Link: https://lore.kernel.org/r/20220810171552.56417-2-michaelsh@nvidia.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
include/linux/platform_data/emc2305.h [new file with mode: 0644]

diff --git a/include/linux/platform_data/emc2305.h b/include/linux/platform_data/emc2305.h
new file mode 100644 (file)
index 0000000..54d672d
--- /dev/null
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef __LINUX_PLATFORM_DATA_EMC2305__
+#define __LINUX_PLATFORM_DATA_EMC2305__
+
+#define EMC2305_PWM_MAX        5
+
+/**
+ * struct emc2305_platform_data - EMC2305 driver platform data
+ * @max_state: maximum cooling state of the cooling device;
+ * @pwm_num: number of active channels;
+ * @pwm_separate: separate PWM settings for every channel;
+ * @pwm_min: array of minimum PWM per channel;
+ */
+struct emc2305_platform_data {
+       u8 max_state;
+       u8 pwm_num;
+       bool pwm_separate;
+       u8 pwm_min[EMC2305_PWM_MAX];
+};
+
+#endif