On Thursday 17 December 2015 10:45:56 Mauro Carvalho Chehab wrote:
If I understood well, he's proposing to do is:
struct media_v2_topology {
__u64 topology_version;
__u32 num_entities;
__u32 num_interfaces;
__u32 num_pads;
__u32 num_links;
__u64 ptr_entities;
__u64 ptr_interfaces;
__u64 ptr_pads;
__u64 ptr_links;
};
The problem is that, if we latter need to extend it to add a new type
the extension will not be too nice. For example, I did some experimental
patches adding graph groups:
Can you clarify how the 'topology_version' is used here? Is that
the version of the structure layout that decides how we interpret the
rest, or is it a number that is runtime dependent?
If this is an API version, I think the answer can simply be to drop
the topology_version field entirely, and use a new ioctl command code
whenever the API changes. This is the preferred method anyway.
Arnd