Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp5765935pxu; Thu, 22 Oct 2020 10:27:02 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwJb3M47zT1VSJt5x4j1oJJJkx66riUsv31kpxcPUGKEOfvXKax8Tg58/9phtzqnH+5p+0v X-Received: by 2002:a50:fb18:: with SMTP id d24mr3320869edq.43.1603387622475; Thu, 22 Oct 2020 10:27:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603387622; cv=none; d=google.com; s=arc-20160816; b=ibueGQ8PSCTlbunKB2qAWfchUD9DiVE9BJ7PHcltSJ1QCNiLYsrQV4tGWfTVXUQXGH BC6M0HJ4KWdZUs/nQ0rZkJEHPuO2LjUlWPleRG5k43DQqsNxnRzD5c40kB9QeNq1lM+2 rxhk5d9rQuXZR02XTLwy1jN3wIyen67mHZvPdCp+V0yzIu0URdDu5FVL9317gADqHsvu dw4qDA2DHEd9lOW44S0nSkxGvQTAfiO31IR16O7Iq5iOtieIrzhtK1Z88RMRKQkyo0Fj aRKfDJm7SeNQp+l5rPlhV9IP1SgARieTdXKpKEdzCutflUAbs/KFUWAZqVk/mwFSXTBw Wvtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=VK4FgjtpkHHYUN2/U6FSltdeDbo7aonVsHt4FDf3Llc=; b=bggjsQdnR3PuTLuAhVQYbP33wEaOR97+0xLO5yls//853m/eDXhaO8lEye8UDYfznT oEpXCHF7oQL6dMdKK+Kfbim4o3MHIfAa/mtnOLgtYtv18t9jW/6VcKaHDdY8LhdY0Zl/ AW7h9yBa9Oh1nIa2W9hSfERmVWHuvagJN2++/4AdB4mQbdfQfQMTXvB6iITKQuIStep2 CoFQXtoz32t+PZcCUlLkUheU1qac9qJYnW0ZhtlkXCbs4VjVJz43ouczXSFI6fpHCjma rmpDhOOwONd/gOVjNV4T0Z1CGDJE/HcM49Mx/8ggiiS3GV1/xMoRjIjpd0gt9k7XOsEc w1FQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b="ird/YN9l"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b12si1317779edz.165.2020.10.22.10.26.40; Thu, 22 Oct 2020 10:27:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b="ird/YN9l"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2900199AbgJVNh7 (ORCPT + 99 others); Thu, 22 Oct 2020 09:37:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726277AbgJVNh5 (ORCPT ); Thu, 22 Oct 2020 09:37:57 -0400 Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F840C0613CE for ; Thu, 22 Oct 2020 06:37:57 -0700 (PDT) Received: by mail-wr1-x441.google.com with SMTP id i1so2471648wro.1 for ; Thu, 22 Oct 2020 06:37:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=VK4FgjtpkHHYUN2/U6FSltdeDbo7aonVsHt4FDf3Llc=; b=ird/YN9lH1BtBZ8Hed7YgeAeT5tU18FYvjLagm5kFiAIzqkS7YnirxsmUHHEnhQLhb 6hWmyaetMck/VZVm7Jy3Ckp9huRBvTs4e1bCst7zuc/OuPwBLPy0OJu0vyS0350wy1bJ 0y+ou/mHS7B1rzft7O+VzXHDXyuVcnIKLHaHA= 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:mime-version :content-transfer-encoding; bh=VK4FgjtpkHHYUN2/U6FSltdeDbo7aonVsHt4FDf3Llc=; b=YR6EJ1wjC3ZShaVrkgzd3j8+MBX03cWjjYQOLg21C7yPcvahCWGBI1ZByfJnPBuSdz y1+bPWamHv+EJd6JZtGw91gKC7v+c6JMpmMsPNa1yQe8O/6u92x3/bzYQ9wKfyh4Fc7F 5cR3fGH8s2go8wN4rybFHFHwpDRW4N9ryAQFgpb5BFfjDTlvOH9GhhbJLqx+X5jBestR hPjfW6vyFMNd0US53heEtbndHR//S3bQAaZnL2hgVQHKNe3kgy6tezoxjMLNIsGvrQZ2 6sBjYjgtOERybOBmkdkUpAUrTb20dySqEIpk13xXCOPOfav9j8OObuzllFFcE6at/C8L AYpQ== X-Gm-Message-State: AOAM532/+jsY7uM7zaCu2rCEHJFm61fJPvzr74YHWXAu+dPItHZ7PVIG Yxre75Yk5Rz0BoeS5we/1oUBIt9/LLmhu5AO X-Received: by 2002:adf:f20f:: with SMTP id p15mr2813167wro.339.1603373876297; Thu, 22 Oct 2020 06:37:56 -0700 (PDT) Received: from alco.lan ([80.71.134.83]) by smtp.gmail.com with ESMTPSA id q10sm4094031wrp.83.2020.10.22.06.37.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Oct 2020 06:37:55 -0700 (PDT) From: Ricardo Ribalda To: Laurent Pinchart , Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Cc: tfiga@chromium.org, Ricardo Ribalda Subject: [PATCH 0/6] Show privacy_gpio as a v4l2_ctrl Date: Thu, 22 Oct 2020 15:37:47 +0200 Message-Id: <20201022133753.310506-1-ribalda@chromium.org> X-Mailer: git-send-email 2.29.0.rc1.297.gfa9743e501-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Some devices can implement a physical switch to disable the input of the camera on demand. Think of it like an elegant privacy sticker. The system can read the status of the privacy switch via a GPIO. The ACPI table maps this GPIO to the USB device via _CRS and _DSD descriptors, so the kernel can find it. The userspace applications need to know if the privacy pin is enabled or not. The obvious way to show it to userspace is via the V4L2_CID_PRIVACY control. This patchset implement this functionality. Ricardo Ribalda (6): media: uvcvideo: Add UVC_CTRL_FLAG_ENTITY_GET_INFO media: uvcvideo: Add UVC_CTRL_FLAG_ENTITY_GET_CUR media: uvcvideo: Add UVC_GUID_EXT_GPIO_CONTROLLER media: uvcvideo: Add Privacy control based on EXT_GPIO media: uvcvideo: Implement UVC_GPIO_UNIT media: uvcvideo: Handle IRQs from the privacy_pin drivers/media/usb/uvc/uvc_ctrl.c | 56 ++++++++++++++-- drivers/media/usb/uvc/uvc_driver.c | 102 +++++++++++++++++++++++++++++ drivers/media/usb/uvc/uvcvideo.h | 14 ++++ include/uapi/linux/uvcvideo.h | 3 + 4 files changed, 169 insertions(+), 6 deletions(-) -- 2.29.0.rc1.297.gfa9743e501-goog