On Fri, Oct 9, 2020 at 1:13 AM Hans Verkuil <hverkuil-cisco@xxxxxxxxx> wrote: > > On 08/10/2020 16:02, Alexandre Courbot wrote: > > Hi Hans, thanks for taking the time to look at this! > > > > On Thu, Oct 8, 2020 at 10:12 PM Hans Verkuil <hverkuil-cisco@xxxxxxxxx> wrote: > >> > >> On 08/10/2020 15:07, Hans Verkuil wrote: > >>> Hi Alexandre, > >>> > >>> On 04/10/2020 14:22, Alexandre Courbot wrote: > >>>> The addition of MT8183 support added a dependency on the SCP remoteproc > >>>> module. However the initial patch used the "select" Kconfig directive, > >>>> which may result in the SCP module to not be compiled if remoteproc was > >>>> disabled. In such a case, mtk-vcodec would try to link against > >>>> non-existent SCP symbols. "select" was clearly misused here as explained > >>>> in kconfig-language.txt. > >>>> > >>>> Replace this by a "depends" directive on at least one of the VPU and > >>>> SCP modules, to allow the driver to be compiled as long as one of these > >>>> is enabled, and adapt the code to support this new scenario. > >>>> > >>>> Also adapt the Kconfig text to explain the extra requirements for MT8173 > >>>> and MT8183. > >>>> > >>>> Reported-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > >>>> Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxxxx> > >>>> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> # build-tested > >>>> --- > >>>> drivers/media/platform/Kconfig | 10 +-- > >>>> .../media/platform/mtk-vcodec/mtk_vcodec_fw.c | 72 ++++++++++++------- > >>>> 2 files changed, 54 insertions(+), 28 deletions(-) > >>>> > >>>> diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig > >>>> index a3cb104956d5..98eb62e49ec2 100644 > >>>> --- a/drivers/media/platform/Kconfig > >>>> +++ b/drivers/media/platform/Kconfig > >>>> @@ -253,14 +253,16 @@ config VIDEO_MEDIATEK_VCODEC > >>>> depends on MTK_IOMMU || COMPILE_TEST > >>>> depends on VIDEO_DEV && VIDEO_V4L2 > >>>> depends on ARCH_MEDIATEK || COMPILE_TEST > >>>> + depends on VIDEO_MEDIATEK_VPU || MTK_SCP > >>> > >>> Close, but no cigar. > >>> > >>> If VIDEO_MEDIATEK_VPU=y and MTK_SCP=m, then VIDEO_MEDIATEK_VCODEC can be configured > >>> to y, and then it won't be able to find the scp_ functions. > >>> > >>> To be honest, I'm not sure how to solve this. > >> > >> Found it. Add this: > >> > >> depends on MTK_SCP || !MTK_SCP > >> depends on VIDEO_MEDIATEK_VPU || !VIDEO_MEDIATEK_VPU > >> > >> Ugly as hell, but it appears to be the correct incantation for this. > > > > But doesn't it mean that the driver can be compiled if !MTK_SCP and > > !VIDEO_MEDIATEK_VPU? That's the one case we want to avoid. > > No, because you still have: > > depends on VIDEO_MEDIATEK_VPU || MTK_SCP > > So at least one of these must be set. > > Just try it :-) Aha, I misread your message and thought you suggested replacing the dependencies with these two lines. In this case it would certainly work! Thanks for the suggestion, I'll send a v3 soon. > > Regards, > > Hans