Re: [PATCH v2 0/7] [PATCH v2 0/7] Add support of OV9655 camera

From: H. Nikolaus Schaller
Date: Tue Jul 18 2017 - 08:18:36 EST


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