From patchwork Fri Oct 20 21:49:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Gustavo F. Padovan" X-Patchwork-Id: 45077 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from vger.kernel.org ([209.132.180.67]) by www.linuxtv.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e5fGE-0001yJ-1O; Fri, 20 Oct 2017 21:55:22 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752926AbdJTVub (ORCPT + 1 other); Fri, 20 Oct 2017 17:50:31 -0400 Received: from mail-qk0-f193.google.com ([209.85.220.193]:56799 "EHLO mail-qk0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752891AbdJTVuZ (ORCPT ); Fri, 20 Oct 2017 17:50:25 -0400 Received: by mail-qk0-f193.google.com with SMTP id l194so15988658qke.13; Fri, 20 Oct 2017 14:50:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=PeXHsxYfjin4UZT76ykyn1/Xd2MiAaVZYlgCuxCOT0s=; b=a1bHd5DGO4EX0lfIIYdZT/Gq+0EV7twMPX5qiiDHKmPGkc13qGiZnOzr7SnlAApH4/ hhbhVF00tJmbsDDPv6VQZkcm7JtW8ya7NiHOWLUQrLx4PLEGMXiQsM9TlqtD5Io0ICeo lEdM+B7pflYDn1oybAsXtIEwvxFRYfDQZqr9FxRv+i6icjDTFbVCK+/08UoA1XOy/Jxu MvnOWD3ltE33T0JceKdfT4GP9lIkdaWvTAqbP4BMNZpAzoXikhEuct+fpaqdxUWotj4c TszGaQN+VImby9ZIsBe0EFh/m8t4+TAIIC1jt4DNbxaS0/t4YvSQqLVOxoRfIg3zie3f McDQ== X-Gm-Message-State: AMCzsaVfqptghs2tzUsT84VbRT7HtpVoRxU9ZC/ur82F/N3LHpzGViXF bG85qN+pcCr89ykUwghxn1ryarTv X-Google-Smtp-Source: ABhQp+QUTA+EEIgvAtIzNsoxCBTWx+0IgtZaOqbX8FPtyf2giXXc4JuaDuHsGWq/mcD+bBrjwH8F5A== X-Received: by 10.55.71.72 with SMTP id u69mr9124089qka.289.1508536224672; Fri, 20 Oct 2017 14:50:24 -0700 (PDT) Received: from localhost.localdomain (189-19-125-192.dsl.telesp.net.br. [189.19.125.192]) by smtp.gmail.com with ESMTPSA id j4sm1167039qkf.75.2017.10.20.14.50.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Oct 2017 14:50:24 -0700 (PDT) From: Gustavo Padovan To: linux-media@vger.kernel.org Cc: Hans Verkuil , Mauro Carvalho Chehab , Shuah Khan , Pawel Osciak , Alexandre Courbot , Sakari Ailus , Brian Starkey , linux-kernel@vger.kernel.org, Gustavo Padovan Subject: [RFC v4 01/17] [media] v4l: create v4l2_event_subscribe_v4l2() Date: Fri, 20 Oct 2017 19:49:56 -0200 Message-Id: <20171020215012.20646-2-gustavo@padovan.org> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20171020215012.20646-1-gustavo@padovan.org> References: <20171020215012.20646-1-gustavo@padovan.org> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org From: Gustavo Padovan We need a common function to subscribe all the common events in drivers, so far we had only V4L2_EVENT_CTRL, so such a function wasn't necessary, but we are about to introduce a new event for the upcoming explicit fences implementation, thus a common place is needed. Signed-off-by: Gustavo Padovan --- drivers/media/v4l2-core/v4l2-event.c | 12 ++++++++++++ include/media/v4l2-event.h | 8 ++++++++ 2 files changed, 20 insertions(+) diff --git a/drivers/media/v4l2-core/v4l2-event.c b/drivers/media/v4l2-core/v4l2-event.c index 968c2eb08b5a..313ee9d1f9ee 100644 --- a/drivers/media/v4l2-core/v4l2-event.c +++ b/drivers/media/v4l2-core/v4l2-event.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -354,3 +355,14 @@ int v4l2_src_change_event_subdev_subscribe(struct v4l2_subdev *sd, return v4l2_src_change_event_subscribe(fh, sub); } EXPORT_SYMBOL_GPL(v4l2_src_change_event_subdev_subscribe); + +int v4l2_subscribe_event_v4l2(struct v4l2_fh *fh, + const struct v4l2_event_subscription *sub) +{ + switch (sub->type) { + case V4L2_EVENT_CTRL: + return v4l2_ctrl_subscribe_event(fh, sub); + } + return -EINVAL; +} +EXPORT_SYMBOL(v4l2_subscribe_event_v4l2); diff --git a/include/media/v4l2-event.h b/include/media/v4l2-event.h index 6741910c3a18..2b794f2ad824 100644 --- a/include/media/v4l2-event.h +++ b/include/media/v4l2-event.h @@ -236,4 +236,12 @@ int v4l2_src_change_event_subscribe(struct v4l2_fh *fh, int v4l2_src_change_event_subdev_subscribe(struct v4l2_subdev *sd, struct v4l2_fh *fh, struct v4l2_event_subscription *sub); +/** + * v4l2_subscribe_event_v4l2 - helper function that subscribe all v4l2 events + * + * @fh: pointer to struct v4l2_fh + * @sub: pointer to &struct v4l2_event_subscription + */ +int v4l2_subscribe_event_v4l2(struct v4l2_fh *fh, + const struct v4l2_event_subscription *sub); #endif /* V4L2_EVENT_H */