// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2015, Sony Mobile Communications AB. * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
*/
/** * struct qcom_smd_rpm - state of the rpm device driver * @rpm_channel: reference to the smd channel * @dev: rpm device * @ack: completion for acks * @lock: mutual exclusion around the send/complete pair * @ack_status: result of the rpm request
*/ struct qcom_smd_rpm { struct rpmsg_endpoint *rpm_channel; struct device *dev;
struct completion ack; struct mutex lock; int ack_status;
};
/** * struct qcom_rpm_header - header for all rpm requests and responses * @service_type: identifier of the service * @length: length of the payload
*/ struct qcom_rpm_header {
__le32 service_type;
__le32 length;
};
/** * struct qcom_rpm_request - request message to the rpm * @msg_id: identifier of the outgoing message * @flags: active/sleep state flags * @type: resource type * @id: resource id * @data_len: length of the payload following this header
*/ struct qcom_rpm_request {
__le32 msg_id;
__le32 flags;
__le32 type;
__le32 id;
__le32 data_len;
};
/** * struct qcom_rpm_message - response message from the rpm * @msg_type: indicator of the type of message * @length: the size of this message, including the message header * @msg_id: message id * @message: textual message from the rpm * * Multiple of these messages can be stacked in an rpm message.
*/ struct qcom_rpm_message {
__le32 msg_type;
__le32 length; union {
__le32 msg_id;
DECLARE_FLEX_ARRAY(u8, message);
};
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.