The struct that contains an union of DVB parameters is
called dvb_frontend_parameters (and not FrontendParameters).
Fix it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
In the past, the documentation used to say that, if a CRC error
was found, a "-ECRC" error would be returned. That's not true:
the DVB core will just silently ignore such errors.
So, add an explicit note about that.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The usage of the term "DVB" at the dvb API docs is confusing,
as, right now, it can refer to either the European digital TV
standard or to the subsystem.
So, prefer calling it as "Digital TV" on most places, to avoid
ambiguity.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The device node name for CA is wrong since ever. I suspect
that the name there was before DVBv3 (with was the first API
introduced at the Kernel).
Anyway, use the right name there.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There are several issues on the return value for ioctls:
- Text is confusing;
- Some error codes don't exist;
- The non-generic error codes should come before the text
that points to the generic error codes;
- Tables don't contain column size hints;
- Some references are not marked as such.
Correct them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This error can be produced at least at the DVB subsystem.
As it is generic enough, document it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Instead of having one chapter per file, place all of them at
the same chapter. That better organize the chapters at the uAPI
documentation.
As a side effect, now all uAPI headers are at the same page,
at the html output, with makes easier to use it as a reference
index for the spec.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This ioctl is not implemented at dst_ca driver. There's just
a boilerplate code there. Remove it, as it is unlikely that
anyone would implement it those days.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Right now, the same undocumented structs are on two places:
at ca_data_types.rst and together with their ioctls.
Move them to just one place and use the standard way to
represent them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
While we don't have any documentation for it, based on what's
there at Kaffeine and VDR, it seems that this command should
be issued before start using CA. So, document it as such.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Right now, on several places, the driver is returning a
"-1" error to userspace, instead of a proper error code.
Fix it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
For most of the stuff there, documenting is easy, as the
header file contains information.
Yet, I was unable to document two data structs:
ca_msg and ca_descr
As those two structs are used by a few drivers, keep them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This ioctl seems to be some attempt to support a feature
at the bt8xx dst_ca driver. Yet, as said there, it
"needs more work". Right now, the code there is just
a boilerplate.
At the end of the day, no driver uses this ioctl, nor it is
documented anywhere (except for "needs more work").
So, get rid of it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Due to a mistake, the DVB net chapter was actually broken
into two different chapters. Fix it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The demux documentation is pretty poor nowadays: most of the
structs and enums aren't documented at all.
Add proper kernel-doc markups for them and use it.
Now, the demux API data structures are fully documented :-)
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This seems to be a pure fictional API :-)
It only exists at the DVB book, with no code implemeting it.
So, just get rid of it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There's no driver currently using it; it is also not
documented about what it would be supposed to do.
So, get rid of it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There's a flag defined for Digital TV demux that is not used
anywhere, called DMX_KERNEL_CLIENT. Get rid of it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Several frontend properties are specific to a subset of the
delivery systems. Make it clearer when describing each
property.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Now that frontend.h contains most documentation for the frontend,
remove the duplicated information from Documentation/ and use the
kernel-doc auto-generated one instead.
That should simplify maintainership of DVB frontend uAPI, as most
of the documentation will stick with the header file.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Most of the stuff at the Digital TV frontend header file
are documented only at the Documentation. However, a few
kernel-doc markups are there, several of them with parsing
issues.
Add the missing documentation, copying definitions from the
Documentation when it applies, fixing some bugs.
Please notice that DVBv3 stuff that were deprecated weren't
commented by purpose. Instead, they were clearly tagged as
such.
This patch prepares to move part of the documentation from
Documentation/ to kernel-doc comments.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
struct dtv_cmds_h is just an ancillary struct used by the
dvb_frontend.c to internally store frontend commands.
It doesn't belong to the userspace header, nor it is used anywhere,
except inside the DVB core. So, remove it from the header.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Both CA and decoders are optional. Also, the presence or
absence has nothing to do on being a PCI card or not.
Nowadays, most hardware leaves the decoders to either the
GPU or to some ISP inside the SoC, instead of implementing
it inside the Digital TV part of the device.
So, change the wording to reflect the hardware changes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The references there are only for DVB. Add missing references for
ATSC and ISDB standards.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
On several places at the introduction, a digital TV board and its
kernel support is called as DVB. The reason is simple: by the
time the document was written, there were no other digital TV
standards :-)
Modernize the specs by referring to them as Digital TV.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Using typedefs inside the Kernel is against CodingStyle, and
there's no good usage here.
Just like we did at frontend.h, at commit 0df289a209
("[media] dvb: Get rid of typedev usage for enums"), let's keep
those typedefs only to provide userspace backward compatibility.
No functional changes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Using typedefs inside the Kernel is against CodingStyle, and
there's no good usage here.
Just like we did at frontend.h, at commit 0df289a209 ("[media] dvb:
Get rid of typedev usage for enums"), let's keep those typedefs only
to provide userspace backward compatibility.
No functional changes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Move the calculation to where it is needed, so the result doesn't
need to be stored in the device struct.
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Prefer using accessor functions so we are not dependent on the ktime_t
type.
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Prefer using accessor functions so we are not dependent on the ktime_t
type.
Signed-off-by: Jasmin Jessich <jasmin@anw.at>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
When devm_clk_get() fails we should return the real error code
instead of always returning -ENODEV.
This allows defer probe to happen in the case the clock provider has
not been enabled by the time max2175 driver gets probed.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Add two new model numbers to suppress this message in kernel log:
cx23885: cx23885[0]: warning: unknown hauppauge model #121029
Add these model numbers:
* Model 121019 - WinTV-HVR4400
* Model 121029 - WinTV-HVR5500
For WinTV-HVR4400 the documentation and my hardware differ:
Documentation says it supports DVB-S/S2 and DVB-T,
but my hardware also supports DVB-C.
Signed-off-by: Matthias Schwarzott <zzam@gentoo.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The I2C core always reports a MODALIAS of the form i2c:<foo> even if the
device was registered via OF, and the driver is only exporting the OF ID
table entries as module aliases.
So if the driver is built as module, autoload won't work since udev/kmod
won't be able to match the registered OF device with its driver module.
Before this patch:
$ modinfo drivers/media/i2c/adv748x/adv748x.ko | grep alias
alias: of:N*T*Cadi,adv7482C*
alias: of:N*T*Cadi,adv7482
alias: of:N*T*Cadi,adv7481C*
alias: of:N*T*Cadi,adv7481
After this patch:
modinfo drivers/media/i2c/adv748x/adv748x.ko | grep alias
alias: of:N*T*Cadi,adv7482C*
alias: of:N*T*Cadi,adv7482
alias: of:N*T*Cadi,adv7481C*
alias: of:N*T*Cadi,adv7481
alias: i2c:adv7482
alias: i2c:adv7481
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
I ran into a rare build error during randconfig testing:
drivers/staging/media/imx/imx-media-capture.o: In function `capture_stop_streaming':
imx-media-capture.c:(.text+0x224): undefined reference to `vb2_buffer_done'
drivers/staging/media/imx/imx-media-capture.o: In function `imx_media_capture_device_register':
imx-media-capture.c:(.text+0xe60): undefined reference to `vb2_queue_init'
imx-media-capture.c:(.text+0xfa0): undefined reference to `vb2_dma_contig_memops'
While VIDEOBUF2_DMA_CONTIG was already selected by the camera driver,
it wasn't necessarily there with just the base driver enabled.
This moves the 'select' statement to the top-level option to make
sure it's always available.
Fixes: 64b5a49df4 ("[media] media: imx: Add Capture Device Interface")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Steve Longerbeam <steve_longerbeam@mentor.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
dvb_usb_device_description structures are only used during a copy
operation. Therefore, declare them as const.
Signed-off-by: Bhumika Goyal <bhumirks@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
If the PLP given is NO_STREAM_ID_FILTER (~0u) don't try to set that into the PLP register. Set PLP to 0 instead.
Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
If the PLP given is NO_STREAM_ID_FILTER (~0u) don't try to set that into the PLP register. Set PLP to 0 instead.
Signed-off-by: Olli Salonen <olli.salonen@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
GIT_AUTHOR_NAME=Colin King
GIT_AUTHOR_EMAIL=colin.king@canonical.com
In a previous commit, we added FE_NONE as an unknown fe_status.
Initialize variable s to FE_NONE instead of the more opaque value 0.
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Shuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Recently added FE_NONE to the enum fe_status, so update the
documentation accordingly.
[mchehab@s-opensource.com: change description to actually
reflect what FE_NONE means: no lock of any kind]
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The fe_status variable s is not initialized meaning it can have any
random garbage status. This could be problematic if fe->ops.tune is
false as s is not updated by the call to fe->ops.tune() and a
subsequent check on the change status will using a garbage value.
Fix this by adding FE_NONE to the enum fe_status and initializing
s to this.
Detected by CoverityScan, CID#112887 ("Uninitialized scalar variable")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Shuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Do some minor editorial changes to make this chapter visually
better, and the example a little bit clearer.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The description of the DVBv5 API was written a long time ago,
where the API was still new, and there were not apps using it.
Now that the API is stable and used by new applications, clarify
that DVBv3 calls should not be used and why.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>