From mboxrd@z Thu Jan 1 00:00:00 1970 From: Barry Song <21cnbao@gmail.com> Subject: Re: [PATCH] ARM: sort select statements alphanumerically Date: Tue, 9 Oct 2012 14:18:25 +0800 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Russell King Cc: linux-sh@vger.kernel.org, Tony Lindgren , Linus Walleij , Sekhar Nori , Daniel Walker , Kevin Hilman , linux-samsung-soc@vger.kernel.org, Srinidhi Kasagar , Magnus Damm , David Brown , Jean-Christophe Plagniol-Villard , Alessandro Rubini , Stephen Warren , linux-arm-msm@vger.kernel.org, spear-devel@list.st.com, Haojian Zhuang , Shiraz Hashim , Kukjin Kim , DL-SHA-WorkGroupLinux , Ben Dooks , Barry Song , linux-tegra@vger.kernel.org, linux-omap@vger.kernel.org, Andrew Victor linux List-Id: linux-arm-msm@vger.kernel.org 2012/10/7 Russell King : > As suggested by Andrew Morton: > > This is a pet peeve of mine. Any time there's a long list of items > (header file inclusions, kconfig entries, array initalisers, etc) and > someone wants to add a new item, they *always* go and stick it at the > end of the list. > ... > Guys, don't do this. Either put the new item into a randomly-chosen > position or, probably better, alphanumerically sort the list. > > For this reason it looks like approximately 0% of the patchset will > apply, sorry. > > lets sort all our select statements alphanumerically. This commit was > created by the following script: > > #!/usr/bin/perl > while (<>) { > while (/\\\s*$/) { > $_ .= <>; > } > undef %selects if /^\s*config\s+/; > if (/^\s+select\s+(\w+).*/) { > if (defined($selects{$1})) { > if ($selects{$1} eq $_) { > print STDERR "Warning: removing duplicated $1 entry\n"; > } else { > print STDERR "Error: $1 differently selected\n". > "\tOld: $selects{$1}\n". > "\tNew: $_\n"; > exit 1; > } > } > $selects{$1} = $_; > next; > } > if (%selects and (/^\s*$/ or /^\s+help/)) { > foreach $k (sort (keys %selects)) { > print "$selects{$k}"; > } > undef %selects; > } > print; > } > if (%selects) { > foreach $k (sort (keys %selects)) { > print "$selects{$k}"; > } > } > > It found two duplicates: > > Warning: removing duplicated S5P_SETUP_MIPIPHY entry > Warning: removing duplicated HARDIRQS_SW_RESEND entry > > and they are identical duplicates, hence the shrinkage in the diffstat > of two lines. > > Signed-off-by: Russell King Changes in CSR prima2 arch look fine, Acked-by: Barry Song BTW, i have a bundle of patches coming for new Marco platform which will also change the Kconfig. > --- > This commit is likely to change as we get closer to the end of the merge > window, as other changes get merged into Linus' tree. I will be refreshing > this from time to time, and keeping it out of linux-next, as it will cause > more pain than its worth to put it into linux-next. > > Anyone who wants to give this a review to check that it's correct are welcome, > but I don't think it would be appropriate to collect attributation tags for > it, as this won't be the final patch. > > This patch is intentionally broken to prevent Linus from applying it - this > is information only! > > Anyone who wants to apply it can do so by first running this patch through: > > sed 's/^-- /@@ /' > > arch/arm/Kconfig | 399 ++++++++++++++++++------------------- > arch/arm/common/Kconfig | 4 +- > arch/arm/mach-at91/Kconfig | 26 ++-- > arch/arm/mach-clps711x/Kconfig | 4 +- > arch/arm/mach-davinci/Kconfig | 16 +- > arch/arm/mach-exynos/Kconfig | 181 +++++++++--------- > arch/arm/mach-footbridge/Kconfig | 8 +- > arch/arm/mach-h720x/Kconfig | 2 +- > arch/arm/mach-imx/Kconfig | 120 ++++++------ > arch/arm/mach-ixp4xx/Kconfig | 2 +- > arch/arm/mach-mmp/Kconfig | 6 +- > arch/arm/mach-msm/Kconfig | 28 ++-- > arch/arm/mach-nomadik/Kconfig | 4 +- > arch/arm/mach-omap1/Kconfig | 8 +- > arch/arm/mach-omap2/Kconfig | 68 +++--- > arch/arm/mach-prima2/Kconfig | 2 +- -barry