1This driver suffers from a bad initial design that results in various aspects 2being intricated, making it difficult to scale to new codecs and to add encoding 3support in the future. 4 5Before leaving the staging area, it should be reworked to clearly distinguish 6between different aspects: 7- platform, with resources management, interrupt handler, watchdog, 8 v4l2 and m2m devices registration; 9- proc, with video device registration and related operations; 10- context, with m2m context, queue and controls management; 11- engine, with each individual codec job execution and codec-specific 12 operation callbacks; 13 14This will make it possible to register two different procs (decoder and 15encoder) while sharing significant common infrastructure, common v4l2 and m2m 16devices but exposing distinct video devices. 17