From patchwork Mon Nov 30 15:36:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 11940887 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=-13.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 800BCC64E8A for ; Mon, 30 Nov 2020 15:38:32 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 02E6A206C0 for ; Mon, 30 Nov 2020 15:38:31 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Dgu/x9Jx"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="uAX1dK/K" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 02E6A206C0 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+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=merlin.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=1v1zxOUdlAi7rbbBW2HMqGjEGm2Udg3pEWKE85ve074=; b=Dgu/x9JxJclakvwKs0vCVq5z7w Bifl26NMvbbIiyrS/+zJ4fH4GCqPwMd4ApJtJWi1ZYp2RgoCUxHiaElcQfzG74dKKYXytQlKkKEZ6 0I3p8qZ48wiseELvoqrWnHwoCH4gbALHZCkF1jBBffhP1AJX2m1qwyVjWtu9Py4nrCba43Xog5AFT VOaLaTc3NRsWgRzeyXlI+vxZddT9+dIw5iom6KAI736e1kh/RY+fRnJvqOFCCR6dANtyfLv9pnueh WXPrVoW8+jU1HAWfAVDRlktYtvdEGoMjdvOMm9kdYiHnzPpg5px1hlLkfcuxTD/K8ahEHf+C116in ESN1zpQQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kjlES-0000sk-4H; Mon, 30 Nov 2020 15:36:52 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kjlEM-0000qK-QB; Mon, 30 Nov 2020 15:36:48 +0000 Received: from mail.kernel.org (ip5f5ad5b3.dynamic.kabel-deutschland.de [95.90.213.179]) (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 15E11208DB; Mon, 30 Nov 2020 15:36:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1606750605; bh=Nq7nieU9NxFApiiKqP1AICqSGy1X7FthNYZ1ce3w7kc=; h=From:To:Cc:Subject:Date:From; b=uAX1dK/KSSKf4Arojv/EDH+dOAzk9oYTaBF/88x9pGVVKS4rmWxOABF74+EklXubT 3+gsW9AXa1g6BYYtD5C2JQEufVOJpgzUdCkv/M3UdVc749uXzTGDSzsP8ZCOpFGEQ1 WwhTpLqH+/ozooez/Vwhu2kwSmK5XfW3EFpaJgKI= Received: from mchehab by mail.kernel.org with local (Exim 4.94) (envelope-from ) id 1kjlEI-00CjvH-B9; Mon, 30 Nov 2020 16:36:42 +0100 From: Mauro Carvalho Chehab To: Linux Doc Mailing List Subject: [PATCH 0/6] Add documentation for Documentation/features at the built docs Date: Mon, 30 Nov 2020 16:36:29 +0100 Message-Id: X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201130_103647_026057_71FDBDA6 X-CRM114-Status: GOOD ( 20.23 ) 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: Rich Felker , linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, Benjamin Herrenschmidt , linux-mips@vger.kernel.org, "James E.J. Bottomley" , Paul Mackerras , "H. Peter Anvin" , linux-riscv@lists.infradead.org, Will Deacon , Thomas Gleixner , Jonas Bonn , linux-s390@vger.kernel.org, Yoshinori Sato , Jonathan Corbet , Mauro Carvalho Chehab , Michael Ellerman , Helge Deller , x86@kernel.org, Christian Borntraeger , Ingo Molnar , Catalin Marinas , Fenghua Yu , Albert Ou , Kees Cook , Vasily Gorbik , Heiko Carstens , =?utf-8?q?Jonathan_Neusch=C3=A4fer?= , Stefan Kristiansson , Tony Luck , Borislav Petkov , Paul Walmsley , Stafford Horne , "Daniel W. S. Almeida" , linux-arm-kernel@lists.infradead.org, Thomas Bogendoerfer , linux-parisc@vger.kernel.org, Andrew Cooper , linux-kernel@vger.kernel.org, openrisc@lists.librecores.org, Palmer Dabbelt , Masami Hiramatsu , Greg Kroah-Hartman , linuxppc-dev@lists.ozlabs.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Jon, This series got already submitted last year: https://lore.kernel.org/lkml/cover.1561222784.git.mchehab+samsung@kernel.org/ Yet, on that time, there were too many other patches related to ReST conversion floating around. So, at the end, I guess this one got missed. So, I did a rebase on the top of upstream, and added a few new changes. Patch 1 contains the original implementation back then. It adds a get_feat.pl script that parses the contents of Documentation/features. Patch 2 is new: it re-implements the output of the full contents of the features table as a set of per-subsystem tables. Patch 3 replaces the existing Documentation/features/list-arch.sh by a call to the new script, in order to avoid having two scripts doing the same thing. Patch 4 is a sphinx extension to allow generating features output via a meta-tag. Patch 5 adds a complete feature list covering all archs at the admin guide. Patch 6 adds a per-arch feature list on each architecture book. - The scripts/get_feat.pl supports several types of output: - $ scripts/get_feat.pl current Outputs the supported feadures by the architecture of the running Kernel, as an ASCII table; - $ scripts/get_feat.pl list Outputs the supported features on an easy to be parsed format. By default, it uses the current architecture as well; - $ scripts/get_feat.pl rest --feature jump-labels Output what architecture supports a given feature (on the above example, "jump-labels" feature) - $ scripts/get_feat.pl rest --arch um Outputs the features support for an specific architecture (on the above example, for "um" architecture. - $ scripts/get_feat.pl rest Outputs a text file with ASCII tables (ReST compatible) with all features, grouped per subsystem. E. g. something like: =================================== Feature status on all architectures =================================== Subsystem: core =============== +---------------------+---------------------------------+-------------------------------------------------------------------------+------------+------+ |Feature |Kconfig |Description |Architecture|Status| +=====================+=================================+=========================================================================+============+======+ |cBPF-JIT |HAVE_CBPF_JIT |arch supports cBPF JIT optimizations |alpha |TODO | | | | +------------+------+ | | | |arc |TODO | | | | +------------+------+ | | | |arm |TODO | | | | +------------+------+ | | | |arm64 |TODO | | | | +------------+------+ | | | |c6x |TODO | | | | +------------+------+ | | | |csky |TODO | | | | +------------+------+ | | | |h8300 |TODO | | | | +------------+------+ | | | |hexagon |TODO | ... Adding those patchsets will basically place the contents of all files under Documentation/features (currently, 45 files) at the Kernel documentation, which is, IMO, a good thing to do. Regards, Mauro Mauro Carvalho Chehab (6): scripts: get_feat.pl: add a script to handle Documentation/features scripts: get_feat.pl: improve matrix output scripts: get_feat.pl: use its implementation for list-arch.sh sphinx: kernel_feat.py: add a script to parse feature files docs: admin-guide: add a features list docs: archis: add a per-architecture features list Documentation/admin-guide/features.rst | 3 + Documentation/admin-guide/index.rst | 1 + Documentation/arm/features.rst | 3 + Documentation/arm/index.rst | 2 + Documentation/arm64/features.rst | 3 + Documentation/arm64/index.rst | 2 + Documentation/conf.py | 2 +- Documentation/features/list-arch.sh | 17 +- Documentation/ia64/features.rst | 3 + Documentation/ia64/index.rst | 2 + Documentation/index.rst | 2 +- Documentation/m68k/features.rst | 3 + Documentation/m68k/index.rst | 2 + Documentation/mips/features.rst | 3 + Documentation/mips/index.rst | 2 + Documentation/nios2/index.rst | 12 + Documentation/openrisc/features.rst | 3 + Documentation/openrisc/index.rst | 2 + Documentation/parisc/features.rst | 3 + Documentation/parisc/index.rst | 2 + Documentation/powerpc/features.rst | 3 + Documentation/powerpc/index.rst | 2 + Documentation/riscv/features.rst | 3 + Documentation/riscv/index.rst | 2 + Documentation/s390/features.rst | 3 + Documentation/s390/index.rst | 2 + Documentation/sh/features.rst | 3 + Documentation/sh/index.rst | 2 + Documentation/sparc/features.rst | 3 + Documentation/sparc/index.rst | 2 + Documentation/sphinx/kernel_feat.py | 169 ++++++++ Documentation/x86/features.rst | 3 + Documentation/x86/index.rst | 1 + Documentation/xtensa/features.rst | 3 + Documentation/xtensa/index.rst | 2 + scripts/get_feat.pl | 552 +++++++++++++++++++++++++ 36 files changed, 810 insertions(+), 17 deletions(-) create mode 100644 Documentation/admin-guide/features.rst create mode 100644 Documentation/arm/features.rst create mode 100644 Documentation/arm64/features.rst create mode 100644 Documentation/ia64/features.rst create mode 100644 Documentation/m68k/features.rst create mode 100644 Documentation/mips/features.rst create mode 100644 Documentation/nios2/index.rst create mode 100644 Documentation/openrisc/features.rst create mode 100644 Documentation/parisc/features.rst create mode 100644 Documentation/powerpc/features.rst create mode 100644 Documentation/riscv/features.rst create mode 100644 Documentation/s390/features.rst create mode 100644 Documentation/sh/features.rst create mode 100644 Documentation/sparc/features.rst create mode 100644 Documentation/sphinx/kernel_feat.py create mode 100644 Documentation/x86/features.rst create mode 100644 Documentation/xtensa/features.rst create mode 100755 scripts/get_feat.pl