On 18/08/16 11:10, Neil Armstrong wrote:
In order to support the legacy SCPI protocol variant, add back the structures
and macros that varies against the final specification.

Signed-off-by: Neil Armstrong <[email protected]>
---
I checked against Amlogic implementation documentation and on-device, the 
channel selection
via legacy_scpi_get_chan() is needed and fails without it.
The sender_id is not needed so it was dropped.

 drivers/firmware/arm_scpi.c | 84 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)

diff --git a/drivers/firmware/arm_scpi.c b/drivers/firmware/arm_scpi.c
index 403783a..0bb6134 100644
--- a/drivers/firmware/arm_scpi.c
+++ b/drivers/firmware/arm_scpi.c

[...]

@@ -183,6 +224,11 @@ struct scpi_shared_mem {
        u8 payload[0];
 } __packed;

+struct legacy_scpi_shared_mem {
+       __le32 status;
+       u8 payload[0];
+} __packed;
+
 struct scp_capabilities {
        __le32 protocol_version;
        __le32 event_version;
@@ -208,6 +254,12 @@ struct clk_set_value {
        __le32 rate;
 } __packed;

+struct legacy_clk_set_value {
+       __le32 rate;
+       __le16 id;
+       __le16 reserved;
+} __packed;
+
 struct dvfs_info {
        __le32 header;
        struct {
@@ -237,6 +289,10 @@ struct sensor_value {
        __le32 hi_val;
 } __packed;

+struct legacy_sensor_value {
+       __le32 val;
+} __packed;
+

Not required, new one is backward compatible. Otherwise this patch looks
fine.

--
Regards,
Sudeep

Reply via email to