Re: RFC: V4L2 driver for Qualcomm MSM camera.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Tuesday 04 January 2011 20:37:31 Yan, Yupeng wrote:
> We will exploring the usage of libv4l2...however we still have the
> difficulties to open-source hardware: our ISP and sensors, will need help
> on how to address such issues.

I suppose you mean open-sourcing hardware driver. There's no requirement to 
open-source the hardware at this point, although I would love to see that 
happening :-)

Let's start with sensors, it's the easiest. Sensor drivers must not depend on 
the ISP driver, and the ISP driver must not depend on sensor drivers. They 
communicate together through the media controller and the V4L2 subdev APIs.

You will obviously need to test your ISP driver with at least one sensor, but 
you're not required to submit the sensor driver along with the ISP driver 
(although it would be nice if you did so).

Correct me if I'm wrong, but I don't think Qualcomm produces video sensors, so 
no Qualcomm confidential information would be disclosed in a sensor driver. If 
the sensor manufacturer hasn't released a sensor driver, or sensor 
specifications covered by a license that allows a GPL driver to be written, 
you will need to sort it out with the manufacturer. Note that public 
documentation is not strictly required to release an open-source driver (see 
the SMIA++ driver written by Nokia for instance), but that would be 
appreciated.

For the ISP the problem is not that complex either. From what I understand 
Qualcomm is scared that publishing an open-source driver will backfire. I can 
see several reasons (I should probably say myths instead of reasons) for that 
fear:

- "Competitors will steal my code". They can't. The code is highly hardware 
specific and doesn't contain much added value. It can't be reused as such. 
Even if code could be reused, it couldn't be "stolen" as it will be covered by 
the GPLv2.

- "Competitors will get key information about my hardware". You need to ask 
yourself what you consider as key information. The fact that the output width 
is stored in register 0x12345678 is hardly key information (if it is, there's 
a more basic issue). The way statistics are computed might be. Based on my 
experience with ISPs key information isn't disclosed by the driver. The 
hardware algorithms (such as color conversion, faulty pixels correction, 
statistics gathering, ...) implementation are usually not disclosed by the 
code.

- "Competitors will sue me for patent infringement". This goes along with the 
previous point. Patented ISP features are usually the ones you consider as key 
information, and details are thus not disclosed by the driver. Note that I 
don't care here about trivial patents with broad claims such as "a system to 
capture an image to memory". Even without any open-source driver infringement 
can still easily be proven (and the patent can easily be invalidated, although 
that costs money - Qualcomm should join the Open Invention Network :-)).

None of those reasons are valid compared to the benefits you get from an open-
source Linux driver.

-- 
Regards,

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


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux