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: 11940881 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=-15.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,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 B9D1BC83013 for ; Mon, 30 Nov 2020 15:38:23 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6AF632076C for ; Mon, 30 Nov 2020 15:38:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="uAX1dK/K" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728237AbgK3Phq (ORCPT ); Mon, 30 Nov 2020 10:37:46 -0500 Received: from mail.kernel.org ([198.145.29.99]:43360 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728156AbgK3Pho (ORCPT ); Mon, 30 Nov 2020 10:37:44 -0500 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 Cc: Mauro Carvalho Chehab , linux-kernel@vger.kernel.org, Jonathan Corbet , "Daniel W. S. Almeida" , "H. Peter Anvin" , "James E.J. Bottomley" , =?utf-8?q?J?= =?utf-8?q?onathan_Neusch=C3=A4fer?= , Albert Ou , Andrew Cooper , Benjamin Herrenschmidt , Borislav Petkov , Catalin Marinas , Christian Borntraeger , Fenghua Yu , Greg Kroah-Hartman , Heiko Carstens , Helge Deller , Ingo Molnar , Jonas Bonn , Kees Cook , Masami Hiramatsu , Michael Ellerman , Palmer Dabbelt , Paul Mackerras , Paul Walmsley , Rich Felker , Stafford Horne , Stefan Kristiansson , Thomas Bogendoerfer , Thomas Gleixner , Tony Luck , Vasily Gorbik , Will Deacon , Yoshinori Sato , linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, openrisc@lists.librecores.org, x86@kernel.org 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 Sender: Mauro Carvalho Chehab Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.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