diff options
author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2016-10-13 17:25:40 -0700 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2016-10-13 17:25:40 -0700 |
commit | 4a7126a25b4dfd07d61c699f724118275acc0c25 (patch) | |
tree | c78b82bfaa96f330d412ad63e355906f963c3faf /Documentation/media/kapi/v4l2-clocks.rst | |
parent | 930e19248e9b61da36c967687ca79c4d5f977919 (diff) | |
parent | c8d2bc9bc39ebea8437fd974fdbc21847bb897a3 (diff) | |
download | linux-4a7126a25b4dfd07d61c699f724118275acc0c25.tar.gz linux-4a7126a25b4dfd07d61c699f724118275acc0c25.tar.bz2 linux-4a7126a25b4dfd07d61c699f724118275acc0c25.zip |
Merge tag 'v4.8' into next
Sync up with mainline to bring in I2C host notify changes and other
updates.
Diffstat (limited to 'Documentation/media/kapi/v4l2-clocks.rst')
-rw-r--r-- | Documentation/media/kapi/v4l2-clocks.rst | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Documentation/media/kapi/v4l2-clocks.rst b/Documentation/media/kapi/v4l2-clocks.rst new file mode 100644 index 000000000000..b8a895860a8a --- /dev/null +++ b/Documentation/media/kapi/v4l2-clocks.rst @@ -0,0 +1,29 @@ +V4L2 clocks +----------- + +.. attention:: + + This is a temporary API and it shall be replaced by the generic + clock API, when the latter becomes widely available. + +Many subdevices, like camera sensors, TV decoders and encoders, need a clock +signal to be supplied by the system. Often this clock is supplied by the +respective bridge device. The Linux kernel provides a Common Clock Framework for +this purpose. However, it is not (yet) available on all architectures. Besides, +the nature of the multi-functional (clock, data + synchronisation, I2C control) +connection of subdevices to the system might impose special requirements on the +clock API usage. E.g. V4L2 has to support clock provider driver unregistration +while a subdevice driver is holding a reference to the clock. For these reasons +a V4L2 clock helper API has been developed and is provided to bridge and +subdevice drivers. + +The API consists of two parts: two functions to register and unregister a V4L2 +clock source: v4l2_clk_register() and v4l2_clk_unregister() and calls to control +a clock object, similar to the respective generic clock API calls: +v4l2_clk_get(), v4l2_clk_put(), v4l2_clk_enable(), v4l2_clk_disable(), +v4l2_clk_get_rate(), and v4l2_clk_set_rate(). Clock suppliers have to provide +clock operations that will be called when clock users invoke respective API +methods. + +It is expected that once the CCF becomes available on all relevant +architectures this API will be removed. |