The conversion added empty columns (probably, it was used on
DocBook just to increase spacing.
Remove them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The conversion added an empty column (probably, it was used on
DocBook just to increase spacing.
Remove it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The conversion added empty columns (probably, it was used on
DocBook just to increase spacing.
Remove them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
I don't think any single piece of the KVM/ARM code ever generated
as much hatred as the GIC emulation.
It was written by someone who had zero experience in modeling
hardware (me), was riddled with design flaws, should have been
scrapped and rewritten from scratch long before having a remote
chance of reaching mainline, and yet we supported it for a good
three years. No need to mention the names of those who suffered,
the git log is singing their praises.
Thankfully, we now have a much more maintainable implementation,
and we can safely put the grumpy old GIC to rest.
Fellow hackers, please raise your glass in memory of the GIC:
The GIC is dead, long live the GIC!
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Don't allow RNDADDTOENTCNT or RNDADDENTROPY to accept a negative
entropy value. It doesn't make any sense to subtract from the entropy
counter, and it can trigger a warning:
random: negative entropy/overflow: pool input count -40000
------------[ cut here ]------------
WARNING: CPU: 3 PID: 6828 at drivers/char/random.c:670[< none
>] credit_entropy_bits+0x21e/0xad0 drivers/char/random.c:670
Modules linked in:
CPU: 3 PID: 6828 Comm: a.out Not tainted 4.7.0-rc4+ #4
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
ffffffff880b58e0 ffff88005dd9fcb0 ffffffff82cc838f ffffffff87158b40
fffffbfff1016b1c 0000000000000000 0000000000000000 ffffffff87158b40
ffffffff83283dae 0000000000000009 ffff88005dd9fcf8 ffffffff8136d27f
Call Trace:
[< inline >] __dump_stack lib/dump_stack.c:15
[<ffffffff82cc838f>] dump_stack+0x12e/0x18f lib/dump_stack.c:51
[<ffffffff8136d27f>] __warn+0x19f/0x1e0 kernel/panic.c:516
[<ffffffff8136d48c>] warn_slowpath_null+0x2c/0x40 kernel/panic.c:551
[<ffffffff83283dae>] credit_entropy_bits+0x21e/0xad0 drivers/char/random.c:670
[< inline >] credit_entropy_bits_safe drivers/char/random.c:734
[<ffffffff8328785d>] random_ioctl+0x21d/0x250 drivers/char/random.c:1546
[< inline >] vfs_ioctl fs/ioctl.c:43
[<ffffffff8185316c>] do_vfs_ioctl+0x18c/0xff0 fs/ioctl.c:674
[< inline >] SYSC_ioctl fs/ioctl.c:689
[<ffffffff8185405f>] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:680
[<ffffffff86a995c0>] entry_SYSCALL_64_fastpath+0x23/0xc1
arch/x86/entry/entry_64.S:207
---[ end trace 5d4902b2ba842f1f ]---
This was triggered using the test program:
// autogenerated by syzkaller (http://github.com/google/syzkaller)
int main() {
int fd = open("/dev/random", O_RDWR);
int val = -5000;
ioctl(fd, RNDADDTOENTCNT, &val);
return 0;
}
It's harmless in that (a) only root can trigger it, and (b) after
complaining the code never does let the entropy count go negative, but
it's better to simply not allow this userspace from passing in a
negative entropy value altogether.
Google-Bug-Id: #29575089
Reported-By: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
The conversion added an empty column (probably, it was used on
DocBook just to increase spacing.
Remove it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The conversion added an empty column (probably, it was used on
DocBook just to increase spacing.
Remove it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The conversion added an empty column (probably, it was used on
DocBook just to increase spacing.
Remove it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The conversion script added some comments at the end.
They point to the original DocBook files, with will be
removed after the manual fixes. So, they'll be pointing
to nowere. So, remove those comments.
They'll be forever stored at the Kernel tree. So, if
someone wants the references, it is just a matter of
looking at the backlog.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The ioctl is declared twice. This causes the following warning:
/devel/v4l/patchwork/Documentation/linux_tv/media/v4l/vidioc-g-edid:7:
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The asterisks cause parsing warnings with Sphinx:
Documentation/linux_tv/media/dvb/fe_property_parameters:954: WARNING: Inline substitution_reference start-string without end-string.
/devel/v4l/patchwork/Documentation/linux_tv/media/dvb/fe_property_parameters:993: WARNING: Inline emphasis start-string without end-string.
On the first warning, the ISDB-T layer enabled description is a
kind of ackward. Improve it.
For the second one, IMHO, it is clearer to use [A-C], as it
shows what are the real possibilities, than using asterisk.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Unescaped * causes warnings on Sphinx.
Add an escape at hist-v4l2 occurrences.
At libv4l-introduction, the best is do declare the function
prototypes as C code.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The conversion didn't add blank lines where needed, but it
added were it weren't ;)
Fix it, to make it to parse correctly by Sphinx. This also
fixes a bunch or warnings:
/devel/v4l/patchwork/Documentation/linux_tv/media/v4l/fdl-appendix:44: WARNING: Explicit markup ends without a blank line; unexpected unindent.
/devel/v4l/patchwork/Documentation/linux_tv/media/v4l/fdl-appendix:52: WARNING: Explicit markup ends without a blank line; unexpected unindent.
/devel/v4l/patchwork/Documentation/linux_tv/media/v4l/fdl-appendix:58: WARNING: Explicit markup ends without a blank line; unexpected unindent.
/devel/v4l/patchwork/Documentation/linux_tv/media/v4l/fdl-appendix:71: WARNING: Explicit markup ends without a blank line; unexpected unindent.
/devel/v4l/patchwork/Documentation/linux_tv/media/v4l/fdl-appendix:78: WARNING: Explicit markup ends without a blank line; unexpected unindent.
/devel/v4l/patchwork/Documentation/linux_tv/media/v4l/fdl-appendix:84: WARNING: Explicit markup ends without a blank line; unexpected unindent.
/devel/v4l/patchwork/Documentation/linux_tv/media/v4l/fdl-appendix:107: WARNING: Explicit markup ends without a blank line; unexpected unindent.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Pull fuse fix from Miklos Szeredi:
"This makes sure userspace filesystems are not broken by the parallel
lookups and readdir feature"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
fuse: serialize dirops by default
Pull overlayfs fixes from Miklos Szeredi:
"This contains fixes for a dentry leak, a regression in 4.6 noticed by
Docker users and missing write access checking in truncate"
* 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs:
ovl: warn instead of error if d_type is not supported
ovl: get_write_access() in truncate
ovl: fix dentry leak for default_permissions
Fix Sphinx those warnings:
WARNING: undefined label: fdl-modified>`as given on the :ref:`title page <fdl-title-page (if the link has no caption the label must precede a section header)
WARNING: undefined label: v4l2-pix-fmt-yuv420 (if the link has no caption the label must precede a section $
WARNING: undefined label: pixfmt-srggb10 (if the link has no caption the label must precede a section heade$
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
On several places, instead of using references, the code was
using some other tag. Not sure if this was due to the conversion,
or if something were already wrong on the DocBook. In any case,
let's fix them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
All error codes should be const. Most are, but there are
lots of places where we forgot to add <constant> at the DocBook.
Fix those via this small script:
for i in $(git grep -lE "\s+E[A-Z]+\b" Documentation/linux_tv/); do perl -ne 's,([^\`])\b(E[A-Z]+)\b,\1``\2``,g; print $_' <$i >a && mv a $i; done
As there are false positives, we needed to merge only the changes
that make sense, skipping the c blocks and skipping things like
EDID, EN, ETS that were also converted by the above code.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
On the example captions, use always <chapter>.<number>., because:
1) it matches the DocBook;
2) it would mean less changes if we need to add a new example,
as only one chapter will be affected.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The ReST markup is limited: it doesn't accept a const just
after a reference. So, change the documentation to avoid such
constraint.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The conversion on this file didn't end too well. fix the found
issues:
1) Sphinix seems to not allow things like *foo :ref:`bar`*. At least
on this document, it did the wrong thing. So, change the logic to
something that will work fine with ReST format;
2) Some ioctl pointers were not looking nice;
3) the captions on the examples got discarded;
4) The notes specific to each example were not converted well.
Again, we'll need to replace it for a simpler design, as Sphinx
is a way more limited than DocBook.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There is a missing escape caracter, causing troubles at the
format of one of the paragraphs. Also, the ioctl description
was producing some warnings about wrong identation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The c language parser checks if there are duplicated object
definitions. That causes lots of warnings like:
WARNING: duplicate C object description of ioctl
Let's remove those by telling Sphinx that the language for
those objects are c++. The look of the descriptions will
be close, and the warnings will be gone.
Please notice that we had to keep a few of them as C, as
the c++ parser seems to be broken when it finds an enum.
Yet, this reduced from 219 warnings to 143, with is
a good thing.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This chapter is referenced on several parts of the extended
controls. Change the title to make it nicer where it is
referenced.
Ok, we might, instead, just change the name for the references
to only mention the oldest ioctl, but IMHO, it is better to
keep the name of all ioctls where it is referenced.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Instead of using a constant, use references, just like the
other references for ioctl's.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The conversion broke references and captions for examples.
Fix the missing reference for control enumeration.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This auto-generated file is bogus: it just adds a toc for two
other files. Instead, just move the controls and extended-controls
directly to the common file.
this avoids a blank page, and better organize the document.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
As VIDIOC_G_foo is the reference used for VIDIOC_S_foo and
VIDIOC_TRY_foo, we need to explicitly name the reference, as
otherwise, it will mention the three ioctls altogether, with
is not what we want.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Adding missing indio_dev->dev.of_node references to allow iio consumers
to access the device channels.
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
The workqueue "workqueue" serves as a driver message queue.
It has a single work item(&drv_data->pump_messages) and hence doesn't
require ordering. Also, it is not being used on a memory reclaim path.
Hence, the singlethreaded workqueue has been replaced with the use of
system_wq.
System workqueues have been able to handle high level of concurrency
for a long time now and hence it's not required to have a singlethreaded
workqueue just to gain concurrency. Unlike a dedicated per-cpu workqueue
created with create_singlethread_workqueue(), system_wq allows multiple
work items to overlap executions even on the same CPU; however, a
per-cpu workqueue doesn't have any CPU locality or global ordering
guarantee unless the target CPU is explicitly specified and thus the
increase of local concurrency shouldn't make any difference.
Work item has been flushed in bfin_sport_spi_destroy_queue() to ensure
that there are no pending tasks while disconnecting the driver.
Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
The workqueue "workqueue" has a single work item(&mps->work)
doesn't require ordering. Also, it is not being used on a memory reclaim
path. Hence, the singlethreaded workqueue has been replaced with the use
of system_wq.
System workqueues have been able to handle high level of concurrency
for a long time now and hence it's not required to have a singlethreaded
workqueue just to gain concurrency. Unlike a dedicated per-cpu workqueue
created with create_singlethread_workqueue(), system_wq allows multiple
work items to overlap executions even on the same CPU; however, a
per-cpu workqueue doesn't have any CPU locality or global ordering
guarantee unless the target CPU is explicitly specified and thus the
increase of local concurrency shouldn't make any difference.
Work item has been flushed in mpc52xx_psc_spi_of_remove() to ensure that
nothing is pending while disconnecting the driver.
Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
The workqueue "workqueue" has a single work item(&c->work) and hence
doesn't require ordering. Also, it is not being used on a memory reclaim
path. Hence, the singlethreaded workqueue has been replaced with the use of
system_wq.
System workqueues have been able to handle high level of concurrency
for a long time now and hence it's not required to have a singlethreaded
workqueue just to gain concurrency. Unlike a dedicated per-cpu workqueue
created with create_singlethread_workqueue(), system_wq allows multiple
work items to overlap executions even on the same CPU; however, a
per-cpu workqueue doesn't have any CPU locality or global ordering
guarantee unless the target CPU is explicitly specified and thus the
increase of local concurrency shouldn't make any difference.
Work item has been flushed in txx9spi_remove() to ensure that
nothing is pending while disconnecting the driver.
Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
The workqueue "workqueue" serves as a driver message queue.
It has a single work item(&drv_data->pump_messages) and hence doesn't
require ordering. Also, it is not being used on a memory reclaim path.
Hence, the singlethreaded workqueue has been replaced with the use of
system_wq.
System workqueues have been able to handle high level of concurrency
for a long time now and hence it's not required to have a singlethreaded
workqueue just to gain concurrency. Unlike a dedicated per-cpu workqueue
created with create_singlethread_workqueue(), system_wq allows multiple
work items to overlap executions even on the same CPU; however, a
per-cpu workqueue doesn't have any CPU locality or global ordering
guarantee unless the target CPU is explicitly specified and thus the
increase of local concurrency shouldn't make any difference.
Work item has been flushed in bfin_spi_destroy_queue() to ensure that there
are no pending tasks while disconnecting the driver.
Signed-off-by: Bhaktipriya Shridhar <bhaktipriya96@gmail.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Add the pointer to the device tree node of the ADC so that iio
consumers can reference the respective channels.
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
Acked-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This patch adds the necessary device tree binding to allow DT probing of
currently supported parts.
Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
Acked-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Add the device tree documentation for all the supported parts. Apart the
compatible string and standard I2C binding, no other binding is currently
needed.
Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
This patch adds support for MCP454x, MCP456x, MCP464x and MCP466x parts.
The main difference with currently supported parts (MCP453x and alike) is
the addition of a non-volatile memory in order to recall the wiper setting
at power-on. This feature is currently not supported and only the
volatile memory is used to set the wiper.
Signed-off-by: Florian Vaussard <florian.vaussard@heig-vd.ch>
Acked-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Introduce support for Invense ICM20608 IMU, a 6-axis motion tracking device
that combines a 3-axis gyroscope and a 3-axis accelerometer:
http://www.invensense.com/products/motion-tracking/6-axis/icm-20608-2
Signed-off-by: Gregor Boirie <gregor.boirie@parrot.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>