media: davinci: kconfig: fix incorrect selects

Message ID 513750ED.2040701@ti.com (mailing list archive)
State RFC, archived
Headers

Commit Message

Sekhar Nori March 6, 2013, 2:21 p.m. UTC
  On 3/6/2013 4:05 PM, Prabhakar Lad wrote:
> On Wed, Mar 6, 2013 at 3:53 PM, Sekhar Nori <nsekhar@ti.com> wrote:
>> On 3/6/2013 3:46 PM, Prabhakar Lad wrote:
>>> Sekhar,
>>>
>>> On Wed, Mar 6, 2013 at 3:37 PM, Sekhar Nori <nsekhar@ti.com> wrote:
>>>> On 3/6/2013 2:59 PM, Prabhakar Lad wrote:
>>>>
>>>>>>  config VIDEO_DAVINCI_VPIF_DISPLAY
>>>>>>         tristate "DM646x/DA850/OMAPL138 EVM Video Display"
>>>>>> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
>>>>>> +       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM) && VIDEO_DAVINCI_VPIF
>>>>>>         select VIDEOBUF2_DMA_CONTIG
>>>>>> -       select VIDEO_DAVINCI_VPIF
>>>>>>         select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT
>>>>>>         select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT
>>>>>>         help
>>>>>> @@ -15,9 +14,8 @@ config VIDEO_DAVINCI_VPIF_DISPLAY
>>>>>>
>>>>>>  config VIDEO_DAVINCI_VPIF_CAPTURE
>>>>>>         tristate "DM646x/DA850/OMAPL138 EVM Video Capture"
>>>>>> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
>>>>>> +       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM) && VIDEO_DAVINCI_VPIF
>>>>>>         select VIDEOBUF2_DMA_CONTIG
>>>>>> -       select VIDEO_DAVINCI_VPIF
>>>>>>         help
>>>>>>           Enables Davinci VPIF module used for captur devices.
>>>>>>           This module is common for following DM6467/DA850/OMAPL138
>>>>>> @@ -28,7 +26,7 @@ config VIDEO_DAVINCI_VPIF_CAPTURE
>>>>>>
>>>>>>  config VIDEO_DAVINCI_VPIF
>>>>>>         tristate "DaVinci VPIF Driver"
>>>>>> -       depends on VIDEO_DAVINCI_VPIF_DISPLAY || VIDEO_DAVINCI_VPIF_CAPTURE
>>>>>> +       depends on ARCH_DAVINCI
>>>>>
>>>>> It would be better if this was  depends on MACH_DAVINCI_DM6467_EVM ||
>>>>> MACH_DAVINCI_DA850_EVM
>>>>> rather than 'ARCH_DAVINCI' then you can remove 'MACH_DAVINCI_DM6467_EVM' and
>>>>> 'MACH_DAVINCI_DA850_EVM' dependency from VIDEO_DAVINCI_VPIF_DISPLAY and
>>>>> VIDEO_DAVINCI_VPIF_CAPTURE. So it would be just 'depends on VIDEO_DEV
>>>>> && VIDEO_DAVINCI_VPIF'
>>>>
>>>> I could, but vpif.c seems pretty board independent to me. Are you sure
>>>> no other board would like to build vpif.c? BTW, are vpif_display.c and
>>>> vpif_capture.c really that board specific? May be we can all make them
>>>> depend on ARCH_DAVINCI?
>>>>
>>> VPIF is present only in DM646x and DA850/OMAP-L1138.
>>> vpif.c is common file which is used by vpif_capture and vpif_display.
>>
>> So vpif.c per se doesn't do anything useful. Why the dependency on EVMs?
>> There are other boards for these platform which could use VPIF.
>>
> yep agreed!

So instead of presenting a non-useful vpif selection to users,
vpif.c dependency is better handled in makefile, no?

How about the patch below (now also rebased on v3.9-rc1)?

What about vpss.c? Does it make sense not to present a config
for that as well?

I also noticed that module build of VPIF is broken in mainline.
That needs to be fixed too.

Thanks,
Sekhar

---8<---
From: Sekhar Nori <nsekhar@ti.com>
Date: Tue, 5 Mar 2013 19:08:59 +0530
Subject: [PATCH] media: davinci: kconfig: fix incorrect selects

drivers/media/platform/davinci/Kconfig uses selects where
it should be using 'depends on'. This results in warnings of
the following sort when doing randconfig builds.

warning: (VIDEO_DM6446_CCDC && VIDEO_DM355_CCDC && VIDEO_ISIF && VIDEO_DAVINCI_VPBE_DISPLAY) selects VIDEO_VPSS_SYSTEM which has unmet direct dependencies (MEDIA_SUPPORT && V4L_PLATFORM_DRIVERS && ARCH_DAVINCI)

The VPIF kconfigs had a strange 'select' and 'depends on' cross
linkage which have been fixed as well by removing unneeded
VIDEO_DAVINCI_VPIF config symbol. Selecting VPIF is now possible
on all DaVinci platforms instead of two specific EVMs earlier.

While at it, fix the Kconfig help text to make it more readable.

This patch has only been build tested, I do not have the setup
to test video. I also do not know if the dependencies are really
needed, I have just tried to not break any existing assumptions.

Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
---
 drivers/media/platform/davinci/Kconfig  |   41 ++++++++++---------------------
 drivers/media/platform/davinci/Makefile |    7 ++----
 2 files changed, 15 insertions(+), 33 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Comments

Prabhakar March 7, 2013, 7:17 a.m. UTC | #1
Sekhar,

On Wed, Mar 6, 2013 at 7:51 PM, Sekhar Nori <nsekhar@ti.com> wrote:
>
> On 3/6/2013 4:05 PM, Prabhakar Lad wrote:
>> On Wed, Mar 6, 2013 at 3:53 PM, Sekhar Nori <nsekhar@ti.com> wrote:
>>> On 3/6/2013 3:46 PM, Prabhakar Lad wrote:
>>>> Sekhar,
>>>>
>>>> On Wed, Mar 6, 2013 at 3:37 PM, Sekhar Nori <nsekhar@ti.com> wrote:
>>>>> On 3/6/2013 2:59 PM, Prabhakar Lad wrote:
>>>>>
>>>>>>>  config VIDEO_DAVINCI_VPIF_DISPLAY
>>>>>>>         tristate "DM646x/DA850/OMAPL138 EVM Video Display"
>>>>>>> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
>>>>>>> +       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM) && VIDEO_DAVINCI_VPIF
>>>>>>>         select VIDEOBUF2_DMA_CONTIG
>>>>>>> -       select VIDEO_DAVINCI_VPIF
>>>>>>>         select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT
>>>>>>>         select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT
>>>>>>>         help
>>>>>>> @@ -15,9 +14,8 @@ config VIDEO_DAVINCI_VPIF_DISPLAY
>>>>>>>
>>>>>>>  config VIDEO_DAVINCI_VPIF_CAPTURE
>>>>>>>         tristate "DM646x/DA850/OMAPL138 EVM Video Capture"
>>>>>>> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
>>>>>>> +       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM) && VIDEO_DAVINCI_VPIF
>>>>>>>         select VIDEOBUF2_DMA_CONTIG
>>>>>>> -       select VIDEO_DAVINCI_VPIF
>>>>>>>         help
>>>>>>>           Enables Davinci VPIF module used for captur devices.
>>>>>>>           This module is common for following DM6467/DA850/OMAPL138
>>>>>>> @@ -28,7 +26,7 @@ config VIDEO_DAVINCI_VPIF_CAPTURE
>>>>>>>
>>>>>>>  config VIDEO_DAVINCI_VPIF
>>>>>>>         tristate "DaVinci VPIF Driver"
>>>>>>> -       depends on VIDEO_DAVINCI_VPIF_DISPLAY || VIDEO_DAVINCI_VPIF_CAPTURE
>>>>>>> +       depends on ARCH_DAVINCI
>>>>>>
>>>>>> It would be better if this was  depends on MACH_DAVINCI_DM6467_EVM ||
>>>>>> MACH_DAVINCI_DA850_EVM
>>>>>> rather than 'ARCH_DAVINCI' then you can remove 'MACH_DAVINCI_DM6467_EVM' and
>>>>>> 'MACH_DAVINCI_DA850_EVM' dependency from VIDEO_DAVINCI_VPIF_DISPLAY and
>>>>>> VIDEO_DAVINCI_VPIF_CAPTURE. So it would be just 'depends on VIDEO_DEV
>>>>>> && VIDEO_DAVINCI_VPIF'
>>>>>
>>>>> I could, but vpif.c seems pretty board independent to me. Are you sure
>>>>> no other board would like to build vpif.c? BTW, are vpif_display.c and
>>>>> vpif_capture.c really that board specific? May be we can all make them
>>>>> depend on ARCH_DAVINCI?
>>>>>
>>>> VPIF is present only in DM646x and DA850/OMAP-L1138.
>>>> vpif.c is common file which is used by vpif_capture and vpif_display.
>>>
>>> So vpif.c per se doesn't do anything useful. Why the dependency on EVMs?
>>> There are other boards for these platform which could use VPIF.
>>>
>> yep agreed!
>
> So instead of presenting a non-useful vpif selection to users,
> vpif.c dependency is better handled in makefile, no?
>
Agreed that’s a better fix.

> How about the patch below (now also rebased on v3.9-rc1)?
>
Looks good.

> What about vpss.c? Does it make sense not to present a config
> for that as well?
>
Yes there isn't a need in config for it too, this also should be
handled in Makefile as well.

> I also noticed that module build of VPIF is broken in mainline.
> That needs to be fixed too.
>
Posted a patch fixing it(http://patchwork.linuxtv.org/patch/17145/).

Regards,
--Prabhakar

> Thanks,
> Sekhar
>
> ---8<---
> From: Sekhar Nori <nsekhar@ti.com>
> Date: Tue, 5 Mar 2013 19:08:59 +0530
> Subject: [PATCH] media: davinci: kconfig: fix incorrect selects
>
> drivers/media/platform/davinci/Kconfig uses selects where
> it should be using 'depends on'. This results in warnings of
> the following sort when doing randconfig builds.
>
> warning: (VIDEO_DM6446_CCDC && VIDEO_DM355_CCDC && VIDEO_ISIF && VIDEO_DAVINCI_VPBE_DISPLAY) selects VIDEO_VPSS_SYSTEM which has unmet direct dependencies (MEDIA_SUPPORT && V4L_PLATFORM_DRIVERS && ARCH_DAVINCI)
>
> The VPIF kconfigs had a strange 'select' and 'depends on' cross
> linkage which have been fixed as well by removing unneeded
> VIDEO_DAVINCI_VPIF config symbol. Selecting VPIF is now possible
> on all DaVinci platforms instead of two specific EVMs earlier.
>
> While at it, fix the Kconfig help text to make it more readable.
>
> This patch has only been build tested, I do not have the setup
> to test video. I also do not know if the dependencies are really
> needed, I have just tried to not break any existing assumptions.
>
> Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
> ---
>  drivers/media/platform/davinci/Kconfig  |   41 ++++++++++---------------------
>  drivers/media/platform/davinci/Makefile |    7 ++----
>  2 files changed, 15 insertions(+), 33 deletions(-)
>
> diff --git a/drivers/media/platform/davinci/Kconfig b/drivers/media/platform/davinci/Kconfig
> index ccfde4e..42152f9 100644
> --- a/drivers/media/platform/davinci/Kconfig
> +++ b/drivers/media/platform/davinci/Kconfig
> @@ -1,40 +1,29 @@
>  config VIDEO_DAVINCI_VPIF_DISPLAY
> -       tristate "DM646x/DA850/OMAPL138 EVM Video Display"
> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
> +       tristate "TI DaVinci VPIF Video Display"
> +       depends on VIDEO_DEV && ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
> -       select VIDEO_DAVINCI_VPIF
>         select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT
>         select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT
>         help
>           Enables Davinci VPIF module used for display devices.
> -         This module is common for following DM6467/DA850/OMAPL138
> -         based display devices.
> +         This module is used for display on TI DM6467/DA850/OMAPL138
> +         SoCs.
>
>           To compile this driver as a module, choose M here: the
>           module will be called vpif_display.
>
>  config VIDEO_DAVINCI_VPIF_CAPTURE
> -       tristate "DM646x/DA850/OMAPL138 EVM Video Capture"
> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
> +       tristate "TI DaVinci VPIF Video Capture"
> +       depends on VIDEO_DEV && ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
> -       select VIDEO_DAVINCI_VPIF
>         help
> -         Enables Davinci VPIF module used for captur devices.
> -         This module is common for following DM6467/DA850/OMAPL138
> -         based capture devices.
> +         Enables Davinci VPIF module used for capture devices.
> +         This module is used for capture on TI DM6467/DA850/OMAPL138
> +         SoCs.
>
>           To compile this driver as a module, choose M here: the
>           module will be called vpif_capture.
>
> -config VIDEO_DAVINCI_VPIF
> -       tristate "DaVinci VPIF Driver"
> -       depends on VIDEO_DAVINCI_VPIF_DISPLAY || VIDEO_DAVINCI_VPIF_CAPTURE
> -       help
> -         Support for DaVinci VPIF Driver.
> -
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpif.
> -
>  config VIDEO_VPSS_SYSTEM
>         tristate "VPSS System module driver"
>         depends on ARCH_DAVINCI
> @@ -56,8 +45,7 @@ config VIDEO_VPFE_CAPTURE
>
>  config VIDEO_DM6446_CCDC
>         tristate "DM6446 CCDC HW module"
> -       depends on VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> +       depends on VIDEO_VPFE_CAPTURE && VIDEO_VPSS_SYSTEM
>         default y
>         help
>            Enables DaVinci CCD hw module. DaVinci CCDC hw interfaces
> @@ -71,8 +59,7 @@ config VIDEO_DM6446_CCDC
>
>  config VIDEO_DM355_CCDC
>         tristate "DM355 CCDC HW module"
> -       depends on ARCH_DAVINCI_DM355 && VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> +       depends on ARCH_DAVINCI_DM355 && VIDEO_VPFE_CAPTURE && VIDEO_VPSS_SYSTEM
>         default y
>         help
>            Enables DM355 CCD hw module. DM355 CCDC hw interfaces
> @@ -86,8 +73,7 @@ config VIDEO_DM355_CCDC
>
>  config VIDEO_ISIF
>         tristate "ISIF HW module"
> -       depends on ARCH_DAVINCI_DM365 && VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> +       depends on ARCH_DAVINCI_DM365 && VIDEO_VPFE_CAPTURE && VIDEO_VPSS_SYSTEM
>         default y
>         help
>            Enables ISIF hw module. This is the hardware module for
> @@ -99,8 +85,7 @@ config VIDEO_ISIF
>
>  config VIDEO_DAVINCI_VPBE_DISPLAY
>         tristate "DM644X/DM365/DM355 VPBE HW module"
> -       depends on ARCH_DAVINCI_DM644x || ARCH_DAVINCI_DM355 || ARCH_DAVINCI_DM365
> -       select VIDEO_VPSS_SYSTEM
> +       depends on (ARCH_DAVINCI_DM644x || ARCH_DAVINCI_DM355 || ARCH_DAVINCI_DM365) && VIDEO_VPSS_SYSTEM
>         select VIDEOBUF2_DMA_CONTIG
>         help
>             Enables Davinci VPBE module used for display devices.
> diff --git a/drivers/media/platform/davinci/Makefile b/drivers/media/platform/davinci/Makefile
> index f40f521..4d91cb9 100644
> --- a/drivers/media/platform/davinci/Makefile
> +++ b/drivers/media/platform/davinci/Makefile
> @@ -2,13 +2,10 @@
>  # Makefile for the davinci video device drivers.
>  #
>
> -# VPIF
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF) += vpif.o
> -
>  #VPIF Display driver
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF_DISPLAY) += vpif_display.o
> +obj-$(CONFIG_VIDEO_DAVINCI_VPIF_DISPLAY) += vpif.o vpif_display.o
>  #VPIF Capture driver
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF_CAPTURE) += vpif_capture.o
> +obj-$(CONFIG_VIDEO_DAVINCI_VPIF_CAPTURE) += vpif.o vpif_capture.o
>
>  # Capture: DM6446 and DM355
>  obj-$(CONFIG_VIDEO_VPSS_SYSTEM) += vpss.o
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Sekhar Nori March 7, 2013, 11:24 a.m. UTC | #2
On 3/7/2013 12:47 PM, Prabhakar Lad wrote:

> On Wed, Mar 6, 2013 at 7:51 PM, Sekhar Nori <nsekhar@ti.com> wrote:
>> So instead of presenting a non-useful vpif selection to users,
>> vpif.c dependency is better handled in makefile, no?
>>
> Agreed that’s a better fix.

How about VIDEO_VPFE_CAPTURE? Does enabling just that config present any
interface which can be used? Or should vpfe_capture.c be automatically
built as well?

Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Prabhakar March 7, 2013, 11:39 a.m. UTC | #3
Hi Sekhar,

On Thu, Mar 7, 2013 at 4:54 PM, Sekhar Nori <nsekhar@ti.com> wrote:
> On 3/7/2013 12:47 PM, Prabhakar Lad wrote:
>
>> On Wed, Mar 6, 2013 at 7:51 PM, Sekhar Nori <nsekhar@ti.com> wrote:
>>> So instead of presenting a non-useful vpif selection to users,
>>> vpif.c dependency is better handled in makefile, no?
>>>
>> Agreed that’s a better fix.
>
> How about VIDEO_VPFE_CAPTURE? Does enabling just that config present any
> interface which can be used? Or should vpfe_capture.c be automatically
> built as well?
>
Yes this can be removed as well and handle in Makefile. And for consistency
you can rename VIDEO_ISIF to VIDEO_DM365_ISIF.

Regards,
--Prabhakar

> Thanks,
> Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Prabhakar March 12, 2013, 5:14 a.m. UTC | #4
Hi Sekhar,

Thanks for the patch! few nits below

also version number for patch is missing as this should have been v2 :)
BTW this patch still is not  present in media list.

On Mon, Mar 11, 2013 at 5:52 PM, Sekhar Nori <nsekhar@ti.com> wrote:
> drivers/media/platform/davinci/Kconfig uses selects where
> it should be using 'depends on'. This results in warnings of
> the following sort when doing randconfig builds.
>
> warning: (VIDEO_DM6446_CCDC && VIDEO_DM355_CCDC && VIDEO_ISIF && VIDEO_DAVINCI_VPBE_DISPLAY) selects VIDEO_VPSS_SYSTEM which has unmet direct dependencies (MEDIA_SUPPORT && V4L_PLATFORM_DRIVERS && ARCH_DAVINCI)
>
> The VPIF kconfigs had a strange 'select' and 'depends on' cross
> linkage which have been fixed as well by removing unneeded
> VIDEO_DAVINCI_VPIF config symbol.
>
> Similarly, remove the unnecessary VIDEO_VPSS_SYSTEM and
> VIDEO_VPFE_CAPTURE. They don't select any independent functionality
> and were being used to manage code dependencies which can
> be handled using makefile.
>
> Selecting video modules is now dependent on all ARCH_DAVINCI
> instead of specific EVMs and SoCs earlier. This should help build
> coverage. Remove unnecessary 'default y' for some config symbols.
>
> While at it, fix the Kconfig help text to make it more readable
> and fix names of modules created.
>
> Rename VIDEO_ISIF to VIDEO_DM365_ISIF as per suggestion from
> Prabhakar.
>
> This patch has only been build tested; I have tried to not break
> any existing assumptions. I do not have the setup to test video,
> so any test reports welcome.
>
> Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
> ---
>  drivers/media/platform/davinci/Kconfig  |   99 +++++++++++--------------------
>  drivers/media/platform/davinci/Makefile |   17 ++----
>  2 files changed, 39 insertions(+), 77 deletions(-)
>
> diff --git a/drivers/media/platform/davinci/Kconfig b/drivers/media/platform/davinci/Kconfig
> index ccfde4e..86f7f34 100644
> --- a/drivers/media/platform/davinci/Kconfig
> +++ b/drivers/media/platform/davinci/Kconfig
> @@ -1,64 +1,33 @@
>  config VIDEO_DAVINCI_VPIF_DISPLAY
> -       tristate "DM646x/DA850/OMAPL138 EVM Video Display"
> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
> +       tristate "TI DaVinci VPIF Video Display"
> +       depends on VIDEO_DEV && ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
> -       select VIDEO_DAVINCI_VPIF
>         select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT
>         select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT
>         help
>           Enables Davinci VPIF module used for display devices.
> -         This module is common for following DM6467/DA850/OMAPL138
> -         based display devices.
> +         This module is used for display on TI DM6467/DA850/OMAPL138
> +         SoCs.
>
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpif_display.
> +         To compile this driver as a module, choose M here. There will
> +         be two modules called vpif.ko and vpif_display.ko
>
>  config VIDEO_DAVINCI_VPIF_CAPTURE
> -       tristate "DM646x/DA850/OMAPL138 EVM Video Capture"
> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
> +       tristate "TI DaVinci VPIF Video Capture"
> +       depends on VIDEO_DEV && ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
> -       select VIDEO_DAVINCI_VPIF
>         help
> -         Enables Davinci VPIF module used for captur devices.
> -         This module is common for following DM6467/DA850/OMAPL138
> -         based capture devices.
> +         Enables Davinci VPIF module used for capture devices.
> +         This module is used for capture on TI DM6467/DA850/OMAPL138
> +         SoCs.
>
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpif_capture.
> -
> -config VIDEO_DAVINCI_VPIF
> -       tristate "DaVinci VPIF Driver"
> -       depends on VIDEO_DAVINCI_VPIF_DISPLAY || VIDEO_DAVINCI_VPIF_CAPTURE
> -       help
> -         Support for DaVinci VPIF Driver.
> -
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpif.
> -
> -config VIDEO_VPSS_SYSTEM
> -       tristate "VPSS System module driver"
> -       depends on ARCH_DAVINCI
> -       help
> -         Support for vpss system module for video driver
> -
> -config VIDEO_VPFE_CAPTURE
> -       tristate "VPFE Video Capture Driver"
> -       depends on VIDEO_V4L2 && (ARCH_DAVINCI || ARCH_OMAP3)
> -       depends on I2C
> -       select VIDEOBUF_DMA_CONTIG
> -       help
> -         Support for DMx/AMx VPFE based frame grabber. This is the
> -         common V4L2 module for following DMx/AMx SoCs from Texas
> -         Instruments:- DM6446, DM365, DM355 & AM3517/05.
> -
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpfe-capture.
> +         To compile this driver as a module, choose M here. There will
> +         be two modules called vpif.ko and vpif_capture.ko
>
>  config VIDEO_DM6446_CCDC
>         tristate "DM6446 CCDC HW module"
> -       depends on VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> -       default y
> +       depends on VIDEO_V4L2 && (ARCH_DAVINCI || ARCH_OMAP3)
> +       select VIDEOBUF_DMA_CONTIG
>         help
>            Enables DaVinci CCD hw module. DaVinci CCDC hw interfaces
>            with decoder modules such as TVP5146 over BT656 or
> @@ -66,14 +35,13 @@ config VIDEO_DM6446_CCDC
>            module configures the interface and CCDC/ISIF to do
>            video frame capture from slave decoders.
>
> -          To compile this driver as a module, choose M here: the
> -          module will be called vpfe.
> +          To compile this driver as a module, choose M here. There will
> +          be three modules called vpfe_capture.ko, vpss.ko and dm644x_ccdc.ko
>
>  config VIDEO_DM355_CCDC
>         tristate "DM355 CCDC HW module"
> -       depends on ARCH_DAVINCI_DM355 && VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> -       default y
> +       depends on VIDEO_V4L2 && ARCH_DAVINCI
> +       select VIDEOBUF_DMA_CONTIG
>         help
>            Enables DM355 CCD hw module. DM355 CCDC hw interfaces
>            with decoder modules such as TVP5146 over BT656 or
> @@ -81,31 +49,30 @@ config VIDEO_DM355_CCDC
>            module configures the interface and CCDC/ISIF to do
>            video frame capture from a slave decoders
>
> -          To compile this driver as a module, choose M here: the
> -          module will be called vpfe.
> +          To compile this driver as a module, choose M here. There will
> +          be three modules called vpfe_capture.ko, vpss.ko and dm355_ccdc.ko
>
> -config VIDEO_ISIF
> -       tristate "ISIF HW module"
> -       depends on ARCH_DAVINCI_DM365 && VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> -       default y
> +config VIDEO_DM365_ISIF
> +       tristate "DM365 ISIF HW module"
> +       depends on VIDEO_V4L2 && ARCH_DAVINCI
> +       select VIDEOBUF_DMA_CONTIG
>         help
>            Enables ISIF hw module. This is the hardware module for
> -          configuring ISIF in VPFE to capture Raw Bayer RGB data  from
> +          configuring ISIF in VPFE to capture Raw Bayer RGB data from
>            a image sensor or YUV data from a YUV source.
>
> -          To compile this driver as a module, choose M here: the
> -          module will be called vpfe.
> +          To compile this driver as a module, choose M here. There will
> +          be three modules called vpfe_capture.ko, vpss.ko and isif.ko
>
>  config VIDEO_DAVINCI_VPBE_DISPLAY
>         tristate "DM644X/DM365/DM355 VPBE HW module"
why not change this to 'TI DaVinci VPBE Video Display' as done for vpif ?

> -       depends on ARCH_DAVINCI_DM644x || ARCH_DAVINCI_DM355 || ARCH_DAVINCI_DM365
> -       select VIDEO_VPSS_SYSTEM
> +       depends on ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
>         help
>             Enables Davinci VPBE module used for display devices.
> -           This module is common for following DM644x/DM365/DM355
> +           This module is used for dipslay on TI DM644x/DM365/DM355
display

Regards,
--Prabhakar Lad

>             based display devices.
>
> -           To compile this driver as a module, choose M here: the
> -           module will be called vpbe.
> +           To compile this driver as a module, choose M here. There will
> +           be five modules created called vpss.ko, vpbe.ko, vpbe_osd.ko,
> +           vpbe_venc.ko and vpbe_display.ko
> diff --git a/drivers/media/platform/davinci/Makefile b/drivers/media/platform/davinci/Makefile
> index f40f521..d74d9ee 100644
> --- a/drivers/media/platform/davinci/Makefile
> +++ b/drivers/media/platform/davinci/Makefile
> @@ -2,19 +2,14 @@
>  # Makefile for the davinci video device drivers.
>  #
>
> -# VPIF
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF) += vpif.o
> -
>  #VPIF Display driver
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF_DISPLAY) += vpif_display.o
> +obj-$(CONFIG_VIDEO_DAVINCI_VPIF_DISPLAY) += vpif.o vpif_display.o
>  #VPIF Capture driver
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF_CAPTURE) += vpif_capture.o
> +obj-$(CONFIG_VIDEO_DAVINCI_VPIF_CAPTURE) += vpif.o vpif_capture.o
>
>  # Capture: DM6446 and DM355
> -obj-$(CONFIG_VIDEO_VPSS_SYSTEM) += vpss.o
> -obj-$(CONFIG_VIDEO_VPFE_CAPTURE) += vpfe_capture.o
> -obj-$(CONFIG_VIDEO_DM6446_CCDC) += dm644x_ccdc.o
> -obj-$(CONFIG_VIDEO_DM355_CCDC) += dm355_ccdc.o
> -obj-$(CONFIG_VIDEO_ISIF) += isif.o
> -obj-$(CONFIG_VIDEO_DAVINCI_VPBE_DISPLAY) += vpbe.o vpbe_osd.o \
> +obj-$(CONFIG_VIDEO_DM6446_CCDC) += vpfe_capture.o vpss.o dm644x_ccdc.o
> +obj-$(CONFIG_VIDEO_DM355_CCDC) += vpfe_capture.o vpss.o dm355_ccdc.o
> +obj-$(CONFIG_VIDEO_DM365_ISIF) += vpfe_capture.o vpss.o isif.o
> +obj-$(CONFIG_VIDEO_DAVINCI_VPBE_DISPLAY) += vpss.o vpbe.o vpbe_osd.o \
>         vpbe_venc.o vpbe_display.o
> --
> 1.7.10.1
>
> _______________________________________________
> Davinci-linux-open-source mailing list
> Davinci-linux-open-source@linux.davincidsp.com
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
cstsai March 12, 2013, 6:48 a.m. UTC | #5
Dear Sir,

Please don't send update emails to me

Whenever I need I can check from website

Thanks & Regards,
cstsai



----- Original Message ----- 
From: "Prabhakar Lad" <prabhakar.csengg@gmail.com>
To: "Sekhar Nori" <nsekhar@ti.com>
Cc: "Russell King" <rmk+kernel@arm.linux.org.uk>; 
<davinci-linux-open-source@linux.davincidsp.com>; "Mauro Carvalho Chehab" 
<mchehab@redhat.com>; <linux-media@vger.kernel.org>
Sent: Tuesday, March 12, 2013 1:14 PM
Subject: Re: [PATCH] media: davinci: kconfig: fix incorrect selects


Hi Sekhar,

Thanks for the patch! few nits below

also version number for patch is missing as this should have been v2 :)
BTW this patch still is not  present in media list.

On Mon, Mar 11, 2013 at 5:52 PM, Sekhar Nori <nsekhar@ti.com> wrote:
> drivers/media/platform/davinci/Kconfig uses selects where
> it should be using 'depends on'. This results in warnings of
> the following sort when doing randconfig builds.
>
> warning: (VIDEO_DM6446_CCDC && VIDEO_DM355_CCDC && VIDEO_ISIF && 
> VIDEO_DAVINCI_VPBE_DISPLAY) selects VIDEO_VPSS_SYSTEM which has unmet 
> direct dependencies (MEDIA_SUPPORT && V4L_PLATFORM_DRIVERS && 
> ARCH_DAVINCI)
>
> The VPIF kconfigs had a strange 'select' and 'depends on' cross
> linkage which have been fixed as well by removing unneeded
> VIDEO_DAVINCI_VPIF config symbol.
>
> Similarly, remove the unnecessary VIDEO_VPSS_SYSTEM and
> VIDEO_VPFE_CAPTURE. They don't select any independent functionality
> and were being used to manage code dependencies which can
> be handled using makefile.
>
> Selecting video modules is now dependent on all ARCH_DAVINCI
> instead of specific EVMs and SoCs earlier. This should help build
> coverage. Remove unnecessary 'default y' for some config symbols.
>
> While at it, fix the Kconfig help text to make it more readable
> and fix names of modules created.
>
> Rename VIDEO_ISIF to VIDEO_DM365_ISIF as per suggestion from
> Prabhakar.
>
> This patch has only been build tested; I have tried to not break
> any existing assumptions. I do not have the setup to test video,
> so any test reports welcome.
>
> Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
> ---
>  drivers/media/platform/davinci/Kconfig  |   99 
> +++++++++++--------------------
>  drivers/media/platform/davinci/Makefile |   17 ++----
>  2 files changed, 39 insertions(+), 77 deletions(-)
>
> diff --git a/drivers/media/platform/davinci/Kconfig 
> b/drivers/media/platform/davinci/Kconfig
> index ccfde4e..86f7f34 100644
> --- a/drivers/media/platform/davinci/Kconfig
> +++ b/drivers/media/platform/davinci/Kconfig
> @@ -1,64 +1,33 @@
>  config VIDEO_DAVINCI_VPIF_DISPLAY
> -       tristate "DM646x/DA850/OMAPL138 EVM Video Display"
> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || 
> MACH_DAVINCI_DA850_EVM)
> +       tristate "TI DaVinci VPIF Video Display"
> +       depends on VIDEO_DEV && ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
> -       select VIDEO_DAVINCI_VPIF
>         select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT
>         select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT
>         help
>           Enables Davinci VPIF module used for display devices.
> -         This module is common for following DM6467/DA850/OMAPL138
> -         based display devices.
> +         This module is used for display on TI DM6467/DA850/OMAPL138
> +         SoCs.
>
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpif_display.
> +         To compile this driver as a module, choose M here. There will
> +         be two modules called vpif.ko and vpif_display.ko
>
>  config VIDEO_DAVINCI_VPIF_CAPTURE
> -       tristate "DM646x/DA850/OMAPL138 EVM Video Capture"
> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || 
> MACH_DAVINCI_DA850_EVM)
> +       tristate "TI DaVinci VPIF Video Capture"
> +       depends on VIDEO_DEV && ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
> -       select VIDEO_DAVINCI_VPIF
>         help
> -         Enables Davinci VPIF module used for captur devices.
> -         This module is common for following DM6467/DA850/OMAPL138
> -         based capture devices.
> +         Enables Davinci VPIF module used for capture devices.
> +         This module is used for capture on TI DM6467/DA850/OMAPL138
> +         SoCs.
>
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpif_capture.
> -
> -config VIDEO_DAVINCI_VPIF
> -       tristate "DaVinci VPIF Driver"
> -       depends on VIDEO_DAVINCI_VPIF_DISPLAY || 
> VIDEO_DAVINCI_VPIF_CAPTURE
> -       help
> -         Support for DaVinci VPIF Driver.
> -
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpif.
> -
> -config VIDEO_VPSS_SYSTEM
> -       tristate "VPSS System module driver"
> -       depends on ARCH_DAVINCI
> -       help
> -         Support for vpss system module for video driver
> -
> -config VIDEO_VPFE_CAPTURE
> -       tristate "VPFE Video Capture Driver"
> -       depends on VIDEO_V4L2 && (ARCH_DAVINCI || ARCH_OMAP3)
> -       depends on I2C
> -       select VIDEOBUF_DMA_CONTIG
> -       help
> -         Support for DMx/AMx VPFE based frame grabber. This is the
> -         common V4L2 module for following DMx/AMx SoCs from Texas
> -         Instruments:- DM6446, DM365, DM355 & AM3517/05.
> -
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpfe-capture.
> +         To compile this driver as a module, choose M here. There will
> +         be two modules called vpif.ko and vpif_capture.ko
>
>  config VIDEO_DM6446_CCDC
>         tristate "DM6446 CCDC HW module"
> -       depends on VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> -       default y
> +       depends on VIDEO_V4L2 && (ARCH_DAVINCI || ARCH_OMAP3)
> +       select VIDEOBUF_DMA_CONTIG
>         help
>            Enables DaVinci CCD hw module. DaVinci CCDC hw interfaces
>            with decoder modules such as TVP5146 over BT656 or
> @@ -66,14 +35,13 @@ config VIDEO_DM6446_CCDC
>            module configures the interface and CCDC/ISIF to do
>            video frame capture from slave decoders.
>
> -          To compile this driver as a module, choose M here: the
> -          module will be called vpfe.
> +          To compile this driver as a module, choose M here. There will
> +          be three modules called vpfe_capture.ko, vpss.ko and 
> dm644x_ccdc.ko
>
>  config VIDEO_DM355_CCDC
>         tristate "DM355 CCDC HW module"
> -       depends on ARCH_DAVINCI_DM355 && VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> -       default y
> +       depends on VIDEO_V4L2 && ARCH_DAVINCI
> +       select VIDEOBUF_DMA_CONTIG
>         help
>            Enables DM355 CCD hw module. DM355 CCDC hw interfaces
>            with decoder modules such as TVP5146 over BT656 or
> @@ -81,31 +49,30 @@ config VIDEO_DM355_CCDC
>            module configures the interface and CCDC/ISIF to do
>            video frame capture from a slave decoders
>
> -          To compile this driver as a module, choose M here: the
> -          module will be called vpfe.
> +          To compile this driver as a module, choose M here. There will
> +          be three modules called vpfe_capture.ko, vpss.ko and 
> dm355_ccdc.ko
>
> -config VIDEO_ISIF
> -       tristate "ISIF HW module"
> -       depends on ARCH_DAVINCI_DM365 && VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> -       default y
> +config VIDEO_DM365_ISIF
> +       tristate "DM365 ISIF HW module"
> +       depends on VIDEO_V4L2 && ARCH_DAVINCI
> +       select VIDEOBUF_DMA_CONTIG
>         help
>            Enables ISIF hw module. This is the hardware module for
> -          configuring ISIF in VPFE to capture Raw Bayer RGB data  from
> +          configuring ISIF in VPFE to capture Raw Bayer RGB data from
>            a image sensor or YUV data from a YUV source.
>
> -          To compile this driver as a module, choose M here: the
> -          module will be called vpfe.
> +          To compile this driver as a module, choose M here. There will
> +          be three modules called vpfe_capture.ko, vpss.ko and isif.ko
>
>  config VIDEO_DAVINCI_VPBE_DISPLAY
>         tristate "DM644X/DM365/DM355 VPBE HW module"
why not change this to 'TI DaVinci VPBE Video Display' as done for vpif ?

> -       depends on ARCH_DAVINCI_DM644x || ARCH_DAVINCI_DM355 || 
> ARCH_DAVINCI_DM365
> -       select VIDEO_VPSS_SYSTEM
> +       depends on ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
>         help
>             Enables Davinci VPBE module used for display devices.
> -           This module is common for following DM644x/DM365/DM355
> +           This module is used for dipslay on TI DM644x/DM365/DM355
display

Regards,
--Prabhakar Lad

>             based display devices.
>
> -           To compile this driver as a module, choose M here: the
> -           module will be called vpbe.
> +           To compile this driver as a module, choose M here. There will
> +           be five modules created called vpss.ko, vpbe.ko, vpbe_osd.ko,
> +           vpbe_venc.ko and vpbe_display.ko
> diff --git a/drivers/media/platform/davinci/Makefile 
> b/drivers/media/platform/davinci/Makefile
> index f40f521..d74d9ee 100644
> --- a/drivers/media/platform/davinci/Makefile
> +++ b/drivers/media/platform/davinci/Makefile
> @@ -2,19 +2,14 @@
>  # Makefile for the davinci video device drivers.
>  #
>
> -# VPIF
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF) += vpif.o
> -
>  #VPIF Display driver
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF_DISPLAY) += vpif_display.o
> +obj-$(CONFIG_VIDEO_DAVINCI_VPIF_DISPLAY) += vpif.o vpif_display.o
>  #VPIF Capture driver
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF_CAPTURE) += vpif_capture.o
> +obj-$(CONFIG_VIDEO_DAVINCI_VPIF_CAPTURE) += vpif.o vpif_capture.o
>
>  # Capture: DM6446 and DM355
> -obj-$(CONFIG_VIDEO_VPSS_SYSTEM) += vpss.o
> -obj-$(CONFIG_VIDEO_VPFE_CAPTURE) += vpfe_capture.o
> -obj-$(CONFIG_VIDEO_DM6446_CCDC) += dm644x_ccdc.o
> -obj-$(CONFIG_VIDEO_DM355_CCDC) += dm355_ccdc.o
> -obj-$(CONFIG_VIDEO_ISIF) += isif.o
> -obj-$(CONFIG_VIDEO_DAVINCI_VPBE_DISPLAY) += vpbe.o vpbe_osd.o \
> +obj-$(CONFIG_VIDEO_DM6446_CCDC) += vpfe_capture.o vpss.o dm644x_ccdc.o
> +obj-$(CONFIG_VIDEO_DM355_CCDC) += vpfe_capture.o vpss.o dm355_ccdc.o
> +obj-$(CONFIG_VIDEO_DM365_ISIF) += vpfe_capture.o vpss.o isif.o
> +obj-$(CONFIG_VIDEO_DAVINCI_VPBE_DISPLAY) += vpss.o vpbe.o vpbe_osd.o \
>         vpbe_venc.o vpbe_display.o
> --
> 1.7.10.1
>
> _______________________________________________
> Davinci-linux-open-source mailing list
> Davinci-linux-open-source@linux.davincidsp.com
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
  
Sekhar Nori March 12, 2013, 8:16 a.m. UTC | #6
On 3/12/2013 10:44 AM, Prabhakar Lad wrote:
> Hi Sekhar,
> 
> Thanks for the patch! few nits below
> 
> also version number for patch is missing as this should have been v2 :)

Missed that, sorry.

> BTW this patch still is not  present in media list.

Not sure what is happening there. Its an open list as far as I can see
and there is no message I am getting back from list. Most probably vger
thinks I am spamming, but I am not sure why.

>>
>>  config VIDEO_DAVINCI_VPBE_DISPLAY
>>         tristate "DM644X/DM365/DM355 VPBE HW module"
> why not change this to 'TI DaVinci VPBE Video Display' as done for vpif ?

Okay, will do. I would like to remind that I have not tested this patch
(not loaded the modules and connected a video device). If you can get
some testing done on this it will be great.

Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Prabhakar March 16, 2013, 8:36 a.m. UTC | #7
Hi Sekhar,

Thanks for the patch!

On Tue, Mar 12, 2013 at 2:44 PM, Sekhar Nori <nsekhar@ti.com> wrote:
> drivers/media/platform/davinci/Kconfig uses selects where
> it should be using 'depends on'. This results in warnings of
> the following sort when doing randconfig builds.
>
> warning: (VIDEO_DM6446_CCDC && VIDEO_DM355_CCDC && VIDEO_ISIF && VIDEO_DAVINCI_VPBE_DISPLAY) selects VIDEO_VPSS_SYSTEM which has unmet direct dependencies (MEDIA_SUPPORT && V4L_PLATFORM_DRIVERS && ARCH_DAVINCI)
>
> The VPIF kconfigs had a strange 'select' and 'depends on' cross
> linkage which have been fixed as well by removing unneeded
> VIDEO_DAVINCI_VPIF config symbol.
>
> Similarly, remove the unnecessary VIDEO_VPSS_SYSTEM and
> VIDEO_VPFE_CAPTURE. They don't select any independent functionality
> and were being used to manage code dependencies which can
> be handled using makefile.
>
> Selecting video modules is now dependent on all ARCH_DAVINCI
> instead of specific EVMs and SoCs earlier. This should help build
> coverage. Remove unnecessary 'default y' for some config symbols.
>
> While at it, fix the Kconfig help text to make it more readable
> and fix names of modules created during module build.
>
> Rename VIDEO_ISIF to VIDEO_DM365_ISIF as per suggestion from
> Prabhakar.
>
> This patch has only been build tested; I have tried to not break
> any existing assumptions. I do not have the setup to test video,
> so any test reports welcome.
>
The series which I posted yesterday [1] for DM365 VPBE, uses a exported
symbol 'vpss_enable_clock' so If I build vpbe as module it complains
for following,

arch/arm/mach-davinci/built-in.o: In function `dm365_venc_setup_clock':
pm_domain.c:(.text+0x302c): undefined reference to `vpss_enable_clock'
pm_domain.c:(.text+0x3038): undefined reference to `vpss_enable_clock'
pm_domain.c:(.text+0x3060): undefined reference to `vpss_enable_clock'
pm_domain.c:(.text+0x306c): undefined reference to `vpss_enable_clock'

So how would you suggest to handle this VPSS config ?

[1] http://www.mail-archive.com/davinci-linux-open-source@linux.davincidsp.com/msg25443.html

Regards,
--Prabhakar

> Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
> Signed-off-by: Sekhar Nori <nsekhar@ti.com>
> ---
> Since v2, revisited config prompt texts and made them
> more meaningful/consistent.
>
>  drivers/media/platform/davinci/Kconfig  |  103 +++++++++++--------------------
>  drivers/media/platform/davinci/Makefile |   17 ++---
>  2 files changed, 41 insertions(+), 79 deletions(-)
>
> diff --git a/drivers/media/platform/davinci/Kconfig b/drivers/media/platform/davinci/Kconfig
> index ccfde4e..c50d31d 100644
> --- a/drivers/media/platform/davinci/Kconfig
> +++ b/drivers/media/platform/davinci/Kconfig
> @@ -1,79 +1,47 @@
>  config VIDEO_DAVINCI_VPIF_DISPLAY
> -       tristate "DM646x/DA850/OMAPL138 EVM Video Display"
> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
> +       tristate "TI DaVinci VPIF V4L2-Display driver"
> +       depends on VIDEO_DEV && ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
> -       select VIDEO_DAVINCI_VPIF
>         select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT
>         select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT
>         help
>           Enables Davinci VPIF module used for display devices.
> -         This module is common for following DM6467/DA850/OMAPL138
> -         based display devices.
> +         This module is used for display on TI DM6467/DA850/OMAPL138
> +         SoCs.
>
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpif_display.
> +         To compile this driver as a module, choose M here. There will
> +         be two modules called vpif.ko and vpif_display.ko
>
>  config VIDEO_DAVINCI_VPIF_CAPTURE
> -       tristate "DM646x/DA850/OMAPL138 EVM Video Capture"
> -       depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
> +       tristate "TI DaVinci VPIF video capture driver"
> +       depends on VIDEO_DEV && ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
> -       select VIDEO_DAVINCI_VPIF
>         help
> -         Enables Davinci VPIF module used for captur devices.
> -         This module is common for following DM6467/DA850/OMAPL138
> -         based capture devices.
> +         Enables Davinci VPIF module used for capture devices.
> +         This module is used for capture on TI DM6467/DA850/OMAPL138
> +         SoCs.
>
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpif_capture.
> +         To compile this driver as a module, choose M here. There will
> +         be two modules called vpif.ko and vpif_capture.ko
>
> -config VIDEO_DAVINCI_VPIF
> -       tristate "DaVinci VPIF Driver"
> -       depends on VIDEO_DAVINCI_VPIF_DISPLAY || VIDEO_DAVINCI_VPIF_CAPTURE
> -       help
> -         Support for DaVinci VPIF Driver.
> -
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpif.
> -
> -config VIDEO_VPSS_SYSTEM
> -       tristate "VPSS System module driver"
> -       depends on ARCH_DAVINCI
> -       help
> -         Support for vpss system module for video driver
> -
> -config VIDEO_VPFE_CAPTURE
> -       tristate "VPFE Video Capture Driver"
> +config VIDEO_DM6446_CCDC
> +       tristate "TI DM6446 CCDC video capture driver"
>         depends on VIDEO_V4L2 && (ARCH_DAVINCI || ARCH_OMAP3)
> -       depends on I2C
>         select VIDEOBUF_DMA_CONTIG
>         help
> -         Support for DMx/AMx VPFE based frame grabber. This is the
> -         common V4L2 module for following DMx/AMx SoCs from Texas
> -         Instruments:- DM6446, DM365, DM355 & AM3517/05.
> -
> -         To compile this driver as a module, choose M here: the
> -         module will be called vpfe-capture.
> -
> -config VIDEO_DM6446_CCDC
> -       tristate "DM6446 CCDC HW module"
> -       depends on VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> -       default y
> -       help
>            Enables DaVinci CCD hw module. DaVinci CCDC hw interfaces
>            with decoder modules such as TVP5146 over BT656 or
>            sensor module such as MT9T001 over a raw interface. This
>            module configures the interface and CCDC/ISIF to do
>            video frame capture from slave decoders.
>
> -          To compile this driver as a module, choose M here: the
> -          module will be called vpfe.
> +          To compile this driver as a module, choose M here. There will
> +          be three modules called vpfe_capture.ko, vpss.ko and dm644x_ccdc.ko
>
>  config VIDEO_DM355_CCDC
> -       tristate "DM355 CCDC HW module"
> -       depends on ARCH_DAVINCI_DM355 && VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> -       default y
> +       tristate "TI DM355 CCDC video capture driver"
> +       depends on VIDEO_V4L2 && ARCH_DAVINCI
> +       select VIDEOBUF_DMA_CONTIG
>         help
>            Enables DM355 CCD hw module. DM355 CCDC hw interfaces
>            with decoder modules such as TVP5146 over BT656 or
> @@ -81,31 +49,30 @@ config VIDEO_DM355_CCDC
>            module configures the interface and CCDC/ISIF to do
>            video frame capture from a slave decoders
>
> -          To compile this driver as a module, choose M here: the
> -          module will be called vpfe.
> +          To compile this driver as a module, choose M here. There will
> +          be three modules called vpfe_capture.ko, vpss.ko and dm355_ccdc.ko
>
> -config VIDEO_ISIF
> -       tristate "ISIF HW module"
> -       depends on ARCH_DAVINCI_DM365 && VIDEO_VPFE_CAPTURE
> -       select VIDEO_VPSS_SYSTEM
> -       default y
> +config VIDEO_DM365_ISIF
> +       tristate "TI DM365 ISIF video capture driver"
> +       depends on VIDEO_V4L2 && ARCH_DAVINCI
> +       select VIDEOBUF_DMA_CONTIG
>         help
>            Enables ISIF hw module. This is the hardware module for
> -          configuring ISIF in VPFE to capture Raw Bayer RGB data  from
> +          configuring ISIF in VPFE to capture Raw Bayer RGB data from
>            a image sensor or YUV data from a YUV source.
>
> -          To compile this driver as a module, choose M here: the
> -          module will be called vpfe.
> +          To compile this driver as a module, choose M here. There will
> +          be three modules called vpfe_capture.ko, vpss.ko and isif.ko
>
>  config VIDEO_DAVINCI_VPBE_DISPLAY
> -       tristate "DM644X/DM365/DM355 VPBE HW module"
> -       depends on ARCH_DAVINCI_DM644x || ARCH_DAVINCI_DM355 || ARCH_DAVINCI_DM365
> -       select VIDEO_VPSS_SYSTEM
> +       tristate "TI DaVinci VPBE V4L2-Display driver"
> +       depends on ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
>         help
>             Enables Davinci VPBE module used for display devices.
> -           This module is common for following DM644x/DM365/DM355
> +           This module is used for dipslay on TI DM644x/DM365/DM355
>             based display devices.
>
> -           To compile this driver as a module, choose M here: the
> -           module will be called vpbe.
> +           To compile this driver as a module, choose M here. There will
> +           be five modules created called vpss.ko, vpbe.ko, vpbe_osd.ko,
> +           vpbe_venc.ko and vpbe_display.ko
> diff --git a/drivers/media/platform/davinci/Makefile b/drivers/media/platform/davinci/Makefile
> index f40f521..d74d9ee 100644
> --- a/drivers/media/platform/davinci/Makefile
> +++ b/drivers/media/platform/davinci/Makefile
> @@ -2,19 +2,14 @@
>  # Makefile for the davinci video device drivers.
>  #
>
> -# VPIF
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF) += vpif.o
> -
>  #VPIF Display driver
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF_DISPLAY) += vpif_display.o
> +obj-$(CONFIG_VIDEO_DAVINCI_VPIF_DISPLAY) += vpif.o vpif_display.o
>  #VPIF Capture driver
> -obj-$(CONFIG_VIDEO_DAVINCI_VPIF_CAPTURE) += vpif_capture.o
> +obj-$(CONFIG_VIDEO_DAVINCI_VPIF_CAPTURE) += vpif.o vpif_capture.o
>
>  # Capture: DM6446 and DM355
> -obj-$(CONFIG_VIDEO_VPSS_SYSTEM) += vpss.o
> -obj-$(CONFIG_VIDEO_VPFE_CAPTURE) += vpfe_capture.o
> -obj-$(CONFIG_VIDEO_DM6446_CCDC) += dm644x_ccdc.o
> -obj-$(CONFIG_VIDEO_DM355_CCDC) += dm355_ccdc.o
> -obj-$(CONFIG_VIDEO_ISIF) += isif.o
> -obj-$(CONFIG_VIDEO_DAVINCI_VPBE_DISPLAY) += vpbe.o vpbe_osd.o \
> +obj-$(CONFIG_VIDEO_DM6446_CCDC) += vpfe_capture.o vpss.o dm644x_ccdc.o
> +obj-$(CONFIG_VIDEO_DM355_CCDC) += vpfe_capture.o vpss.o dm355_ccdc.o
> +obj-$(CONFIG_VIDEO_DM365_ISIF) += vpfe_capture.o vpss.o isif.o
> +obj-$(CONFIG_VIDEO_DAVINCI_VPBE_DISPLAY) += vpss.o vpbe.o vpbe_osd.o \
>         vpbe_venc.o vpbe_display.o
> --
> 1.7.10.1
>
> _______________________________________________
> Davinci-linux-open-source mailing list
> Davinci-linux-open-source@linux.davincidsp.com
> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Sekhar Nori March 18, 2013, 8:42 a.m. UTC | #8
On 3/16/2013 2:06 PM, Prabhakar Lad wrote:
> Hi Sekhar,
> 
> Thanks for the patch!
> 
> On Tue, Mar 12, 2013 at 2:44 PM, Sekhar Nori <nsekhar@ti.com> wrote:
>> drivers/media/platform/davinci/Kconfig uses selects where
>> it should be using 'depends on'. This results in warnings of
>> the following sort when doing randconfig builds.
>>
>> warning: (VIDEO_DM6446_CCDC && VIDEO_DM355_CCDC && VIDEO_ISIF && VIDEO_DAVINCI_VPBE_DISPLAY) selects VIDEO_VPSS_SYSTEM which has unmet direct dependencies (MEDIA_SUPPORT && V4L_PLATFORM_DRIVERS && ARCH_DAVINCI)
>>
>> The VPIF kconfigs had a strange 'select' and 'depends on' cross
>> linkage which have been fixed as well by removing unneeded
>> VIDEO_DAVINCI_VPIF config symbol.
>>
>> Similarly, remove the unnecessary VIDEO_VPSS_SYSTEM and
>> VIDEO_VPFE_CAPTURE. They don't select any independent functionality
>> and were being used to manage code dependencies which can
>> be handled using makefile.
>>
>> Selecting video modules is now dependent on all ARCH_DAVINCI
>> instead of specific EVMs and SoCs earlier. This should help build
>> coverage. Remove unnecessary 'default y' for some config symbols.
>>
>> While at it, fix the Kconfig help text to make it more readable
>> and fix names of modules created during module build.
>>
>> Rename VIDEO_ISIF to VIDEO_DM365_ISIF as per suggestion from
>> Prabhakar.
>>
>> This patch has only been build tested; I have tried to not break
>> any existing assumptions. I do not have the setup to test video,
>> so any test reports welcome.
>>
> The series which I posted yesterday [1] for DM365 VPBE, uses a exported
> symbol 'vpss_enable_clock' so If I build vpbe as module it complains
> for following,
> 
> arch/arm/mach-davinci/built-in.o: In function `dm365_venc_setup_clock':
> pm_domain.c:(.text+0x302c): undefined reference to `vpss_enable_clock'
> pm_domain.c:(.text+0x3038): undefined reference to `vpss_enable_clock'
> pm_domain.c:(.text+0x3060): undefined reference to `vpss_enable_clock'
> pm_domain.c:(.text+0x306c): undefined reference to `vpss_enable_clock'
> 
> So how would you suggest to handle this VPSS config ?
> 
> [1] http://www.mail-archive.com/davinci-linux-open-source@linux.davincidsp.com/msg25443.html

I replied on the above thread. Lets continue the discussion there since
this error is not really related to this patch.

Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Sekhar Nori March 19, 2013, 10:39 a.m. UTC | #9
On 3/12/2013 1:46 PM, Sekhar Nori wrote:
> On 3/12/2013 10:44 AM, Prabhakar Lad wrote:

>> BTW this patch still is not  present in media list.

> Not sure what is happening there. Its an open list as far as I can see
> and there is no message I am getting back from list. Most probably vger
> thinks I am spamming, but I am not sure why.

I am almost certain now that this was because the 'Return-Path:' header
of my mail was not using the same email id as that in 'From:'. I have
fixed that now and checked with autoanswer@vger.kernel.org so I should
be all set the next time on.

Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Prabhakar April 8, 2013, 8:09 a.m. UTC | #10
Hi Sekhar,

On Tue, Mar 12, 2013 at 2:44 PM, Sekhar Nori <nsekhar@ti.com> wrote:
> drivers/media/platform/davinci/Kconfig uses selects where
> it should be using 'depends on'. This results in warnings of
> the following sort when doing randconfig builds.
>
> warning: (VIDEO_DM6446_CCDC && VIDEO_DM355_CCDC && VIDEO_ISIF && VIDEO_DAVINCI_VPBE_DISPLAY) selects VIDEO_VPSS_SYSTEM which has unmet direct dependencies (MEDIA_SUPPORT && V4L_PLATFORM_DRIVERS && ARCH_DAVINCI)
>
> The VPIF kconfigs had a strange 'select' and 'depends on' cross
> linkage which have been fixed as well by removing unneeded
> VIDEO_DAVINCI_VPIF config symbol.
>
> Similarly, remove the unnecessary VIDEO_VPSS_SYSTEM and
> VIDEO_VPFE_CAPTURE. They don't select any independent functionality
> and were being used to manage code dependencies which can
> be handled using makefile.
>
> Selecting video modules is now dependent on all ARCH_DAVINCI
> instead of specific EVMs and SoCs earlier. This should help build
> coverage. Remove unnecessary 'default y' for some config symbols.
>
> While at it, fix the Kconfig help text to make it more readable
> and fix names of modules created during module build.
>
> Rename VIDEO_ISIF to VIDEO_DM365_ISIF as per suggestion from
> Prabhakar.
>
> This patch has only been build tested; I have tried to not break
> any existing assumptions. I do not have the setup to test video,
> so any test reports welcome.
>
> Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
> Signed-off-by: Sekhar Nori <nsekhar@ti.com>

Acked-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>

> ---
> Since v2, revisited config prompt texts and made them
> more meaningful/consistent.
>
>  drivers/media/platform/davinci/Kconfig  |  103 +++++++++++--------------------
>  drivers/media/platform/davinci/Makefile |   17 ++---
>  2 files changed, 41 insertions(+), 79 deletions(-)

[Snip]

>  config VIDEO_DAVINCI_VPBE_DISPLAY
> -       tristate "DM644X/DM365/DM355 VPBE HW module"
> -       depends on ARCH_DAVINCI_DM644x || ARCH_DAVINCI_DM355 || ARCH_DAVINCI_DM365
> -       select VIDEO_VPSS_SYSTEM
> +       tristate "TI DaVinci VPBE V4L2-Display driver"
> +       depends on ARCH_DAVINCI
>         select VIDEOBUF2_DMA_CONTIG
>         help
>             Enables Davinci VPBE module used for display devices.
> -           This module is common for following DM644x/DM365/DM355
> +           This module is used for dipslay on TI DM644x/DM365/DM355
>             based display devices.
>
s/dipslay/display

Fixed it while queueing

Regards,
--Prabhakar
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Sekhar Nori April 8, 2013, 9:53 a.m. UTC | #11
On 4/8/2013 1:39 PM, Prabhakar Lad wrote:
> Hi Sekhar,

>>  config VIDEO_DAVINCI_VPBE_DISPLAY
>> -       tristate "DM644X/DM365/DM355 VPBE HW module"
>> -       depends on ARCH_DAVINCI_DM644x || ARCH_DAVINCI_DM355 || ARCH_DAVINCI_DM365
>> -       select VIDEO_VPSS_SYSTEM
>> +       tristate "TI DaVinci VPBE V4L2-Display driver"
>> +       depends on ARCH_DAVINCI
>>         select VIDEOBUF2_DMA_CONTIG
>>         help
>>             Enables Davinci VPBE module used for display devices.
>> -           This module is common for following DM644x/DM365/DM355
>> +           This module is used for dipslay on TI DM644x/DM365/DM355
>>             based display devices.
>>
> s/dipslay/display
> 
> Fixed it while queueing

Thanks!

Regards,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Patch

diff --git a/drivers/media/platform/davinci/Kconfig b/drivers/media/platform/davinci/Kconfig
index ccfde4e..42152f9 100644
--- a/drivers/media/platform/davinci/Kconfig
+++ b/drivers/media/platform/davinci/Kconfig
@@ -1,40 +1,29 @@ 
 config VIDEO_DAVINCI_VPIF_DISPLAY
-	tristate "DM646x/DA850/OMAPL138 EVM Video Display"
-	depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
+	tristate "TI DaVinci VPIF Video Display"
+	depends on VIDEO_DEV && ARCH_DAVINCI
 	select VIDEOBUF2_DMA_CONTIG
-	select VIDEO_DAVINCI_VPIF
 	select VIDEO_ADV7343 if MEDIA_SUBDRV_AUTOSELECT
 	select VIDEO_THS7303 if MEDIA_SUBDRV_AUTOSELECT
 	help
 	  Enables Davinci VPIF module used for display devices.
-	  This module is common for following DM6467/DA850/OMAPL138
-	  based display devices.
+	  This module is used for display on TI DM6467/DA850/OMAPL138
+	  SoCs.
 
 	  To compile this driver as a module, choose M here: the
 	  module will be called vpif_display.
 
 config VIDEO_DAVINCI_VPIF_CAPTURE
-	tristate "DM646x/DA850/OMAPL138 EVM Video Capture"
-	depends on VIDEO_DEV && (MACH_DAVINCI_DM6467_EVM || MACH_DAVINCI_DA850_EVM)
+	tristate "TI DaVinci VPIF Video Capture"
+	depends on VIDEO_DEV && ARCH_DAVINCI
 	select VIDEOBUF2_DMA_CONTIG
-	select VIDEO_DAVINCI_VPIF
 	help
-	  Enables Davinci VPIF module used for captur devices.
-	  This module is common for following DM6467/DA850/OMAPL138
-	  based capture devices.
+	  Enables Davinci VPIF module used for capture devices.
+	  This module is used for capture on TI DM6467/DA850/OMAPL138
+	  SoCs.
 
 	  To compile this driver as a module, choose M here: the
 	  module will be called vpif_capture.
 
-config VIDEO_DAVINCI_VPIF
-	tristate "DaVinci VPIF Driver"
-	depends on VIDEO_DAVINCI_VPIF_DISPLAY || VIDEO_DAVINCI_VPIF_CAPTURE
-	help
-	  Support for DaVinci VPIF Driver.
-
-	  To compile this driver as a module, choose M here: the
-	  module will be called vpif.
-
 config VIDEO_VPSS_SYSTEM
 	tristate "VPSS System module driver"
 	depends on ARCH_DAVINCI
@@ -56,8 +45,7 @@  config VIDEO_VPFE_CAPTURE
 
 config VIDEO_DM6446_CCDC
 	tristate "DM6446 CCDC HW module"
-	depends on VIDEO_VPFE_CAPTURE
-	select VIDEO_VPSS_SYSTEM
+	depends on VIDEO_VPFE_CAPTURE && VIDEO_VPSS_SYSTEM
 	default y
 	help
 	   Enables DaVinci CCD hw module. DaVinci CCDC hw interfaces
@@ -71,8 +59,7 @@  config VIDEO_DM6446_CCDC
 
 config VIDEO_DM355_CCDC
 	tristate "DM355 CCDC HW module"
-	depends on ARCH_DAVINCI_DM355 && VIDEO_VPFE_CAPTURE
-	select VIDEO_VPSS_SYSTEM
+	depends on ARCH_DAVINCI_DM355 && VIDEO_VPFE_CAPTURE && VIDEO_VPSS_SYSTEM
 	default y
 	help
 	   Enables DM355 CCD hw module. DM355 CCDC hw interfaces
@@ -86,8 +73,7 @@  config VIDEO_DM355_CCDC
 
 config VIDEO_ISIF
 	tristate "ISIF HW module"
-	depends on ARCH_DAVINCI_DM365 && VIDEO_VPFE_CAPTURE
-	select VIDEO_VPSS_SYSTEM
+	depends on ARCH_DAVINCI_DM365 && VIDEO_VPFE_CAPTURE && VIDEO_VPSS_SYSTEM
 	default y
 	help
 	   Enables ISIF hw module. This is the hardware module for
@@ -99,8 +85,7 @@  config VIDEO_ISIF
 
 config VIDEO_DAVINCI_VPBE_DISPLAY
 	tristate "DM644X/DM365/DM355 VPBE HW module"
-	depends on ARCH_DAVINCI_DM644x || ARCH_DAVINCI_DM355 || ARCH_DAVINCI_DM365
-	select VIDEO_VPSS_SYSTEM
+	depends on (ARCH_DAVINCI_DM644x || ARCH_DAVINCI_DM355 || ARCH_DAVINCI_DM365) && VIDEO_VPSS_SYSTEM
 	select VIDEOBUF2_DMA_CONTIG
 	help
 	    Enables Davinci VPBE module used for display devices.
diff --git a/drivers/media/platform/davinci/Makefile b/drivers/media/platform/davinci/Makefile
index f40f521..4d91cb9 100644
--- a/drivers/media/platform/davinci/Makefile
+++ b/drivers/media/platform/davinci/Makefile
@@ -2,13 +2,10 @@ 
 # Makefile for the davinci video device drivers.
 #
 
-# VPIF
-obj-$(CONFIG_VIDEO_DAVINCI_VPIF) += vpif.o
-
 #VPIF Display driver
-obj-$(CONFIG_VIDEO_DAVINCI_VPIF_DISPLAY) += vpif_display.o
+obj-$(CONFIG_VIDEO_DAVINCI_VPIF_DISPLAY) += vpif.o vpif_display.o
 #VPIF Capture driver
-obj-$(CONFIG_VIDEO_DAVINCI_VPIF_CAPTURE) += vpif_capture.o
+obj-$(CONFIG_VIDEO_DAVINCI_VPIF_CAPTURE) += vpif.o vpif_capture.o
 
 # Capture: DM6446 and DM355
 obj-$(CONFIG_VIDEO_VPSS_SYSTEM) += vpss.o