From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1E2F1C43331 for ; Tue, 31 Mar 2020 11:12:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id D41F8214DB for ; Tue, 31 Mar 2020 11:12:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585653138; bh=G1rKh20PNlZcrxj0bxu7OOVq4n7E9ZdfbkM1U0Pfy5o=; h=From:To:Cc:Subject:Date:List-ID:From; b=T9bMTEtIK7zdKSLSZ3dqY+CmlJDPSWC/KREH6AFhWgYMO3mrOX/EeJ9qnSRG9tmme 4tyX9EGA+zdqwmCbK0s+VZmaloWGmFAkh8tn9ZVHjGZUggaVll6GPWnQ8fa1jwCIJu 4fkfwGBNYCTzC4cJ2Old6h4kuIjMexc2p2M9D9Zc= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730532AbgCaLMR (ORCPT ); Tue, 31 Mar 2020 07:12:17 -0400 Received: from mail.kernel.org ([198.145.29.99]:57940 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730602AbgCaLMP (ORCPT ); Tue, 31 Mar 2020 07:12:15 -0400 Received: from mail.kernel.org (ip5f5ad4d8.dynamic.kabel-deutschland.de [95.90.212.216]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4375B20838; Tue, 31 Mar 2020 11:12:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585653133; bh=G1rKh20PNlZcrxj0bxu7OOVq4n7E9ZdfbkM1U0Pfy5o=; h=From:To:Cc:Subject:Date:From; b=jMAH8T3JQt43zBzG4nQRWAScKIhZLvgP7nGREPtHt0KGxCEAxfzTjGbeICtbGWS/S 3rS/HRfVk33Ss7ts+utriBE3afmyScZfXqd28Bh5Gv2VzyPI2qVB2ayy4+QUXJtxjC mBpHaG0Xk0Ku4tcuWIjLEkyxxN+zyPdHEUM8HmVQ= Received: from mchehab by mail.kernel.org with local (Exim 4.92.3) (envelope-from ) id 1jJEoU-002bpp-Vs; Tue, 31 Mar 2020 13:12:10 +0200 From: Mauro Carvalho Chehab To: Linux Media Mailing List Cc: Mauro Carvalho Chehab , linux-kernel@vger.kernel.org, linux1394-devel@lists.sourceforge.net, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, devel@driverdev.osuosl.org, linux-samsung-soc@vger.kernel.org, linux-renesas-soc@vger.kernel.org Subject: [PATCH v4 00/33] Media Kconfig menu reorg and improvements Date: Tue, 31 Mar 2020 13:11:36 +0200 Message-Id: X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The media Kconfig menu is complex. From time to time, it requires some improvements. This series is organized on two parts: 1. Patches 1 to 19: cleanups and improvements; - Try to be smarter when selecting features. So, auto-select Cypress firmware support on drivers that use it. Also, auto-select Media Controller and V4L2 subdevice API for devices that won't work without such features. Please notice that some drivers have can work optionally with those features enabled (or not). For those, users should still explicitly enable such features. - Platform and test drivers have now an option at the device support selection; - The test drivers are not platform drivers. They deserve their own directory. When a test driver is selected, the needed API support will be automatically selected. - Do some Kconfig reorg, in order to keep the main media Kconfig as clean as possible. - The help messafe for media support was outdated; - The ddbridge driver was abusing at the dvb dummy frontend driver (meant to be just an example). It will now have its own internal dummy driver, as the original one will soon receive more code and become a virtual driver. - There's a longstanding issue with hybrid TV devices: for an hybrid device to work, *both* analog and digital TV would need to be selected. As the Kconfig language improved, we can now address it. So, selecting either analog or digital TV support should display all hybrid devices. When an hybrid driver is selected, both V4L2 and DVB core will be available. 2. Patches 20 to 33: visual changes. - At the beginning, media had just "technical" options to enable/disable each feature. However, that leads into hundreds of different options, being a nightmare for a mortal to set it up. So, the Kconfig menu options were re-designed in order to bring a more user-oriented view: The initial items select the type of devices (analog TV, digital TV, cameras, ...). Selecting it would auto-select the core drivers. The next step would be to select either PCI or USB, and the needed driver. While this makes life simpler, now there are many embedded developers. Most seem to prefer to be able of seeing everything without filters. The main focus of this part is to make everybody happy: it is now possible to unselect the filters, making all options visible. Also, now, when the filter is enabled, the media drivers menu will show a message warning that the filter is active. Hopefully, this should make both embedded developers and normal users happy. - The media menus now have a more modern visual, grouping options in a way that it is now clearer about what they do. So, the Media support menu is now: --- Media support [ ] Filter media drivers [ ] Autoselect ancillary drivers Media device types ---> Media core support ---> Video4Linux options ---> Media controller options ---> Digital TV options ---> HDMI CEC options ---> Media drivers ---> Media ancillary drivers ---> Mauro Carvalho Chehab (33): media: dvb-usb: auto-select CYPRESS_FIRMWARE media: Kconfig: add an option to filter in/out platform drivers media: Kconfig: not all V4L2 platform drivers are for camera media: pci: move VIDEO_PCI_SKELETON to a different Kconfig media: Kconfig: update the MEDIA_SUPPORT help message media: split test drivers from platform directory media: Kconfig: move comment to siano include media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var media: Kconfig: mode firewire comment to firewire/Kconfig media: ddbridge: copy the dvb_dummy_fe driver to ddbridge media: ddbridge-dummy_fe: do some vars and function renames media: ddbridge: use the ddbridge's own dummy fe driver media: Kconfig: mark other drivers as test drivers media: Kconfig: simplify some dependencies media: Kconfig: better support hybrid TV devices media: Kconfig: fix selection for test drivers media: add SPDX headers on Kconfig and Makefile files media: dvb-core: Kconfig: default to use dynamic minors media: Kconfig files: use select for V4L2 subdevs and MC media: Kconfig: reorganize the drivers menu options media: Kconfig: use a sub-menu to select supported devices media: Kconfig: make filtering devices optional media: Kconfig: warn if drivers are filtered media: Kconfig: move CEC-specific options to cec/Kconfig media: Kconfig: move DVB-specific options to dvb-core/Kconfig media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig media: Kconfig: move media controller core select to main Kconfig media: Kconfig: place all options under a sub-menu media: Kconfig: move the position of sub-driver autoselection media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering media: Kconfig: Better organize the per-API options media: i2c/Kconfig: reorganize items there media: Kconfig: don't use visible for device type select drivers/media/Kconfig | 262 ++++++----- drivers/media/cec/Kconfig | 10 + drivers/media/common/Kconfig | 2 +- drivers/media/dvb-core/Kconfig | 27 ++ drivers/media/dvb-frontends/Kconfig | 15 +- drivers/media/firewire/Kconfig | 5 +- drivers/media/i2c/Kconfig | 406 +++++++++++------- drivers/media/i2c/et8ek8/Kconfig | 4 +- drivers/media/i2c/m5mols/Kconfig | 5 +- drivers/media/i2c/smiapp/Kconfig | 5 +- drivers/media/mc/Kconfig | 11 +- drivers/media/mmc/Kconfig | 1 - drivers/media/mmc/siano/Kconfig | 2 + drivers/media/pci/Kconfig | 24 +- drivers/media/pci/bt8xx/Kconfig | 5 +- drivers/media/pci/cobalt/Kconfig | 4 +- drivers/media/pci/cx18/Kconfig | 2 +- drivers/media/pci/cx23885/Kconfig | 4 +- drivers/media/pci/cx88/Kconfig | 4 +- drivers/media/pci/ddbridge/Kconfig | 1 - drivers/media/pci/ddbridge/Makefile | 2 +- drivers/media/pci/ddbridge/ddbridge-core.c | 4 +- .../media/pci/ddbridge/ddbridge-dummy-fe.c | 153 +++++++ .../media/pci/ddbridge/ddbridge-dummy-fe.h | 16 + drivers/media/pci/intel/ipu3/Kconfig | 4 +- drivers/media/pci/saa7134/Kconfig | 4 +- drivers/media/pci/saa7164/Kconfig | 2 +- drivers/media/pci/sta2x11/Kconfig | 6 +- drivers/media/platform/Kconfig | 56 +-- drivers/media/platform/Makefile | 5 - drivers/media/platform/am437x/Kconfig | 4 +- drivers/media/platform/atmel/Kconfig | 4 +- drivers/media/platform/cadence/Kconfig | 8 +- drivers/media/platform/exynos4-is/Kconfig | 5 +- drivers/media/platform/rcar-vin/Kconfig | 8 +- drivers/media/platform/sunxi/Kconfig | 2 + drivers/media/platform/sunxi/Makefile | 2 + .../media/platform/sunxi/sun4i-csi/Kconfig | 6 +- .../media/platform/sunxi/sun4i-csi/Makefile | 2 + .../media/platform/sunxi/sun6i-csi/Kconfig | 4 +- drivers/media/platform/xilinx/Kconfig | 4 +- drivers/media/spi/Kconfig | 4 +- drivers/media/test_drivers/Kconfig | 28 ++ drivers/media/test_drivers/Makefile | 9 + .../vicodec/Kconfig | 0 .../vicodec/Makefile | 0 .../vicodec/codec-fwht.c | 0 .../vicodec/codec-fwht.h | 0 .../vicodec/codec-v4l2-fwht.c | 0 .../vicodec/codec-v4l2-fwht.h | 0 .../vicodec/vicodec-core.c | 0 .../media/{platform => test_drivers}/vim2m.c | 0 .../{platform => test_drivers}/vimc/Kconfig | 4 +- .../{platform => test_drivers}/vimc/Makefile | 0 .../vimc/vimc-capture.c | 0 .../vimc/vimc-common.c | 0 .../vimc/vimc-common.h | 0 .../vimc/vimc-core.c | 0 .../vimc/vimc-debayer.c | 0 .../vimc/vimc-scaler.c | 0 .../vimc/vimc-sensor.c | 0 .../vimc/vimc-streamer.c | 0 .../vimc/vimc-streamer.h | 0 .../{platform => test_drivers}/vivid/Kconfig | 0 .../{platform => test_drivers}/vivid/Makefile | 0 .../vivid/vivid-cec.c | 0 .../vivid/vivid-cec.h | 0 .../vivid/vivid-core.c | 0 .../vivid/vivid-core.h | 0 .../vivid/vivid-ctrls.c | 0 .../vivid/vivid-ctrls.h | 0 .../vivid/vivid-kthread-cap.c | 0 .../vivid/vivid-kthread-cap.h | 0 .../vivid/vivid-kthread-out.c | 0 .../vivid/vivid-kthread-out.h | 0 .../vivid/vivid-kthread-touch.c | 0 .../vivid/vivid-kthread-touch.h | 0 .../vivid/vivid-meta-cap.c | 0 .../vivid/vivid-meta-cap.h | 0 .../vivid/vivid-meta-out.c | 0 .../vivid/vivid-meta-out.h | 0 .../vivid/vivid-osd.c | 0 .../vivid/vivid-osd.h | 0 .../vivid/vivid-radio-common.c | 0 .../vivid/vivid-radio-common.h | 0 .../vivid/vivid-radio-rx.c | 0 .../vivid/vivid-radio-rx.h | 0 .../vivid/vivid-radio-tx.c | 0 .../vivid/vivid-radio-tx.h | 0 .../vivid/vivid-rds-gen.c | 0 .../vivid/vivid-rds-gen.h | 0 .../vivid/vivid-sdr-cap.c | 0 .../vivid/vivid-sdr-cap.h | 0 .../vivid/vivid-touch-cap.c | 0 .../vivid/vivid-touch-cap.h | 0 .../vivid/vivid-vbi-cap.c | 0 .../vivid/vivid-vbi-cap.h | 0 .../vivid/vivid-vbi-gen.c | 0 .../vivid/vivid-vbi-gen.h | 0 .../vivid/vivid-vbi-out.c | 0 .../vivid/vivid-vbi-out.h | 0 .../vivid/vivid-vid-cap.c | 0 .../vivid/vivid-vid-cap.h | 0 .../vivid/vivid-vid-common.c | 0 .../vivid/vivid-vid-common.h | 0 .../vivid/vivid-vid-out.c | 0 .../vivid/vivid-vid-out.h | 0 drivers/media/usb/Kconfig | 14 +- drivers/media/usb/au0828/Kconfig | 6 +- drivers/media/usb/cx231xx/Kconfig | 4 +- drivers/media/usb/dvb-usb/Kconfig | 1 + drivers/media/usb/pvrusb2/Kconfig | 4 +- drivers/media/usb/tm6000/Kconfig | 4 +- drivers/media/v4l2-core/Kconfig | 19 +- drivers/staging/media/hantro/Kconfig | 5 +- drivers/staging/media/hantro/Makefile | 2 + drivers/staging/media/imx/Kconfig | 5 +- drivers/staging/media/ipu3/Kconfig | 3 +- drivers/staging/media/omap4iss/Kconfig | 4 +- drivers/staging/media/rkisp1/Kconfig | 4 +- drivers/staging/media/rkisp1/Makefile | 2 + drivers/staging/media/sunxi/cedrus/Kconfig | 5 +- 122 files changed, 829 insertions(+), 398 deletions(-) create mode 100644 drivers/media/pci/ddbridge/ddbridge-dummy-fe.c create mode 100644 drivers/media/pci/ddbridge/ddbridge-dummy-fe.h create mode 100644 drivers/media/test_drivers/Kconfig create mode 100644 drivers/media/test_drivers/Makefile rename drivers/media/{platform => test_drivers}/vicodec/Kconfig (100%) rename drivers/media/{platform => test_drivers}/vicodec/Makefile (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.c (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.h (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.c (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.h (100%) rename drivers/media/{platform => test_drivers}/vicodec/vicodec-core.c (100%) rename drivers/media/{platform => test_drivers}/vim2m.c (100%) rename drivers/media/{platform => test_drivers}/vimc/Kconfig (83%) rename drivers/media/{platform => test_drivers}/vimc/Makefile (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-capture.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-common.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-common.h (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-core.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-debayer.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-scaler.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-sensor.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.h (100%) rename drivers/media/{platform => test_drivers}/vivid/Kconfig (100%) rename drivers/media/{platform => test_drivers}/vivid/Makefile (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-core.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-core.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.h (100%) -- 2.25.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D253BC2D0E8 for ; Tue, 31 Mar 2020 11:12:21 +0000 (UTC) Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A6DAE216FD for ; Tue, 31 Mar 2020 11:12:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="jMAH8T3J" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A6DAE216FD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=driverdev-devel-bounces@linuxdriverproject.org Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 8597A8870C; Tue, 31 Mar 2020 11:12:21 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Kn+YfmDpuRFw; Tue, 31 Mar 2020 11:12:19 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 76D58886F3; Tue, 31 Mar 2020 11:12:19 +0000 (UTC) Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id C0A001BF836 for ; Tue, 31 Mar 2020 11:12:18 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id BD6C02155E for ; Tue, 31 Mar 2020 11:12:18 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bKdCHu9WUnuM for ; Tue, 31 Mar 2020 11:12:14 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by silver.osuosl.org (Postfix) with ESMTPS id CBCB124F8D for ; Tue, 31 Mar 2020 11:12:13 +0000 (UTC) Received: from mail.kernel.org (ip5f5ad4d8.dynamic.kabel-deutschland.de [95.90.212.216]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4375B20838; Tue, 31 Mar 2020 11:12:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585653133; bh=G1rKh20PNlZcrxj0bxu7OOVq4n7E9ZdfbkM1U0Pfy5o=; h=From:To:Cc:Subject:Date:From; b=jMAH8T3JQt43zBzG4nQRWAScKIhZLvgP7nGREPtHt0KGxCEAxfzTjGbeICtbGWS/S 3rS/HRfVk33Ss7ts+utriBE3afmyScZfXqd28Bh5Gv2VzyPI2qVB2ayy4+QUXJtxjC mBpHaG0Xk0Ku4tcuWIjLEkyxxN+zyPdHEUM8HmVQ= Received: from mchehab by mail.kernel.org with local (Exim 4.92.3) (envelope-from ) id 1jJEoU-002bpp-Vs; Tue, 31 Mar 2020 13:12:10 +0200 From: Mauro Carvalho Chehab To: Linux Media Mailing List Subject: [PATCH v4 00/33] Media Kconfig menu reorg and improvements Date: Tue, 31 Mar 2020 13:11:36 +0200 Message-Id: X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: driverdev-devel@linuxdriverproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Driver Project Developer List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devel@driverdev.osuosl.org, linux-samsung-soc@vger.kernel.org, Mauro Carvalho Chehab , linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux1394-devel@lists.sourceforge.net, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" The media Kconfig menu is complex. From time to time, it requires some improvements. This series is organized on two parts: 1. Patches 1 to 19: cleanups and improvements; - Try to be smarter when selecting features. So, auto-select Cypress firmware support on drivers that use it. Also, auto-select Media Controller and V4L2 subdevice API for devices that won't work without such features. Please notice that some drivers have can work optionally with those features enabled (or not). For those, users should still explicitly enable such features. - Platform and test drivers have now an option at the device support selection; - The test drivers are not platform drivers. They deserve their own directory. When a test driver is selected, the needed API support will be automatically selected. - Do some Kconfig reorg, in order to keep the main media Kconfig as clean as possible. - The help messafe for media support was outdated; - The ddbridge driver was abusing at the dvb dummy frontend driver (meant to be just an example). It will now have its own internal dummy driver, as the original one will soon receive more code and become a virtual driver. - There's a longstanding issue with hybrid TV devices: for an hybrid device to work, *both* analog and digital TV would need to be selected. As the Kconfig language improved, we can now address it. So, selecting either analog or digital TV support should display all hybrid devices. When an hybrid driver is selected, both V4L2 and DVB core will be available. 2. Patches 20 to 33: visual changes. - At the beginning, media had just "technical" options to enable/disable each feature. However, that leads into hundreds of different options, being a nightmare for a mortal to set it up. So, the Kconfig menu options were re-designed in order to bring a more user-oriented view: The initial items select the type of devices (analog TV, digital TV, cameras, ...). Selecting it would auto-select the core drivers. The next step would be to select either PCI or USB, and the needed driver. While this makes life simpler, now there are many embedded developers. Most seem to prefer to be able of seeing everything without filters. The main focus of this part is to make everybody happy: it is now possible to unselect the filters, making all options visible. Also, now, when the filter is enabled, the media drivers menu will show a message warning that the filter is active. Hopefully, this should make both embedded developers and normal users happy. - The media menus now have a more modern visual, grouping options in a way that it is now clearer about what they do. So, the Media support menu is now: --- Media support [ ] Filter media drivers [ ] Autoselect ancillary drivers Media device types ---> Media core support ---> Video4Linux options ---> Media controller options ---> Digital TV options ---> HDMI CEC options ---> Media drivers ---> Media ancillary drivers ---> Mauro Carvalho Chehab (33): media: dvb-usb: auto-select CYPRESS_FIRMWARE media: Kconfig: add an option to filter in/out platform drivers media: Kconfig: not all V4L2 platform drivers are for camera media: pci: move VIDEO_PCI_SKELETON to a different Kconfig media: Kconfig: update the MEDIA_SUPPORT help message media: split test drivers from platform directory media: Kconfig: move comment to siano include media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var media: Kconfig: mode firewire comment to firewire/Kconfig media: ddbridge: copy the dvb_dummy_fe driver to ddbridge media: ddbridge-dummy_fe: do some vars and function renames media: ddbridge: use the ddbridge's own dummy fe driver media: Kconfig: mark other drivers as test drivers media: Kconfig: simplify some dependencies media: Kconfig: better support hybrid TV devices media: Kconfig: fix selection for test drivers media: add SPDX headers on Kconfig and Makefile files media: dvb-core: Kconfig: default to use dynamic minors media: Kconfig files: use select for V4L2 subdevs and MC media: Kconfig: reorganize the drivers menu options media: Kconfig: use a sub-menu to select supported devices media: Kconfig: make filtering devices optional media: Kconfig: warn if drivers are filtered media: Kconfig: move CEC-specific options to cec/Kconfig media: Kconfig: move DVB-specific options to dvb-core/Kconfig media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig media: Kconfig: move media controller core select to main Kconfig media: Kconfig: place all options under a sub-menu media: Kconfig: move the position of sub-driver autoselection media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering media: Kconfig: Better organize the per-API options media: i2c/Kconfig: reorganize items there media: Kconfig: don't use visible for device type select drivers/media/Kconfig | 262 ++++++----- drivers/media/cec/Kconfig | 10 + drivers/media/common/Kconfig | 2 +- drivers/media/dvb-core/Kconfig | 27 ++ drivers/media/dvb-frontends/Kconfig | 15 +- drivers/media/firewire/Kconfig | 5 +- drivers/media/i2c/Kconfig | 406 +++++++++++------- drivers/media/i2c/et8ek8/Kconfig | 4 +- drivers/media/i2c/m5mols/Kconfig | 5 +- drivers/media/i2c/smiapp/Kconfig | 5 +- drivers/media/mc/Kconfig | 11 +- drivers/media/mmc/Kconfig | 1 - drivers/media/mmc/siano/Kconfig | 2 + drivers/media/pci/Kconfig | 24 +- drivers/media/pci/bt8xx/Kconfig | 5 +- drivers/media/pci/cobalt/Kconfig | 4 +- drivers/media/pci/cx18/Kconfig | 2 +- drivers/media/pci/cx23885/Kconfig | 4 +- drivers/media/pci/cx88/Kconfig | 4 +- drivers/media/pci/ddbridge/Kconfig | 1 - drivers/media/pci/ddbridge/Makefile | 2 +- drivers/media/pci/ddbridge/ddbridge-core.c | 4 +- .../media/pci/ddbridge/ddbridge-dummy-fe.c | 153 +++++++ .../media/pci/ddbridge/ddbridge-dummy-fe.h | 16 + drivers/media/pci/intel/ipu3/Kconfig | 4 +- drivers/media/pci/saa7134/Kconfig | 4 +- drivers/media/pci/saa7164/Kconfig | 2 +- drivers/media/pci/sta2x11/Kconfig | 6 +- drivers/media/platform/Kconfig | 56 +-- drivers/media/platform/Makefile | 5 - drivers/media/platform/am437x/Kconfig | 4 +- drivers/media/platform/atmel/Kconfig | 4 +- drivers/media/platform/cadence/Kconfig | 8 +- drivers/media/platform/exynos4-is/Kconfig | 5 +- drivers/media/platform/rcar-vin/Kconfig | 8 +- drivers/media/platform/sunxi/Kconfig | 2 + drivers/media/platform/sunxi/Makefile | 2 + .../media/platform/sunxi/sun4i-csi/Kconfig | 6 +- .../media/platform/sunxi/sun4i-csi/Makefile | 2 + .../media/platform/sunxi/sun6i-csi/Kconfig | 4 +- drivers/media/platform/xilinx/Kconfig | 4 +- drivers/media/spi/Kconfig | 4 +- drivers/media/test_drivers/Kconfig | 28 ++ drivers/media/test_drivers/Makefile | 9 + .../vicodec/Kconfig | 0 .../vicodec/Makefile | 0 .../vicodec/codec-fwht.c | 0 .../vicodec/codec-fwht.h | 0 .../vicodec/codec-v4l2-fwht.c | 0 .../vicodec/codec-v4l2-fwht.h | 0 .../vicodec/vicodec-core.c | 0 .../media/{platform => test_drivers}/vim2m.c | 0 .../{platform => test_drivers}/vimc/Kconfig | 4 +- .../{platform => test_drivers}/vimc/Makefile | 0 .../vimc/vimc-capture.c | 0 .../vimc/vimc-common.c | 0 .../vimc/vimc-common.h | 0 .../vimc/vimc-core.c | 0 .../vimc/vimc-debayer.c | 0 .../vimc/vimc-scaler.c | 0 .../vimc/vimc-sensor.c | 0 .../vimc/vimc-streamer.c | 0 .../vimc/vimc-streamer.h | 0 .../{platform => test_drivers}/vivid/Kconfig | 0 .../{platform => test_drivers}/vivid/Makefile | 0 .../vivid/vivid-cec.c | 0 .../vivid/vivid-cec.h | 0 .../vivid/vivid-core.c | 0 .../vivid/vivid-core.h | 0 .../vivid/vivid-ctrls.c | 0 .../vivid/vivid-ctrls.h | 0 .../vivid/vivid-kthread-cap.c | 0 .../vivid/vivid-kthread-cap.h | 0 .../vivid/vivid-kthread-out.c | 0 .../vivid/vivid-kthread-out.h | 0 .../vivid/vivid-kthread-touch.c | 0 .../vivid/vivid-kthread-touch.h | 0 .../vivid/vivid-meta-cap.c | 0 .../vivid/vivid-meta-cap.h | 0 .../vivid/vivid-meta-out.c | 0 .../vivid/vivid-meta-out.h | 0 .../vivid/vivid-osd.c | 0 .../vivid/vivid-osd.h | 0 .../vivid/vivid-radio-common.c | 0 .../vivid/vivid-radio-common.h | 0 .../vivid/vivid-radio-rx.c | 0 .../vivid/vivid-radio-rx.h | 0 .../vivid/vivid-radio-tx.c | 0 .../vivid/vivid-radio-tx.h | 0 .../vivid/vivid-rds-gen.c | 0 .../vivid/vivid-rds-gen.h | 0 .../vivid/vivid-sdr-cap.c | 0 .../vivid/vivid-sdr-cap.h | 0 .../vivid/vivid-touch-cap.c | 0 .../vivid/vivid-touch-cap.h | 0 .../vivid/vivid-vbi-cap.c | 0 .../vivid/vivid-vbi-cap.h | 0 .../vivid/vivid-vbi-gen.c | 0 .../vivid/vivid-vbi-gen.h | 0 .../vivid/vivid-vbi-out.c | 0 .../vivid/vivid-vbi-out.h | 0 .../vivid/vivid-vid-cap.c | 0 .../vivid/vivid-vid-cap.h | 0 .../vivid/vivid-vid-common.c | 0 .../vivid/vivid-vid-common.h | 0 .../vivid/vivid-vid-out.c | 0 .../vivid/vivid-vid-out.h | 0 drivers/media/usb/Kconfig | 14 +- drivers/media/usb/au0828/Kconfig | 6 +- drivers/media/usb/cx231xx/Kconfig | 4 +- drivers/media/usb/dvb-usb/Kconfig | 1 + drivers/media/usb/pvrusb2/Kconfig | 4 +- drivers/media/usb/tm6000/Kconfig | 4 +- drivers/media/v4l2-core/Kconfig | 19 +- drivers/staging/media/hantro/Kconfig | 5 +- drivers/staging/media/hantro/Makefile | 2 + drivers/staging/media/imx/Kconfig | 5 +- drivers/staging/media/ipu3/Kconfig | 3 +- drivers/staging/media/omap4iss/Kconfig | 4 +- drivers/staging/media/rkisp1/Kconfig | 4 +- drivers/staging/media/rkisp1/Makefile | 2 + drivers/staging/media/sunxi/cedrus/Kconfig | 5 +- 122 files changed, 829 insertions(+), 398 deletions(-) create mode 100644 drivers/media/pci/ddbridge/ddbridge-dummy-fe.c create mode 100644 drivers/media/pci/ddbridge/ddbridge-dummy-fe.h create mode 100644 drivers/media/test_drivers/Kconfig create mode 100644 drivers/media/test_drivers/Makefile rename drivers/media/{platform => test_drivers}/vicodec/Kconfig (100%) rename drivers/media/{platform => test_drivers}/vicodec/Makefile (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.c (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.h (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.c (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.h (100%) rename drivers/media/{platform => test_drivers}/vicodec/vicodec-core.c (100%) rename drivers/media/{platform => test_drivers}/vim2m.c (100%) rename drivers/media/{platform => test_drivers}/vimc/Kconfig (83%) rename drivers/media/{platform => test_drivers}/vimc/Makefile (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-capture.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-common.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-common.h (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-core.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-debayer.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-scaler.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-sensor.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.h (100%) rename drivers/media/{platform => test_drivers}/vivid/Kconfig (100%) rename drivers/media/{platform => test_drivers}/vivid/Makefile (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-core.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-core.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.h (100%) -- 2.25.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 50E4AC2BA1B for ; Tue, 31 Mar 2020 11:12:41 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 226F720838 for ; Tue, 31 Mar 2020 11:12:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="FGmZUuT2"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="jMAH8T3J" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 226F720838 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=BWHO5wtbhvm01v8XbMqstMCSKiZrcCYEnTGhUHqyg98=; b=FGmZUuT2qp+l+N MUOjKw2PUBGRurA23YwC3wwECtQYe/4ScgyOxH2fJnvW0ySYMcMDBEqvlxIaMPDE4kZcSJa1yqGSt DzPnIf4ATjljABRosiCQrR7IBku7sTeFOaWZBhy5QWcbwtiJlM8b9LF7kTGrwHgf5kbu/5BRUs3Mm OWrfmgNU2AvWu7hlAOTjt7srSsr68WImYKqxgOmHXJgHZk3CqZK1VmqvoT0bTbM0oZMDnYL59WdcS nQn16A9UDHOFpnB4yCxhhLBX4qfHXMVpLGwYGFneyNnvrpZ0ouhAOEVmL9tL4+rFEfmOwKXHKRkOb FPoYjlwUMKNmEAsTvQ3w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jJEou-0000gS-FJ; Tue, 31 Mar 2020 11:12:36 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jJEoY-0000Q5-98; Tue, 31 Mar 2020 11:12:16 +0000 Received: from mail.kernel.org (ip5f5ad4d8.dynamic.kabel-deutschland.de [95.90.212.216]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 4375B20838; Tue, 31 Mar 2020 11:12:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585653133; bh=G1rKh20PNlZcrxj0bxu7OOVq4n7E9ZdfbkM1U0Pfy5o=; h=From:To:Cc:Subject:Date:From; b=jMAH8T3JQt43zBzG4nQRWAScKIhZLvgP7nGREPtHt0KGxCEAxfzTjGbeICtbGWS/S 3rS/HRfVk33Ss7ts+utriBE3afmyScZfXqd28Bh5Gv2VzyPI2qVB2ayy4+QUXJtxjC mBpHaG0Xk0Ku4tcuWIjLEkyxxN+zyPdHEUM8HmVQ= Received: from mchehab by mail.kernel.org with local (Exim 4.92.3) (envelope-from ) id 1jJEoU-002bpp-Vs; Tue, 31 Mar 2020 13:12:10 +0200 From: Mauro Carvalho Chehab To: Linux Media Mailing List Subject: [PATCH v4 00/33] Media Kconfig menu reorg and improvements Date: Tue, 31 Mar 2020 13:11:36 +0200 Message-Id: X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200331_041214_374467_B5478163 X-CRM114-Status: GOOD ( 19.16 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devel@driverdev.osuosl.org, linux-samsung-soc@vger.kernel.org, Mauro Carvalho Chehab , linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org, linux1394-devel@lists.sourceforge.net, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org The media Kconfig menu is complex. From time to time, it requires some improvements. This series is organized on two parts: 1. Patches 1 to 19: cleanups and improvements; - Try to be smarter when selecting features. So, auto-select Cypress firmware support on drivers that use it. Also, auto-select Media Controller and V4L2 subdevice API for devices that won't work without such features. Please notice that some drivers have can work optionally with those features enabled (or not). For those, users should still explicitly enable such features. - Platform and test drivers have now an option at the device support selection; - The test drivers are not platform drivers. They deserve their own directory. When a test driver is selected, the needed API support will be automatically selected. - Do some Kconfig reorg, in order to keep the main media Kconfig as clean as possible. - The help messafe for media support was outdated; - The ddbridge driver was abusing at the dvb dummy frontend driver (meant to be just an example). It will now have its own internal dummy driver, as the original one will soon receive more code and become a virtual driver. - There's a longstanding issue with hybrid TV devices: for an hybrid device to work, *both* analog and digital TV would need to be selected. As the Kconfig language improved, we can now address it. So, selecting either analog or digital TV support should display all hybrid devices. When an hybrid driver is selected, both V4L2 and DVB core will be available. 2. Patches 20 to 33: visual changes. - At the beginning, media had just "technical" options to enable/disable each feature. However, that leads into hundreds of different options, being a nightmare for a mortal to set it up. So, the Kconfig menu options were re-designed in order to bring a more user-oriented view: The initial items select the type of devices (analog TV, digital TV, cameras, ...). Selecting it would auto-select the core drivers. The next step would be to select either PCI or USB, and the needed driver. While this makes life simpler, now there are many embedded developers. Most seem to prefer to be able of seeing everything without filters. The main focus of this part is to make everybody happy: it is now possible to unselect the filters, making all options visible. Also, now, when the filter is enabled, the media drivers menu will show a message warning that the filter is active. Hopefully, this should make both embedded developers and normal users happy. - The media menus now have a more modern visual, grouping options in a way that it is now clearer about what they do. So, the Media support menu is now: --- Media support [ ] Filter media drivers [ ] Autoselect ancillary drivers Media device types ---> Media core support ---> Video4Linux options ---> Media controller options ---> Digital TV options ---> HDMI CEC options ---> Media drivers ---> Media ancillary drivers ---> Mauro Carvalho Chehab (33): media: dvb-usb: auto-select CYPRESS_FIRMWARE media: Kconfig: add an option to filter in/out platform drivers media: Kconfig: not all V4L2 platform drivers are for camera media: pci: move VIDEO_PCI_SKELETON to a different Kconfig media: Kconfig: update the MEDIA_SUPPORT help message media: split test drivers from platform directory media: Kconfig: move comment to siano include media: Kconfig: move drivers-specific TTPCI_EEPROM Kconfig var media: Kconfig: mode firewire comment to firewire/Kconfig media: ddbridge: copy the dvb_dummy_fe driver to ddbridge media: ddbridge-dummy_fe: do some vars and function renames media: ddbridge: use the ddbridge's own dummy fe driver media: Kconfig: mark other drivers as test drivers media: Kconfig: simplify some dependencies media: Kconfig: better support hybrid TV devices media: Kconfig: fix selection for test drivers media: add SPDX headers on Kconfig and Makefile files media: dvb-core: Kconfig: default to use dynamic minors media: Kconfig files: use select for V4L2 subdevs and MC media: Kconfig: reorganize the drivers menu options media: Kconfig: use a sub-menu to select supported devices media: Kconfig: make filtering devices optional media: Kconfig: warn if drivers are filtered media: Kconfig: move CEC-specific options to cec/Kconfig media: Kconfig: move DVB-specific options to dvb-core/Kconfig media: Kconfig: move V4L2 subdev API to v4l2-core/Kconfig media: Kconfig: move media controller core select to main Kconfig media: Kconfig: place all options under a sub-menu media: Kconfig: move the position of sub-driver autoselection media: Kconfig: on !EMBEDDED && !EXPERT, enable driver filtering media: Kconfig: Better organize the per-API options media: i2c/Kconfig: reorganize items there media: Kconfig: don't use visible for device type select drivers/media/Kconfig | 262 ++++++----- drivers/media/cec/Kconfig | 10 + drivers/media/common/Kconfig | 2 +- drivers/media/dvb-core/Kconfig | 27 ++ drivers/media/dvb-frontends/Kconfig | 15 +- drivers/media/firewire/Kconfig | 5 +- drivers/media/i2c/Kconfig | 406 +++++++++++------- drivers/media/i2c/et8ek8/Kconfig | 4 +- drivers/media/i2c/m5mols/Kconfig | 5 +- drivers/media/i2c/smiapp/Kconfig | 5 +- drivers/media/mc/Kconfig | 11 +- drivers/media/mmc/Kconfig | 1 - drivers/media/mmc/siano/Kconfig | 2 + drivers/media/pci/Kconfig | 24 +- drivers/media/pci/bt8xx/Kconfig | 5 +- drivers/media/pci/cobalt/Kconfig | 4 +- drivers/media/pci/cx18/Kconfig | 2 +- drivers/media/pci/cx23885/Kconfig | 4 +- drivers/media/pci/cx88/Kconfig | 4 +- drivers/media/pci/ddbridge/Kconfig | 1 - drivers/media/pci/ddbridge/Makefile | 2 +- drivers/media/pci/ddbridge/ddbridge-core.c | 4 +- .../media/pci/ddbridge/ddbridge-dummy-fe.c | 153 +++++++ .../media/pci/ddbridge/ddbridge-dummy-fe.h | 16 + drivers/media/pci/intel/ipu3/Kconfig | 4 +- drivers/media/pci/saa7134/Kconfig | 4 +- drivers/media/pci/saa7164/Kconfig | 2 +- drivers/media/pci/sta2x11/Kconfig | 6 +- drivers/media/platform/Kconfig | 56 +-- drivers/media/platform/Makefile | 5 - drivers/media/platform/am437x/Kconfig | 4 +- drivers/media/platform/atmel/Kconfig | 4 +- drivers/media/platform/cadence/Kconfig | 8 +- drivers/media/platform/exynos4-is/Kconfig | 5 +- drivers/media/platform/rcar-vin/Kconfig | 8 +- drivers/media/platform/sunxi/Kconfig | 2 + drivers/media/platform/sunxi/Makefile | 2 + .../media/platform/sunxi/sun4i-csi/Kconfig | 6 +- .../media/platform/sunxi/sun4i-csi/Makefile | 2 + .../media/platform/sunxi/sun6i-csi/Kconfig | 4 +- drivers/media/platform/xilinx/Kconfig | 4 +- drivers/media/spi/Kconfig | 4 +- drivers/media/test_drivers/Kconfig | 28 ++ drivers/media/test_drivers/Makefile | 9 + .../vicodec/Kconfig | 0 .../vicodec/Makefile | 0 .../vicodec/codec-fwht.c | 0 .../vicodec/codec-fwht.h | 0 .../vicodec/codec-v4l2-fwht.c | 0 .../vicodec/codec-v4l2-fwht.h | 0 .../vicodec/vicodec-core.c | 0 .../media/{platform => test_drivers}/vim2m.c | 0 .../{platform => test_drivers}/vimc/Kconfig | 4 +- .../{platform => test_drivers}/vimc/Makefile | 0 .../vimc/vimc-capture.c | 0 .../vimc/vimc-common.c | 0 .../vimc/vimc-common.h | 0 .../vimc/vimc-core.c | 0 .../vimc/vimc-debayer.c | 0 .../vimc/vimc-scaler.c | 0 .../vimc/vimc-sensor.c | 0 .../vimc/vimc-streamer.c | 0 .../vimc/vimc-streamer.h | 0 .../{platform => test_drivers}/vivid/Kconfig | 0 .../{platform => test_drivers}/vivid/Makefile | 0 .../vivid/vivid-cec.c | 0 .../vivid/vivid-cec.h | 0 .../vivid/vivid-core.c | 0 .../vivid/vivid-core.h | 0 .../vivid/vivid-ctrls.c | 0 .../vivid/vivid-ctrls.h | 0 .../vivid/vivid-kthread-cap.c | 0 .../vivid/vivid-kthread-cap.h | 0 .../vivid/vivid-kthread-out.c | 0 .../vivid/vivid-kthread-out.h | 0 .../vivid/vivid-kthread-touch.c | 0 .../vivid/vivid-kthread-touch.h | 0 .../vivid/vivid-meta-cap.c | 0 .../vivid/vivid-meta-cap.h | 0 .../vivid/vivid-meta-out.c | 0 .../vivid/vivid-meta-out.h | 0 .../vivid/vivid-osd.c | 0 .../vivid/vivid-osd.h | 0 .../vivid/vivid-radio-common.c | 0 .../vivid/vivid-radio-common.h | 0 .../vivid/vivid-radio-rx.c | 0 .../vivid/vivid-radio-rx.h | 0 .../vivid/vivid-radio-tx.c | 0 .../vivid/vivid-radio-tx.h | 0 .../vivid/vivid-rds-gen.c | 0 .../vivid/vivid-rds-gen.h | 0 .../vivid/vivid-sdr-cap.c | 0 .../vivid/vivid-sdr-cap.h | 0 .../vivid/vivid-touch-cap.c | 0 .../vivid/vivid-touch-cap.h | 0 .../vivid/vivid-vbi-cap.c | 0 .../vivid/vivid-vbi-cap.h | 0 .../vivid/vivid-vbi-gen.c | 0 .../vivid/vivid-vbi-gen.h | 0 .../vivid/vivid-vbi-out.c | 0 .../vivid/vivid-vbi-out.h | 0 .../vivid/vivid-vid-cap.c | 0 .../vivid/vivid-vid-cap.h | 0 .../vivid/vivid-vid-common.c | 0 .../vivid/vivid-vid-common.h | 0 .../vivid/vivid-vid-out.c | 0 .../vivid/vivid-vid-out.h | 0 drivers/media/usb/Kconfig | 14 +- drivers/media/usb/au0828/Kconfig | 6 +- drivers/media/usb/cx231xx/Kconfig | 4 +- drivers/media/usb/dvb-usb/Kconfig | 1 + drivers/media/usb/pvrusb2/Kconfig | 4 +- drivers/media/usb/tm6000/Kconfig | 4 +- drivers/media/v4l2-core/Kconfig | 19 +- drivers/staging/media/hantro/Kconfig | 5 +- drivers/staging/media/hantro/Makefile | 2 + drivers/staging/media/imx/Kconfig | 5 +- drivers/staging/media/ipu3/Kconfig | 3 +- drivers/staging/media/omap4iss/Kconfig | 4 +- drivers/staging/media/rkisp1/Kconfig | 4 +- drivers/staging/media/rkisp1/Makefile | 2 + drivers/staging/media/sunxi/cedrus/Kconfig | 5 +- 122 files changed, 829 insertions(+), 398 deletions(-) create mode 100644 drivers/media/pci/ddbridge/ddbridge-dummy-fe.c create mode 100644 drivers/media/pci/ddbridge/ddbridge-dummy-fe.h create mode 100644 drivers/media/test_drivers/Kconfig create mode 100644 drivers/media/test_drivers/Makefile rename drivers/media/{platform => test_drivers}/vicodec/Kconfig (100%) rename drivers/media/{platform => test_drivers}/vicodec/Makefile (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.c (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-fwht.h (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.c (100%) rename drivers/media/{platform => test_drivers}/vicodec/codec-v4l2-fwht.h (100%) rename drivers/media/{platform => test_drivers}/vicodec/vicodec-core.c (100%) rename drivers/media/{platform => test_drivers}/vim2m.c (100%) rename drivers/media/{platform => test_drivers}/vimc/Kconfig (83%) rename drivers/media/{platform => test_drivers}/vimc/Makefile (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-capture.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-common.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-common.h (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-core.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-debayer.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-scaler.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-sensor.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.c (100%) rename drivers/media/{platform => test_drivers}/vimc/vimc-streamer.h (100%) rename drivers/media/{platform => test_drivers}/vivid/Kconfig (100%) rename drivers/media/{platform => test_drivers}/vivid/Makefile (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-cec.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-core.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-core.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-ctrls.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-out.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-kthread-touch.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-meta-out.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-osd.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-common.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-rx.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-radio-tx.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-rds-gen.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-sdr-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-touch-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-gen.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vbi-out.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-cap.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-common.h (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.c (100%) rename drivers/media/{platform => test_drivers}/vivid/vivid-vid-out.h (100%) -- 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel