• Mauro Carvalho Chehab's avatar
    s390: include/asm/debug.h add kerneldoc markups · a20aa857
    Mauro Carvalho Chehab authored
    Instead of keeping the documentation inside s390dbf.rst,
    move them to arch/s390/include/asm/debug.h, using standard
    kernel-doc markups.
    
    Keeping the documentation close to the code helps to keep it
    updated. It also makes easier to document other stuff inside
    debug.h, as all it needs is to add kernel-doc markups inside
    it, as the file will be already be included at the produced
    documentation.
    
    -
    
    Those were converted to kerneldoc using this script specially
    designed to parse ths file, and manually editted:
    
    <script>
    use strict;
    
    my $mode = "";
    my $parameter = "";
    my $ret = "";
    my $descr = "";
    
    sub add_var($)
    {
    	my $ln = shift;
    
    	$ln =~ s/^\s+//;
    	$ln =~ s/\s+$//;
    
    	return if ($ln eq "");
    
    	$ln =~ s/^(\S+)\s+/$1\t/;
    
    	print " * \@$ln\n";
    }
    
    sub add_return($)
    {
    	my $ln = shift;
    
    	print " *\n * Return:\n" if ($mode ne "Return Value:");
    
    	$ln =~ s/^\s+//;
    	$ln =~ s/\s+$//;
    
    	return if ($ln eq "");
    
    	print " * -   $ln\n";
    }
    
    sub add_description($)
    {
    	my $ln = shift;
    
    	print " *\n * \n" if ($mode ne "Description:");
    
    	$ln =~ s/^\s+//;
    	$ln =~ s/\s+$//;
    
    	return if ($ln eq "");
    
    	print " * $ln\n";
    }
    
    sub flush_results()
    {
    	print " */\n\n";
    }
    
    while (<>) {
    	if (m/^[\-]+$/) {
    		flush_results();
    		$mode = "";
    		$parameter = "";
    		$ret = "";
    		$descr = "";
    		next;
    	}
    	if (m/(Parameter:)(.*)/) {
    		print " *\n" if ($mode eq "func");
    		add_var($2);
    		$mode = $1;
    		next;
    	}
    	if (m/(Return Value:)(.*)/) {
    		add_return($2);
    		$mode = $1;
    		next;
    	}
    	if (m/(Description:)(.*)/) {
    		add_description($2);
    		$mode = $1;
    		next;
    	}
    	if ($mode eq "Parameter:") {
    		add_var($_);
    		next;
    	}
    	if ($mode eq "Return Value:") {
    		add_return($_);
    		next;
    	}
    	if ($mode eq "Description:") {
    		add_description($_);
    		next;
    	}
    	next if (m/^\s*$/);
    
    	if (m/^\S+.*\s\*?(\S+)\s*\(/) {
    		if ($mode eq "") {
    			print "/**\n * $1()\n";
    		} else {
    			print " * $1()\n";
    		}
    		$mode="func";
    	}
    }
    flush_results();
    </script>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    a20aa857
s390dbf.rst 5.58 KB