Re: [PATCH v2 0/7] [PATCH v2 0/7] Add support of OV9655 camera
From: Hugues FRUCHET
Date: Tue Jul 18 2017 - 08:53:55 EST
On 07/18/2017 02:17 PM, H. Nikolaus Schaller wrote:
> Hi,
>
>> Am 18.07.2017 um 13:59 schrieb Hans Verkuil <hverkuil@xxxxxxxxx>:
>>
>> On 12/07/17 22:01, Sylwester Nawrocki wrote:
>>> Hi Hugues,
>>>
>>> On 07/03/2017 11:16 AM, Hugues Fruchet wrote:
>>>> This patchset enables OV9655 camera support.
>>>>
>>>> OV9655 support has been tested using STM32F4DIS-CAM extension board
>>>> plugged on connector P1 of STM32F746G-DISCO board.
>>>> Due to lack of OV9650/52 hardware support, the modified related code
>>>> could not have been checked for non-regression.
>>>>
>>>> First patches upgrade current support of OV9650/52 to prepare then
>>>> introduction of OV9655 variant patch.
>>>> Because of OV9655 register set slightly different from OV9650/9652,
>>>> not all of the driver features are supported (controls). Supported
>>>> resolutions are limited to VGA, QVGA, QQVGA.
>>>> Supported format is limited to RGB565.
>>>> Controls are limited to color bar test pattern for test purpose.
>>>
>>> I appreciate your efforts towards making a common driver but IMO it would be
>>> better to create a separate driver for the OV9655 sensor. The original driver
>>> is 1576 lines of code, your patch set adds half of that (816). There are
>>> significant differences in the feature set of both sensors, there are
>>> differences in the register layout. I would go for a separate driver, we
>>> would then have code easier to follow and wouldn't need to worry about possible
>>> regressions. I'm afraid I have lost the camera module and won't be able
>>> to test the patch set against regressions.
>>>
>>> IMHO from maintenance POV it's better to make a separate driver. In the end
>>> of the day we wouldn't be adding much more code than it is being done now.
>>
>> I agree. We do not have great experiences in the past with trying to support
>> multiple variants in a single driver (unless the diffs are truly small).
>
> Well,
> IMHO the diffs in ov965x are smaller (but untestable because nobody seems
> to have an ov9650/52 board) than within the bq27xxx chips, but I can dig out
> an old pdata based separate ov9655 driver and extend that to become DT compatible.
>
> I had abandoned that separate approach in favour of extending the ov965x driver.
>
> Have to discuss with Hugues how to proceed.
>
> BR and thanks,
> Nikolaus
>
As Sylwester and Hans, I'm also in flavour of a separate driver, the
fact that register set seems similar but in fact is not and that we
cannot test for non-regression of 9650/52 are killer for me to continue
on a single driver.
We can now restart from a new fresh state of the art sensor driver
getting rid of legacy (pdata, old gpio, etc...).
BR,
Hugues.