mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
Merge branch 'for-4.8/mfd' into for-next
This commit is contained in:
commit
489babeae6
@ -380,3 +380,20 @@ int cros_ec_cmd_xfer(struct cros_ec_device *ec_dev,
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(cros_ec_cmd_xfer);
|
||||
|
||||
int cros_ec_cmd_xfer_status(struct cros_ec_device *ec_dev,
|
||||
struct cros_ec_command *msg)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = cros_ec_cmd_xfer(ec_dev, msg);
|
||||
if (ret < 0) {
|
||||
dev_err(ec_dev->dev, "Command xfer error (err:%d)\n", ret);
|
||||
} else if (msg->result != EC_RES_SUCCESS) {
|
||||
dev_dbg(ec_dev->dev, "Command result (err: %d)\n", msg->result);
|
||||
return -EPROTO;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(cros_ec_cmd_xfer_status);
|
||||
|
@ -225,6 +225,21 @@ int cros_ec_check_result(struct cros_ec_device *ec_dev,
|
||||
int cros_ec_cmd_xfer(struct cros_ec_device *ec_dev,
|
||||
struct cros_ec_command *msg);
|
||||
|
||||
/**
|
||||
* cros_ec_cmd_xfer_status - Send a command to the ChromeOS EC
|
||||
*
|
||||
* This function is identical to cros_ec_cmd_xfer, except it returns success
|
||||
* status only if both the command was transmitted successfully and the EC
|
||||
* replied with success status. It's not necessary to check msg->result when
|
||||
* using this function.
|
||||
*
|
||||
* @ec_dev: EC device
|
||||
* @msg: Message to write
|
||||
* @return: Num. of bytes transferred on success, <0 on failure
|
||||
*/
|
||||
int cros_ec_cmd_xfer_status(struct cros_ec_device *ec_dev,
|
||||
struct cros_ec_command *msg);
|
||||
|
||||
/**
|
||||
* cros_ec_remove - Remove a ChromeOS EC
|
||||
*
|
||||
|
@ -949,6 +949,37 @@ struct ec_params_pwm_set_fan_duty {
|
||||
uint32_t percent;
|
||||
} __packed;
|
||||
|
||||
#define EC_CMD_PWM_SET_DUTY 0x25
|
||||
/* 16 bit duty cycle, 0xffff = 100% */
|
||||
#define EC_PWM_MAX_DUTY 0xffff
|
||||
|
||||
enum ec_pwm_type {
|
||||
/* All types, indexed by board-specific enum pwm_channel */
|
||||
EC_PWM_TYPE_GENERIC = 0,
|
||||
/* Keyboard backlight */
|
||||
EC_PWM_TYPE_KB_LIGHT,
|
||||
/* Display backlight */
|
||||
EC_PWM_TYPE_DISPLAY_LIGHT,
|
||||
EC_PWM_TYPE_COUNT,
|
||||
};
|
||||
|
||||
struct ec_params_pwm_set_duty {
|
||||
uint16_t duty; /* Duty cycle, EC_PWM_MAX_DUTY = 100% */
|
||||
uint8_t pwm_type; /* ec_pwm_type */
|
||||
uint8_t index; /* Type-specific index, or 0 if unique */
|
||||
} __packed;
|
||||
|
||||
#define EC_CMD_PWM_GET_DUTY 0x26
|
||||
|
||||
struct ec_params_pwm_get_duty {
|
||||
uint8_t pwm_type; /* ec_pwm_type */
|
||||
uint8_t index; /* Type-specific index, or 0 if unique */
|
||||
} __packed;
|
||||
|
||||
struct ec_response_pwm_get_duty {
|
||||
uint16_t duty; /* Duty cycle, EC_PWM_MAX_DUTY = 100% */
|
||||
} __packed;
|
||||
|
||||
/*****************************************************************************/
|
||||
/*
|
||||
* Lightbar commands. This looks worse than it is. Since we only use one HOST
|
||||
|
Loading…
Reference in New Issue
Block a user