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 -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html