Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp1234183ybi; Fri, 14 Jun 2019 10:53:16 -0700 (PDT) X-Google-Smtp-Source: APXvYqytJvrHdb9wFXi1KjYN2kr+/6ZRG/wRub2jVAiOszc5BWjOiamAmj8KDUpX9ImxIXY7GfYK X-Received: by 2002:a65:654f:: with SMTP id a15mr14197774pgw.73.1560534795893; Fri, 14 Jun 2019 10:53:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560534795; cv=none; d=google.com; s=arc-20160816; b=L5I+9Boh8zKLBJMh5EBxnBfFWt9xTJZu6lLQxxmpAnxtrJQze78+W4shJnAS5NjQ// OYpk1Kqix3ZNmB10bjggFypJlz3L894Ndxq+RMHjwKhCfywa4/ah47f6esEFS7K1pVNj wElUuVErKzrAE6XHZTf7gtR/rkVz7yE9LIpt/3nuSOt2+wH7IQe20MnPyqNbjTtbBvMO 3u+VHUCuTvJXrCxcRXKQySCM0JAhrCowv8easvfu5AOYV27FFf5thm6xJEdzuw+fBvnQ 7C5+FjY164ML2CI+bv7xn79idS5SPL7zpBGNWCFRP7t2e35MVWN8r1gaTPyy/chc/IZS w8wg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=3v0sS61wq796LTjrCIGlnUicOjJQzGAsiyF19M1EX2c=; b=h7ZIOd/e2ClvUe7J+TyY/ypxrG7lQHBM36uuZbWRO1bt2L3FVnF6VOdCDazRW5QJ7Y UU++QpxRFzyu4ba5sS/CennviaRfQUaz6LmmkjAZjwYdQNDjkS9g1mKFeoZyWvJxfzuh brxhKCpBbDL+hePblt99sOKYAgz11SgSybfzS4c1aKCytXYY8ABqfpIjnYbsU/ee7KXt ZcpU8mULo94UXC0v7P39k/J7ZiBkcHlJeILJcCIIedhWHXFPsFYJ7klFvsCMnZoJQvuR QpjxZTvJgm+X2/nVWShbLUmE+6VgrmbfJ5jwJNwODzBeUCicAKHAiL5JkBzLk+onEOuq jIYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b="u/ESh3f6"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a129si3140721pfa.200.2019.06.14.10.53.01; Fri, 14 Jun 2019 10:53:15 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b="u/ESh3f6"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727210AbfFNRwn (ORCPT + 99 others); Fri, 14 Jun 2019 13:52:43 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:38622 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726649AbfFNRwf (ORCPT ); Fri, 14 Jun 2019 13:52:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Sender:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=3v0sS61wq796LTjrCIGlnUicOjJQzGAsiyF19M1EX2c=; b=u/ESh3f65BSLRXkZ+AXmBNxjNC gnrwrngtlWnKOr3vhuLTSXY9/fdw9r+AL/Rav1M8w9/KFYKl52HJA8vdrptJG26xi+f+9PYiWHGQu YDj+hpvXJ9lIwYb4dqevFJxcU/dt+uyGZmLfQNHEaIFYlba6LLlmVsnqR99Y3n9PSvz94scfvfG4y oigeSHE4XLskhNbhaRES1Yr55THnSNML14iy4zlbHY6MK2OUK2dbsXEoOSTOqYOM+l3aoa5sUtoPB +iMhUs+h2lHmCIluqwEkAhQDVR+0mKFQDTxEqUJ/b2iMlupvWjfkuhi7OiC6uUj4aGAIMl0fPzUcl h1JLhJAg==; Received: from 177.133.85.52.dynamic.adsl.gvt.net.br ([177.133.85.52] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hbqNO-0000PZ-JI; Fri, 14 Jun 2019 17:52:34 +0000 Received: from mchehab by bombadil.infradead.org with local (Exim 4.92) (envelope-from ) id 1hbqNL-0002Ou-TC; Fri, 14 Jun 2019 14:52:31 -0300 From: Mauro Carvalho Chehab To: Linux Doc Mailing List , Greg Kroah-Hartman Cc: Mauro Carvalho Chehab , Mauro Carvalho Chehab , linux-kernel@vger.kernel.org, Jonathan Corbet Subject: [PATCH v2 08/16] scripts/get_abi.pl: represent what in tables Date: Fri, 14 Jun 2019 14:52:22 -0300 Message-Id: <8a1ae200b2ccdc04811a11cececeaad16c020556.1560534648.git.mchehab+samsung@kernel.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <3b8d7c64f887ddea01df3c4eeabc745c8ec45406.1560534648.git.mchehab+samsung@kernel.org> References: <3b8d7c64f887ddea01df3c4eeabc745c8ec45406.1560534648.git.mchehab+samsung@kernel.org> 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 Several entries at the ABI have multiple What: with the same description. Instead of showing those symbols as sections, let's show them as tables. That makes easier to read on the final output, and avoid too much recursion at Sphinx parsing. We need to put file references at the end, as we don't want non-file tables to be mangled with other entries. Signed-off-by: Mauro Carvalho Chehab --- scripts/get_abi.pl | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/scripts/get_abi.pl b/scripts/get_abi.pl index ecf6b91df7c4..7d454e359d25 100755 --- a/scripts/get_abi.pl +++ b/scripts/get_abi.pl @@ -193,16 +193,19 @@ sub parse_abi { # # Outputs the book on ReST format # + sub output_rest { - foreach my $what (sort keys %data) { + foreach my $what (sort { + ($data{$a}->{type} eq "File") cmp ($data{$b}->{type} eq "File") || + $a cmp $b + } keys %data) { my $type = $data{$what}->{type}; my $file = $data{$what}->{file}; + my $filepath = $data{$what}->{filepath}; my $w = $what; $w =~ s/([\(\)\_\-\*\=\^\~\\])/\\$1/g; - my $bar = $w; - $bar =~ s/./-/g; foreach my $p (@{$data{$what}->{label}}) { my ($content, $label) = @{$p}; @@ -222,9 +225,37 @@ sub output_rest { last; } - print "$w\n$bar\n\n"; - print "- defined on file $file (type: $type)\n\n" if ($type ne "File"); + $filepath =~ s,.*/(.*/.*),\1,;; + $filepath =~ s,[/\-],_,g;; + my $fileref = "abi_file_".$filepath; + + if ($type eq "File") { + my $bar = $w; + $bar =~ s/./-/g; + + print ".. _$fileref:\n\n"; + print "$w\n$bar\n\n"; + } else { + my @names = split /\s*,\s*/,$w; + + my $len = 0; + + foreach my $name (@names) { + $len = length($name) if (length($name) > $len); + } + + print "What:\n\n"; + + print "+-" . "-" x $len . "-+\n"; + foreach my $name (@names) { + printf "| %s", $name . " " x ($len - length($name)) . " |\n"; + print "+-" . "-" x $len . "-+\n"; + } + print "\n"; + } + + print "Defined on file :ref:`$file <$fileref>`\n\n" if ($type ne "File"); my $desc = $data{$what}->{description}; $desc =~ s/^\s+//; -- 2.21.0