Thanks everyone for the feedback on v2. This version has grown a little bit, but most of the added lines is just code moving around to new files. All in all this certainly makes the driver a little bit cleaner. Tested on both MT8173 and MT8183 and confirmed that the decoder was working on both. Changes since v2: * Use the FOO || !FOO magic suggested by Hans to ensure a built-in module does not try to link against symbols in a module, * Added a patch to split the VPU and SCP ops into their own source files and make the optional build cleaner, * Control the build of firmware implementations using two new transparent Kconfig symbols. Changes since v1: * Added Acked-by from Randy. * Fixed typo in Kconfig description. Alexandre Courbot (2): media: mtk-vcodec: move firmware implementations into their own files media: mtk-vcodec: fix build breakage when one of VPU or SCP is enabled drivers/media/platform/Kconfig | 22 ++- drivers/media/platform/mtk-vcodec/Makefile | 10 +- .../platform/mtk-vcodec/mtk_vcodec_dec_drv.c | 2 +- .../platform/mtk-vcodec/mtk_vcodec_enc_drv.c | 2 +- .../media/platform/mtk-vcodec/mtk_vcodec_fw.c | 174 +----------------- .../media/platform/mtk-vcodec/mtk_vcodec_fw.h | 7 +- .../platform/mtk-vcodec/mtk_vcodec_fw_priv.h | 52 ++++++ .../platform/mtk-vcodec/mtk_vcodec_fw_scp.c | 73 ++++++++ .../platform/mtk-vcodec/mtk_vcodec_fw_vpu.c | 109 +++++++++++ 9 files changed, 274 insertions(+), 177 deletions(-) create mode 100644 drivers/media/platform/mtk-vcodec/mtk_vcodec_fw_priv.h create mode 100644 drivers/media/platform/mtk-vcodec/mtk_vcodec_fw_scp.c create mode 100644 drivers/media/platform/mtk-vcodec/mtk_vcodec_fw_vpu.c -- 2.28.0.1011.ga647a8990f-goog