Hi Hans,
On Thursday 11 October 2012 13:36:45 Hans Verkuil wrote:
On Thu 11 October 2012 13:34:07 Alan Cox wrote:
The whole purpose of this API is to let DRM and V4L drivers share buffers for zero-copy pipelines. Unfortunately it is a fact that several popular DRM drivers are closed source. So we have a choice between keeping the export symbols GPL and forcing those closed-source drivers to make their own incompatible API, thus defeating the whole point of DMABUF, or using EXPORT_SYMBOL and letting the closed source vendors worry about the legality. They are already using such functions (at least nvidia is), so they clearly accept that risk.
Then they can accept the risk of ignoring EXPORT_SYMBOL_GPL and calling into it anyway can't they. Your argument makes no rational sense of any kind.
Out of curiosity: why do we have both an EXPORT_SYMBOL and an EXPORT_SYMBOL_GPL if there is no legal difference?
And if there is a difference between the two, then what is it?
As far as I understand, EXPORT_SYMBOL_GPL means "I consider closed-source kernel modules as a GPL violation, you can have a different opinion, but then don't use my APIs".