diff options
author | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2018-11-28 04:11:52 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2018-12-03 14:44:31 -0500 |
commit | a4b3675f9b838c0dc6ef680010233ba5dbebb26d (patch) | |
tree | 4e3f1ebd1aa5ca37209f7a13d86107c1c96db45e /drivers/media/platform/vivid/vivid-core.c | |
parent | 191cf8b0746a5b0d5b3918fe83fa94ec3232b53f (diff) |
media: vivid: add req_validate error injection
Add a new vivid button control to inject an error into the
req_validate request callback.
This will help testing with v4l2-compliance.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/platform/vivid/vivid-core.c')
-rw-r--r-- | drivers/media/platform/vivid/vivid-core.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/platform/vivid/vivid-core.c index a6fa9edd4c7e..c931f007e5b0 100644 --- a/drivers/media/platform/vivid/vivid-core.c +++ b/drivers/media/platform/vivid/vivid-core.c @@ -630,8 +630,19 @@ static void vivid_dev_release(struct v4l2_device *v4l2_dev) } #ifdef CONFIG_MEDIA_CONTROLLER +static int vivid_req_validate(struct media_request *req) +{ + struct vivid_dev *dev = container_of(req->mdev, struct vivid_dev, mdev); + + if (dev->req_validate_error) { + dev->req_validate_error = false; + return -EINVAL; + } + return vb2_request_validate(req); +} + static const struct media_device_ops vivid_media_ops = { - .req_validate = vb2_request_validate, + .req_validate = vivid_req_validate, .req_queue = vb2_request_queue, }; #endif |