| 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
| 2 | /* |
| 3 | * Core definitions for QNAP MCU MFD driver. |
| 4 | * Copyright (C) 2024 Heiko Stuebner <heiko@sntech.de> |
| 5 | */ |
| 6 | |
| 7 | #ifndef _LINUX_QNAP_MCU_H_ |
| 8 | #define _LINUX_QNAP_MCU_H_ |
| 9 | |
| 10 | #include <linux/types.h> |
| 11 | |
| 12 | struct qnap_mcu; |
| 13 | |
| 14 | struct qnap_mcu_variant { |
| 15 | u32 baud_rate; |
| 16 | int num_drives; |
| 17 | int fan_pwm_min; |
| 18 | int fan_pwm_max; |
| 19 | bool usb_led; |
| 20 | }; |
| 21 | |
| 22 | int qnap_mcu_exec(struct qnap_mcu *mcu, |
| 23 | const u8 *cmd_data, size_t cmd_data_size, |
| 24 | u8 *reply_data, size_t reply_data_size); |
| 25 | int qnap_mcu_exec_with_ack(struct qnap_mcu *mcu, |
| 26 | const u8 *cmd_data, size_t cmd_data_size); |
| 27 | |
| 28 | #endif /* _LINUX_QNAP_MCU_H_ */ |
| 29 | |