20 Apr
2015
20 Apr
'15
11:30 p.m.
On Thu, Apr 16, 2015 at 09:48:15PM +0100, Liam Girdwood wrote:
+struct snd_soc_tplg_hdr {
- __le32 magic;
- __le32 abi; /* ABI version */
- __le32 version; /* optional vendor specific version details */
- __le32 type; /* SND_SOC_TPLG_ */
- __le32 vendor_type; /* optional vendor specific type info */
- __le32 size; /* data bytes, excluding this header */
- __le32 id; /* identifier for block */
- char reserved[128];
+} __attribute__((packed));
Not got a massively strong opinion here but given that we have ABI versioning can we just skip the 128 bytes of reserved space in most of the structs? Doesn't seem to be doing much except making the files bigger.
+/*
- Mixer kcontrol.
- */
+struct snd_soc_tplg_mixer_control {
- struct snd_soc_tplg_control_hdr hdr;
- __le32 min;
- __le32 max;
- __le32 platform_max;
- __le32 reg;
- __le32 rreg;
- __le32 shift;
- __le32 rshift;
Do we want to convert this into an array of reg/shift tuples for the (dobutless forthcoming) 5.1 controls? Not sure it's worth it. I do think we probably need some explicit documentation for things like what to do with the left and right bits, I guess we hope other OSs or whatever can make use of the same topology if we're trying to make it standard.