Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c83e61e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull media updates from Mauro Carvalho Chehab:
 "The main set of series of patches for media subsystem, including:
   - document RC sysfs class
   - added an API to setup scancode to allow waking up systems using the
     Remote Controller
   - add API for SDR devices.  Drivers are still on staging
   - some API improvements for getting EDID data from media
     inputs/outputs
   - new DVB frontend driver for drx-j (ATSC)
   - one driver (it913x/it9137) got removed, in favor of an improvement
     on another driver (af9035)
   - added a skeleton V4L2 PCI driver at documentation
   - added a dual flash driver (lm3646)
   - added a new IR driver (img-ir)
   - added an IR scancode decoder for the Sharp protocol
   - some improvements at the usbtv driver, to allow its core to be
     reused.
   - added a new SDR driver (rtl2832u_sdr)
   - added a new tuner driver (msi001)
   - several improvements at em28xx driver to fix PM support, device
     removal and to split the V4L2 specific bits into a separate
     sub-driver
   - one driver got converted to videobuf2 (s2255drv)
   - the e4000 tuner driver now follows an improved binding model
   - some fixes at V4L2 compat32 code
   - several fixes and enhancements at videobuf2 code
   - some cleanups at V4L2 API documentation
   - usual driver enhancements, new board additions and misc fixups"

[ NOTE! This merge effective drops commit 4329b93b ("of: Reduce
  indentation in of_graph_get_next_endpoint").

  The of_graph_get_next_endpoint() function was moved and renamed by
  commit fd9fdb78 ("[media] of: move graph helpers from
  drivers/media/v4l2-core to drivers/of").  It was originally called
  v4l2_of_get_next_endpoint() and lived in the file
  drivers/media/v4l2-core/v4l2-of.c.

  In that original location, it was then fixed to support empty port
  nodes by commit b9db140c ("[media] v4l: of: Support empty port
  nodes"), and that commit clashes badly with the dropped "Reduce
  intendation" commit.  I had to choose one or the other, and decided
  that the "Support empty port nodes" commit was more important ]

* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (426 commits)
  [media] em28xx-dvb: fix PCTV 461e tuner I2C binding
  Revert "[media] em28xx-dvb: fix PCTV 461e tuner I2C binding"
  [media] em28xx: fix PCTV 290e LNA oops
  [media] em28xx-dvb: fix PCTV 461e tuner I2C binding
  [media] m88ds3103: fix bug on .set_tone()
  [media] saa7134: fix WARN_ON during resume
  [media] v4l2-dv-timings: add module name, description, license
  [media] videodev2.h: add parenthesis around macro arguments
  [media] saa6752hs: depends on CRC32
  [media] si4713: fix Kconfig dependencies
  [media] Sensoray 2255 uses videobuf2
  [media] adv7180: free an interrupt on failure paths in init_device()
  [media] e4000: make VIDEO_V4L2 dependency optional
  [media] af9033: Don't export functions for the hardware filter
  [media] af9035: use af9033 PID filters
  [media] af9033: implement PID filter
  [media] rtl2832_sdr: do not use dynamic stack allocation
  [media] e4000: fix 32-bit build error
  [media] em28xx-audio: make sure audio is unmuted on open()
  [media] DocBook media: v4l2_format_sdr was renamed to v4l2_sdr_format
  ...
parents 4a4389ab a83b93a7
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -630,6 +630,13 @@ N: Michael Elizabeth Chastain
E: mec@shout.net
D: Configure, Menuconfig, xconfig

N: Mauro Carvalho Chehab
E: m.chehab@samsung.org
E: mchehab@infradead.org
D: Media subsystem (V4L/DVB) drivers and core
D: EDAC drivers and EDAC 3.0 core rework
S: Brazil

N: Raymond Chen
E: raymondc@microsoft.com
D: Author of Configure script
+111 −0
Original line number Diff line number Diff line
What:		/sys/class/rc/
Date:		Apr 2010
KernelVersion:	2.6.35
Contact:	Mauro Carvalho Chehab <m.chehab@samsung.com>
Description:
		The rc/ class sub-directory belongs to the Remote Controller
		core and provides a sysfs interface for configuring infrared
		remote controller receivers.

What:		/sys/class/rc/rcN/
Date:		Apr 2010
KernelVersion:	2.6.35
Contact:	Mauro Carvalho Chehab <m.chehab@samsung.com>
Description:
		A /sys/class/rc/rcN directory is created for each remote
		control receiver device where N is the number of the receiver.

What:		/sys/class/rc/rcN/protocols
Date:		Jun 2010
KernelVersion:	2.6.36
Contact:	Mauro Carvalho Chehab <m.chehab@samsung.com>
Description:
		Reading this file returns a list of available protocols,
		something like:
		    "rc5 [rc6] nec jvc [sony]"
		Enabled protocols are shown in [] brackets.
		Writing "+proto" will add a protocol to the list of enabled
		protocols.
		Writing "-proto" will remove a protocol from the list of enabled
		protocols.
		Writing "proto" will enable only "proto".
		Writing "none" will disable all protocols.
		Write fails with EINVAL if an invalid protocol combination or
		unknown protocol name is used.

What:		/sys/class/rc/rcN/filter
Date:		Jan 2014
KernelVersion:	3.15
Contact:	Mauro Carvalho Chehab <m.chehab@samsung.com>
Description:
		Sets the scancode filter expected value.
		Use in combination with /sys/class/rc/rcN/filter_mask to set the
		expected value of the bits set in the filter mask.
		If the hardware supports it then scancodes which do not match
		the filter will be ignored. Otherwise the write will fail with
		an error.
		This value may be reset to 0 if the current protocol is altered.

What:		/sys/class/rc/rcN/filter_mask
Date:		Jan 2014
KernelVersion:	3.15
Contact:	Mauro Carvalho Chehab <m.chehab@samsung.com>
Description:
		Sets the scancode filter mask of bits to compare.
		Use in combination with /sys/class/rc/rcN/filter to set the bits
		of the scancode which should be compared against the expected
		value. A value of 0 disables the filter to allow all valid
		scancodes to be processed.
		If the hardware supports it then scancodes which do not match
		the filter will be ignored. Otherwise the write will fail with
		an error.
		This value may be reset to 0 if the current protocol is altered.

What:		/sys/class/rc/rcN/wakeup_protocols
Date:		Feb 2014
KernelVersion:	3.15
Contact:	Mauro Carvalho Chehab <m.chehab@samsung.com>
Description:
		Reading this file returns a list of available protocols to use
		for the wakeup filter, something like:
		    "rc5 rc6 nec jvc [sony]"
		The enabled wakeup protocol is shown in [] brackets.
		Writing "+proto" will add a protocol to the list of enabled
		wakeup protocols.
		Writing "-proto" will remove a protocol from the list of enabled
		wakeup protocols.
		Writing "proto" will use "proto" for wakeup events.
		Writing "none" will disable wakeup.
		Write fails with EINVAL if an invalid protocol combination or
		unknown protocol name is used, or if wakeup is not supported by
		the hardware.

What:		/sys/class/rc/rcN/wakeup_filter
Date:		Jan 2014
KernelVersion:	3.15
Contact:	Mauro Carvalho Chehab <m.chehab@samsung.com>
Description:
		Sets the scancode wakeup filter expected value.
		Use in combination with /sys/class/rc/rcN/wakeup_filter_mask to
		set the expected value of the bits set in the wakeup filter mask
		to trigger a system wake event.
		If the hardware supports it and wakeup_filter_mask is not 0 then
		scancodes which match the filter will wake the system from e.g.
		suspend to RAM or power off.
		Otherwise the write will fail with an error.
		This value may be reset to 0 if the wakeup protocol is altered.

What:		/sys/class/rc/rcN/wakeup_filter_mask
Date:		Jan 2014
KernelVersion:	3.15
Contact:	Mauro Carvalho Chehab <m.chehab@samsung.com>
Description:
		Sets the scancode wakeup filter mask of bits to compare.
		Use in combination with /sys/class/rc/rcN/wakeup_filter to set
		the bits of the scancode which should be compared against the
		expected value to trigger a system wake event.
		If the hardware supports it and wakeup_filter_mask is not 0 then
		scancodes which match the filter will wake the system from e.g.
		suspend to RAM or power off.
		Otherwise the write will fail with an error.
		This value may be reset to 0 if the wakeup protocol is altered.
+19 −4
Original line number Diff line number Diff line
@@ -1042,7 +1042,14 @@ role="subsection"><title>DMX_ADD_PID</title>
</para>
<informaltable><tgroup cols="1"><tbody><row><entry
 align="char">
<para>This ioctl is undocumented. Documentation is welcome.</para>
<para>This ioctl call allows to add multiple PIDs to a transport stream filter
previously set up with DMX_SET_PES_FILTER and output equal to DMX_OUT_TSDEMUX_TAP.
</para></entry></row><row><entry align="char"><para>
It is used by readers of /dev/dvb/adapterX/demuxY.
</para></entry></row><row><entry align="char"><para>
It may be called at any time, i.e. before or after the first filter on the
shared file descriptor was started. It makes it possible to record multiple
services without the need to de-multiplex or re-multiplex TS packets.</para>
</entry>
 </row></tbody></tgroup></informaltable>
<para>SYNOPSIS
@@ -1075,7 +1082,7 @@ role="subsection"><title>DMX_ADD_PID</title>
</para>
</entry><entry
 align="char">
<para>Undocumented.</para>
<para>PID number to be filtered.</para>
</entry>
 </row></tbody></tgroup></informaltable>
&return-value-dvb;
@@ -1087,7 +1094,15 @@ role="subsection"><title>DMX_REMOVE_PID</title>
</para>
<informaltable><tgroup cols="1"><tbody><row><entry
 align="char">
<para>This ioctl is undocumented. Documentation is welcome.</para>
<para>This ioctl call allows to remove a PID when multiple PIDs are set on a
transport stream filter, e. g. a filter previously set up with output equal to
DMX_OUT_TSDEMUX_TAP, created via either DMX_SET_PES_FILTER or DMX_ADD_PID.
</para></entry></row><row><entry align="char"><para>
It is used by readers of /dev/dvb/adapterX/demuxY.
</para></entry></row><row><entry align="char"><para>
It may be called at any time, i.e. before or after the first filter on the
shared file descriptor was started. It makes it possible to record multiple
services without the need to de-multiplex or re-multiplex TS packets.</para>
</entry>
 </row></tbody></tgroup></informaltable>
<para>SYNOPSIS
@@ -1120,7 +1135,7 @@ role="subsection"><title>DMX_REMOVE_PID</title>
</para>
</entry><entry
 align="char">
<para>Undocumented.</para>
<para>PID of the PES filter to be removed.</para>
</entry>
 </row></tbody></tgroup></informaltable>
&return-value-dvb;
+2 −2
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@
<firstname>Mauro</firstname>
<othername role="mi">Carvalho</othername>
<surname>Chehab</surname>
<affiliation><address><email>mchehab@redhat.com</email></address></affiliation>
<affiliation><address><email>m.chehab@samsung.com</email></address></affiliation>
<contrib>Ported document to Docbook XML.</contrib>
</author>
</authorgroup>
@@ -28,7 +28,7 @@
	<holder>Convergence GmbH</holder>
</copyright>
<copyright>
	<year>2009-2012</year>
	<year>2009-2014</year>
	<holder>Mauro Carvalho Chehab</holder>
</copyright>

+4 −4
Original line number Diff line number Diff line
@@ -744,7 +744,7 @@ typedef enum fe_hierarchy {
</para>
<informaltable><tgroup cols="1"><tbody><row><entry
 align="char">
<para>int ioctl(int fd, int request = <link linkend="FE_READ_SNR">FE_READ_SNR</link>, int16_t
<para>int ioctl(int fd, int request = <link linkend="FE_READ_SNR">FE_READ_SNR</link>, uint16_t
 &#x22C6;snr);</para>
</entry>
 </row></tbody></tgroup></informaltable>
@@ -766,7 +766,7 @@ typedef enum fe_hierarchy {
</entry>
 </row><row><entry
 align="char">
<para>int16_t *snr</para>
<para>uint16_t *snr</para>
</entry><entry
 align="char">
<para>The signal-to-noise ratio is stored into *snr.</para>
@@ -791,7 +791,7 @@ typedef enum fe_hierarchy {
<informaltable><tgroup cols="1"><tbody><row><entry
 align="char">
<para>int ioctl( int fd, int request =
 <link linkend="FE_READ_SIGNAL_STRENGTH">FE_READ_SIGNAL_STRENGTH</link>, int16_t &#x22C6;strength);</para>
 <link linkend="FE_READ_SIGNAL_STRENGTH">FE_READ_SIGNAL_STRENGTH</link>, uint16_t &#x22C6;strength);</para>
</entry>
 </row></tbody></tgroup></informaltable>

@@ -814,7 +814,7 @@ typedef enum fe_hierarchy {
</entry>
 </row><row><entry
 align="char">
<para>int16_t *strength</para>
<para>uint16_t *strength</para>
</entry><entry
 align="char">
<para>The signal strength value is stored into *strength.</para>
Loading