linux-xiaomi-chiron/drivers/media/rc
Mauro Carvalho Chehab 6cdc31b2d7 media: media/*/Kconfig: sort entries
Currently, the idems inside media Kconfig are out of order.
Sort them using the script below:

<script>
use strict;
use warnings;

my %config;
my @source;
my $out;

sub flush_config()
{
	if (scalar %config) {
		for my $c (sort keys %config) {
			$out .= $config{$c} . "\n";
		}
		%config = ();
	}

	return if (!scalar @source);

	$out .= "\n";
	for my $s (sort @source) {
		$out .= $s;
	}
	$out .= "\n";

	@source = ();
}

sub sort_kconfig($)
{
	my $fname = shift;
	my $cur_config = "";

	@source = ();
	$out = "";
	%config = ();

	open IN, $fname or die;
	while (<IN>) {
		if (m/^config\s+(.*)/) {
			$cur_config = $1;
			$config{$cur_config} .= $_;
		} elsif (m/^source\s+(.*)/) {
			push @source, $_;
		} elsif (m/^\s+/) {
			if ($cur_config eq "") {
				$out .= $_;
			} else {
				$config{$cur_config} .= $_;
			}
		} else {
			flush_config();
			$cur_config = "";
			$out .= $_;
		}
	}
	close IN or die;

	flush_config();

	$out =~ s/\n\n+/\n\n/g;
	$out =~ s/\n+$/\n/;

	open OUT, ">$fname";
	print OUT $out;
	close OUT;
}

for my $fname(@ARGV) {
	sort_kconfig $fname
}
</script>

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-03-18 05:58:35 +01:00
..
img-ir
keymaps
ati_remote.c
bpf-lirc.c
ene_ir.c
ene_ir.h
fintek-cir.c
fintek-cir.h
gpio-ir-recv.c
gpio-ir-tx.c
igorplugusb.c
iguanair.c
imon.c
imon_raw.c
ir-hix5hd2.c
ir-imon-decoder.c
ir-jvc-decoder.c
ir-mce_kbd-decoder.c
ir-nec-decoder.c
ir-rc5-decoder.c
ir-rc6-decoder.c
ir-rcmm-decoder.c
ir-rx51.c
ir-sanyo-decoder.c
ir-sharp-decoder.c
ir-sony-decoder.c
ir-spi.c
ir-xmp-decoder.c
ir_toy.c
ite-cir.c
ite-cir.h
Kconfig
lirc_dev.c
Makefile
mceusb.c
meson-ir-tx.c
meson-ir.c
mtk-cir.c
nuvoton-cir.c
nuvoton-cir.h
pwm-ir-tx.c
rc-core-priv.h
rc-ir-raw.c
rc-loopback.c
rc-main.c
redrat3.c
serial_ir.c
st_rc.c
streamzap.c
sunxi-cir.c
ttusbir.c
winbond-cir.c
xbox_remote.c