Rename the tytle of the struct documentation to reflect
the name of the structures, and use links to do cross-ref.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Reduce object size a little by using dev_<level>
calls instead of dev_printk(KERN_<LEVEL>.
Other miscellanea:
o Coalesce formats
o Realign arguments
o Use pr_cont instead of naked printk
reorder test to use "%s\n"
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Commit 4c85935122 ("perf probe: Support
glob wildcards for function name") introduces segfault problems when
debuginfo is not available:
# perf probe 'sys_w*'
Added new events:
Segmentation fault
The first problem resides in find_probe_trace_events_from_map(). In
that function, find_probe_functions() is called to match each symbol
against glob to find the number of matching functions, but still use
map__for_each_symbol_by_name() to find 'struct symbol' for matching
functions. Unfortunately, map__for_each_symbol_by_name() does
exact matching by searching in an rbtree.
It doesn't know glob matching, and not easy for it to support it because
it use rbtree based binary search, but we are unable to ensure all names
matched by the glob (any glob passed by user) reside in one subtree.
This patch drops map__for_each_symbol_by_name(). Since there is no
rbtree again, re-matching all symbols costs a lot. This patch avoid it
by saving all matching results into an array (syms).
The second problem is the lost of tp->realname. In
__add_probe_trace_events(), if pev->point.function is glob, the event
name should be set to tev->point.realname. This patch ensures its
existence by strdup sym->name instead of leaving a NULL pointer there.
After this patch:
# perf probe 'sys_w*'
Added new events:
probe:sys_waitid (on sys_w*)
probe:sys_wait4 (on sys_w*)
probe:sys_waitpid (on sys_w*)
probe:sys_write (on sys_w*)
probe:sys_writev (on sys_w*)
You can now use it in all perf tools, such as:
perf record -e probe:sys_writev -aR sleep 1
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Zefan Li <lizefan@huawei.com>
Link: http://lkml.kernel.org/r/1432892747-232506-1-git-send-email-wangnan0@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
fe_bandwidth/fe_bandwidth_t is used only on DVBv3 API. So, move
it to the frontend legacy xml, and convert it into a table.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
At frontend legacy API description, there are three places
where fe_modulation_t is defined. Cross-reference it to point
to the right place at the documentation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
The typedef parser is wrong and doesn't get some of the
types defined at the DVB API. Improve it, as we want to add
cross-references to those types.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
The Linux kernel coding style guidelines suggest not using typedefs
for structure and enum types. This patch gets rid of the typedefs for
vrc4171_slot_t, vrc4171_slotb_t and vrc4171_socket_t. Also, the names
of the enums and the struct are changed to drop the _t, to make the
name look less typedef-like.
The following Coccinelle semantic patch detects the cases for struct type:
@tn@
identifier i;
type td;
@@
-typedef
struct i { ... }
-td
;
@@
type tn.td;
identifier tn.i;
@@
-td
+ struct i
Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
The Linux kernel coding style guidelines suggest not using typedefs
for structure and enum types. This patch gets rid of the typedefs for
cirrus_state_t, vg46x_state_t and pcic_id. Also, the names of the structs
are changed to drop the _t, to make the name look less typedef-like.
The following Coccinelle semantic patch detects the cases for struct type:
@tn@
identifier i;
type td;
@@
-typedef
struct i { ... }
-td
;
@@
type tn.td;
identifier tn.i;
@@
-td
+ struct i
[linux@dominikbrodowski.net: fix patch to apply cleanly after e632cd9472
was applied first]
Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
The Linux kernel coding style guidelines suggest not using typedefs
for structure types. This patch gets rid of the typedef for tuple_flags.
The following Coccinelle semantic patch makes the transformation.
@tn@
identifier i;
type td;
@@
-typedef
struct i { ... }
-td
;
@@
type tn.td;
identifier tn.i;
@@
-td
+ struct i
Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
fix these checkpatch errors and warning:
- ERROR: "foo * bar" should be "foo *bar"
- WARNING: please, no space before tabs
- WARNING: sizeof *cf should be sizeof(*cf)
- WARNING: space prohibited between function name and open parenthesis '('i
Signed-off-by: Laurent Navet <laurent.navet@gmail.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
fix these checkpatch errors :
- ERROR: spaces required around that '<' (ctx:VxW)
- ERROR: "foo * bar" should be "foo *bar"
- WARNING: please, no space before tabs
Signed-off-by: Laurent Navet <laurent.navet@gmail.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Since this routine doesn't even exist anymore, there's no point
leaving in commented code using it.
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
cf and cf->mem_base have been allocated at the point of this failure, so
they should be freed before leaving the function.
[linux@dominikbrodowski.net: limit call to device_init_wakeup() to the
same error paths as before]
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
There are a few issues at FE_GET_INFO documentation:
- name is a string, not a pointer to a string;
- the return text should be after the paragraph.
While here, better to bold that two fields of the structure used
by FE_GET_INFO are actually deprecated.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Instead of using programlisting, use a table, as this provides
a better view of the structure.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
The fe_type is deprecated at the DVB API. However, it may still
be used by legacy DVBv3 applications. While this works with old
devices, modern devices may support more than one delivery
system.
Add an explanation about that and a point to what should be
used, instead, in order for legacy apps to support newer hardware.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Instead of just showing ioctls, let's add an introdutory text
briefly explaining the DVB frontend API.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
What's written there about the arguments for this ioctl
is bogus: it doesn't return an enum (or a typedef)
for enum fe_status. Instead, it returns a bitmask with the
values defined by enum fe_status.
Also, the size of the integer returned is not 16 bits, but,
instead, sizeof(fe_status_t), e. g. sizeof(enum), with is
arch-dependent.
This should of course be fixed, but this should be done on
a separate patch.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Move the function ioctl definitions to the end of the chapter,
at their importance. That makes the document better organized,
as the DVB frontend system call index will look like:
open()
close()
ioctl FE_GET_INFO — Query DVB frontend capabilities and returns information about the front-end. This call only requires read-only access to the device
ioctl FE_READ_STATUS — Returns status information about the front-end. This call only requires read-only access to the device
ioctl FE_SET_PROPERTY, FE_GET_PROPERTY — FE_SET_PROPERTY sets one or more frontend properties. FE_GET_PROPERTY returns one or more frontend properties.
ioctl FE_DISEQC_RESET_OVERLOAD — Restores the power to the antenna subsystem, if it was powered off due to power overload.
ioctl FE_DISEQC_SEND_MASTER_CMD — Sends a DiSEqC command
ioctl FE_DISEQC_RECV_SLAVE_REPLY — Receives reply from a DiSEqC 2.0 command
ioctl FE_DISEQC_SEND_BURST — Sends a 22KHz tone burst for 2x1 mini DiSEqC satellite selection.
ioctl FE_SET_TONE — Sets/resets the generation of the continuous 22kHz tone.
ioctl FE_SET_VOLTAGE — Allow setting the DC level sent to the antenna subsystem.
ioctl FE_ENABLE_HIGH_LNB_VOLTAGE — Select output DC level between normal LNBf voltages or higher LNBf voltages.
ioctl FE_SET_FRONTEND_TUNE_MODE — Allow setting tuner mode flags to the frontend.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Use the new format for the ioctl documentation and put the
struct dvb_diseqc_slave_reply together with the ioctl.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Use the new format for the ioctl documentation and put the
struct dvb_diseqc_slave_reply together with the ioctl.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Use the new format for the ioctl documentation and put the
struct dvb_diseqc_slave_reply together with the ioctl.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Use the proper format for FE_DISEQC_SEND_BURST documentation
and improve the documentation.
Keep the enum fe_sec_mini_cmd description together with
the ioctl, as both are used together.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Use the proper format for FE_SET_TONE documentation and
improve the documentation.
Keep the enum fe_sec_tone_mode description together with
the ioctl, as both are used together.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Use the proper format for FE_SET_VOLTAGE documentation and fix
the documentation. The description for the enum is not 100%,
and it is missing the voltage off value.
Also, it is better to keep the enum description together with
the ioctl, as both are used together.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
That helps the xref logic at the Makefile to point to the
right place. Also, it becomes more organized and easier to
maintain if each ioctl have its own xml file.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
for the xml files describing ioctls, use the same nomenclature
as on V4L2: the ioctl name, in lower case, using - instead of _.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
The new code that detects undocumented ioctls hits some false
positives:
This one is not documented, nor it should, as this is
there just to reserve namespace:
Warning: can't find reference for VIDIOC_RESERVED ioctl
But those are already documented together with other ioctls:
Warning: can't find reference for VIDIOC_UNSUBSCRIBE_EVENT ioctl
Warning: can't find reference for FE_GET_PROPERTY ioctl
Warning: can't find reference for VIDIOC_SUBDEV_G_EDID ioctl
Warning: can't find reference for VIDIOC_SUBDEV_S_EDID ioctl
Warning: can't find reference for VIDIOC_SUBDEV_S_DV_TIMINGS ioctl
Warning: can't find reference for VIDIOC_SUBDEV_G_DV_TIMINGS ioctl
Warning: can't find reference for VIDIOC_SUBDEV_QUERY_DV_TIMINGS ioctl
So, we need to just be sure to point to the right documentation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
This quirk allows us to avoid the noisy:
current rate 0 is different from the runtime rate
message every time playback starts. While USB DAC in the RR2150
supports reading the sample rate, it never returns a sample rate
other than zero in my observation with common sample rates.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Cc: Joe Turner <joe@oampo.co.uk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
There are several badly documented undocumented ioctls.
Currently, it just generates an empty link. Instead of doing that,
only add references to the ones that exists, and add a warning
for all references that weren't found.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Create xref links for all DTV properties and link the frontend.h
to each. Also use them at the DVB frontent API example.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Instead of having two refentries, merge them into just one,
like what's done with other similar ioctls at V4L2 side.
That makes the entry cleaner and will allow to add the associated
structures together with the refentry.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Instead of going to the V4L2 open(), use the xref to the
proper place at the frontend ioctls that were already
reformatted.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
The DVBv5 API uses DVB properties as the main way to set the frontend
and collect statistics. Move the definition to happen earlier, in
order to reflect its importance.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Move the ioctl and enum fe_status to a separate xml file and
put it into a better format.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Keeping everything altogether makes harder to reorganize the
DocBook. So, move the FE_GET_INFO ioctl and the associated structures
into a separate file.
No functional changes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
The DVB part of the docbook has a completely different format
than the V4L2 part, as it was written as a separate document.
As the V4L2 documentation is on better shape, and its format
allows adding more information, let's use it for FE_GET_INFO
and gradually update the non-legacy DVB ioctls using the new
format.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Using typedefs is already bad enough, but doing it together
with enum declaration is even worse.
Also, it breaks the scripts at DocBook that would be generating
reference pointers for the enums.
Well, we can't get rid of typedef right now, but let's at least
declare it on a separate line, and let the scripts to generate
the cross-reference, as this is needed for the next DocBook
patches.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Although the recommended usage is the DVBv5 API calls, the
documentation doesn't make it clear about what's the recommended
calls and what's legacy.
So, move the legacy API bits to a separate xml, putting them into
a new section.
Please notice that more changes are needed, since some of the
bits there are cross-referenced elsewhere.
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>