[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <35b6ec33-f3d7-54ec-e9a0-3748ee9eb343@ti.com>
Date: Mon, 22 Jul 2019 14:10:18 +0530
From: Sekhar Nori <nsekhar@...com>
To: Arnd Bergmann <arnd@...db.de>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>
CC: Lad Prabhakar <prabhakar.csengg@...il.com>,
Bartosz Golaszewski <bgolaszewski@...libre.com>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Mukesh Ojha <mojha@...eaurora.org>,
Hans Verkuil <hverkuil-cisco@...all.nl>,
Ioannis Valasakis <code@...ofe.uk>,
Arushi Singhal <arushisinghal19971997@...il.com>,
<linux-media@...r.kernel.org>, <devel@...verdev.osuosl.org>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] staging: media/davinci_vpfe: fix pinmux setup compilation
Hi Arnd,
On 22/07/19 1:42 PM, Arnd Bergmann wrote:
> The dm365_isif staging driver uses an odd method for configuring its
> pin muxing by calling directly into low-level davinci platform specific
> code, even when being compile-tested for other platforms.
>
> As we want davinci to be part of a multi-platform kernel, this will
> cause a build failure when those headers are no longer exported even
> for davinci:
>
> drivers/staging/media/davinci_vpfe/dm365_isif.c: In function 'vpfe_isif_init':
> drivers/staging/media/davinci_vpfe/dm365_isif.c:2031:2: error: implicit declaration of function 'davinci_cfg_reg'; did you mean 'omap_cfg_reg'? [-Werror=implicit-function-declaration]
> davinci_cfg_reg(DM365_VIN_CAM_WEN);
> ^~~~~~~~~~~~~~~
> omap_cfg_reg
> drivers/staging/media/davinci_vpfe/dm365_isif.c:2031:18: error: 'DM365_VIN_CAM_WEN' undeclared (first use in this function); did you mean 'DM365_ISIF_MAX_CLDC'?
> davinci_cfg_reg(DM365_VIN_CAM_WEN);
> ^~~~~~~~~~~~~~~~~
>
> Digging further, it seems that the platform data structures defined
> in drivers/staging/media/davinci_vpfe/vpfe.h are an incompatible
> version of the same structures in include/media/davinci/vpfe_capture.h,
> which is the version that is used by the platform code, so the
> combination that exists in the mainline kernel cannot be used.
>
> The platform code already has an abstraction for the pinmux,
> in the form of the dm365_isif_setup_pinmux() helper. If we want
> to ever get to use the staging driver again, this needs to be
> read from the platform data passed to this driver, or rewritten
> to use the pinmux framework.
>
> For the moment, pretend we pass the helper function in the
> staging platform driver to get it to build cleanly. I could
> not figure out how the staging driver relates to the code
> in drivers/media/platform/davinci/, some clarification on that
> would be helpful to decide what the long-term plan on this
> should be to either remove the staging driver as obsolete or
> integrate it with the rest in a way that actually works.
>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
I looked at the history of updates on this driver over last 4 years.
None of them are towards fixing some issue found with the driver during
actual usage or for improving its design to move it out of staging.
I think no one is really using it or working on moving it out of
staging. Perhaps the right thing to do would be to delete it.
Thanks,
Sekhar
Powered by blists - more mailing lists