summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kconfig/qconf.cc18
-rwxr-xr-xscripts/kernel-doc51
-rwxr-xr-xscripts/mkcompile_h2
-rwxr-xr-xscripts/mkuboot.sh11
-rw-r--r--scripts/mod/modpost.c10
5 files changed, 65 insertions, 27 deletions
diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
index c0ae0a7ddb4..512c2f5c341 100644
--- a/scripts/kconfig/qconf.cc
+++ b/scripts/kconfig/qconf.cc
@@ -89,6 +89,7 @@ void ConfigItem::okRename(int col)
{
Parent::okRename(col);
sym_set_string_value(menu->sym, text(dataColIdx).latin1());
+ listView()->updateList(this);
}
#endif
@@ -605,6 +606,8 @@ void ConfigList::updateMenuList(P* parent, struct menu* menu)
visible = menu_is_visible(child);
if (showAll || visible) {
+ if (!child->sym && !child->list && !child->prompt)
+ continue;
if (!item || item->menu != child)
item = new ConfigItem(parent, last, child, visible);
else
@@ -1247,6 +1250,7 @@ void ConfigSearchWindow::search(void)
free(result);
list->list->clear();
+ info->clear();
result = sym_re_search(editField->text().latin1());
if (!result)
@@ -1316,7 +1320,7 @@ ConfigMainWindow::ConfigMainWindow(void)
conf_changed();
QAction *saveAsAction = new QAction("Save As...", "Save &As...", 0, this);
connect(saveAsAction, SIGNAL(activated()), SLOT(saveConfigAs()));
- QAction *searchAction = new QAction("Search", "&Search", CTRL+Key_F, this);
+ QAction *searchAction = new QAction("Find", "&Find", CTRL+Key_F, this);
connect(searchAction, SIGNAL(activated()), SLOT(searchConfig()));
QAction *singleViewAction = new QAction("Single View", QPixmap(xpm_single_view), "Split View", 0, this);
connect(singleViewAction, SIGNAL(activated()), SLOT(showSingleView()));
@@ -1373,10 +1377,13 @@ ConfigMainWindow::ConfigMainWindow(void)
saveAction->addTo(config);
saveAsAction->addTo(config);
config->insertSeparator();
- searchAction->addTo(config);
- config->insertSeparator();
quitAction->addTo(config);
+ // create edit menu
+ QPopupMenu* editMenu = new QPopupMenu(this);
+ menu->insertItem("&Edit", editMenu);
+ searchAction->addTo(editMenu);
+
// create options menu
QPopupMenu* optionMenu = new QPopupMenu(this);
menu->insertItem("&Option", optionMenu);
@@ -1467,7 +1474,10 @@ void ConfigMainWindow::searchConfig(void)
void ConfigMainWindow::changeMenu(struct menu *menu)
{
configList->setRootMenu(menu);
- backAction->setEnabled(TRUE);
+ if (configList->rootEntry->parent == &rootmenu)
+ backAction->setEnabled(FALSE);
+ else
+ backAction->setEnabled(TRUE);
}
void ConfigMainWindow::setMenuLink(struct menu *menu)
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index f50a70f550b..4d928b85984 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -83,7 +83,7 @@ use strict;
# * my_function
# **/
#
-# If the Description: header tag is ommitted, then there must be a blank line
+# If the Description: header tag is omitted, then there must be a blank line
# after the last parameter specification.
# e.g.
# /**
@@ -265,7 +265,7 @@ my $doc_start = '^/\*\*\s*$'; # Allow whitespace at end of comment start.
my $doc_end = '\*/';
my $doc_com = '\s*\*\s*';
my $doc_decl = $doc_com.'(\w+)';
-my $doc_sect = $doc_com.'(['.$doc_special.']?[\w ]+):(.*)';
+my $doc_sect = $doc_com.'(['.$doc_special.']?[\w\s]+):(.*)';
my $doc_content = $doc_com.'(.*)';
my $doc_block = $doc_com.'DOC:\s*(.*)?';
@@ -365,7 +365,7 @@ sub dump_section {
# parameterlist => @list of parameters
# parameterdescs => %parameter descriptions
# sectionlist => @list of sections
-# sections => %descriont descriptions
+# sections => %section descriptions
#
sub output_highlight {
@@ -583,14 +583,14 @@ sub output_function_xml(%) {
$id = "API-".$args{'function'};
$id =~ s/[^A-Za-z0-9]/-/g;
- print "<refentry>\n";
+ print "<refentry id=\"$id\">\n";
print "<refentryinfo>\n";
print " <title>LINUX</title>\n";
print " <productname>Kernel Hackers Manual</productname>\n";
print " <date>$man_date</date>\n";
print "</refentryinfo>\n";
print "<refmeta>\n";
- print " <refentrytitle><phrase id=\"$id\">".$args{'function'}."</phrase></refentrytitle>\n";
+ print " <refentrytitle><phrase>".$args{'function'}."</phrase></refentrytitle>\n";
print " <manvolnum>9</manvolnum>\n";
print "</refmeta>\n";
print "<refnamediv>\n";
@@ -659,14 +659,14 @@ sub output_struct_xml(%) {
$id = "API-struct-".$args{'struct'};
$id =~ s/[^A-Za-z0-9]/-/g;
- print "<refentry>\n";
+ print "<refentry id=\"$id\">\n";
print "<refentryinfo>\n";
print " <title>LINUX</title>\n";
print " <productname>Kernel Hackers Manual</productname>\n";
print " <date>$man_date</date>\n";
print "</refentryinfo>\n";
print "<refmeta>\n";
- print " <refentrytitle><phrase id=\"$id\">".$args{'type'}." ".$args{'struct'}."</phrase></refentrytitle>\n";
+ print " <refentrytitle><phrase>".$args{'type'}." ".$args{'struct'}."</phrase></refentrytitle>\n";
print " <manvolnum>9</manvolnum>\n";
print "</refmeta>\n";
print "<refnamediv>\n";
@@ -743,14 +743,14 @@ sub output_enum_xml(%) {
$id = "API-enum-".$args{'enum'};
$id =~ s/[^A-Za-z0-9]/-/g;
- print "<refentry>\n";
+ print "<refentry id=\"$id\">\n";
print "<refentryinfo>\n";
print " <title>LINUX</title>\n";
print " <productname>Kernel Hackers Manual</productname>\n";
print " <date>$man_date</date>\n";
print "</refentryinfo>\n";
print "<refmeta>\n";
- print " <refentrytitle><phrase id=\"$id\">enum ".$args{'enum'}."</phrase></refentrytitle>\n";
+ print " <refentrytitle><phrase>enum ".$args{'enum'}."</phrase></refentrytitle>\n";
print " <manvolnum>9</manvolnum>\n";
print "</refmeta>\n";
print "<refnamediv>\n";
@@ -809,14 +809,14 @@ sub output_typedef_xml(%) {
$id = "API-typedef-".$args{'typedef'};
$id =~ s/[^A-Za-z0-9]/-/g;
- print "<refentry>\n";
+ print "<refentry id=\"$id\">\n";
print "<refentryinfo>\n";
print " <title>LINUX</title>\n";
print " <productname>Kernel Hackers Manual</productname>\n";
print " <date>$man_date</date>\n";
print "</refentryinfo>\n";
print "<refmeta>\n";
- print " <refentrytitle><phrase id=\"$id\">typedef ".$args{'typedef'}."</phrase></refentrytitle>\n";
+ print " <refentrytitle><phrase>typedef ".$args{'typedef'}."</phrase></refentrytitle>\n";
print " <manvolnum>9</manvolnum>\n";
print "</refmeta>\n";
print "<refnamediv>\n";
@@ -953,7 +953,11 @@ sub output_function_man(%) {
print $args{'function'}." \\- ".$args{'purpose'}."\n";
print ".SH SYNOPSIS\n";
- print ".B \"".$args{'functiontype'}."\" ".$args{'function'}."\n";
+ if ($args{'functiontype'} ne "") {
+ print ".B \"".$args{'functiontype'}."\" ".$args{'function'}."\n";
+ } else {
+ print ".B \"".$args{'function'}."\n";
+ }
$count = 0;
my $parenth = "(";
my $post = ",";
@@ -1118,13 +1122,19 @@ sub output_intro_man(%) {
sub output_function_text(%) {
my %args = %{$_[0]};
my ($parameter, $section);
+ my $start;
print "Name:\n\n";
print $args{'function'}." - ".$args{'purpose'}."\n";
print "\nSynopsis:\n\n";
- my $start=$args{'functiontype'}." ".$args{'function'}." (";
+ if ($args{'functiontype'} ne "") {
+ $start = $args{'functiontype'}." ".$args{'function'}." (";
+ } else {
+ $start = $args{'function'}." (";
+ }
print $start;
+
my $count = 0;
foreach my $parameter (@{$args{'parameterlist'}}) {
$type = $args{'parametertypes'}{$parameter};
@@ -1433,7 +1443,7 @@ sub create_parameterlist($$$) {
} elsif ($arg =~ m/\(.*\*/) {
# pointer-to-function
$arg =~ tr/#/,/;
- $arg =~ m/[^\(]+\(\*([^\)]+)\)/;
+ $arg =~ m/[^\(]+\(\*\s*([^\)]+)\)/;
$param = $1;
$type = $arg;
$type =~ s/([^\(]+\(\*)$param/$1/;
@@ -1536,7 +1546,7 @@ sub dump_function($$) {
$prototype =~ s/^__always_inline +//;
$prototype =~ s/^noinline +//;
$prototype =~ s/__devinit +//;
- $prototype =~ s/^#define +//; #ak added
+ $prototype =~ s/^#define\s+//; #ak added
$prototype =~ s/__attribute__ \(\([a-z,]*\)\)//;
# Yes, this truly is vile. We are looking for:
@@ -1570,7 +1580,8 @@ sub dump_function($$) {
$prototype =~ m/^(\w+\s+\w+\s+\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/ ||
$prototype =~ m/^(\w+\s+\w+\s+\w+\s*\*)\s*([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/ ||
$prototype =~ m/^(\w+\s+\w+\s+\w+\s+\w+)\s+([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/ ||
- $prototype =~ m/^(\w+\s+\w+\s+\w+\s+\w+\s*\*)\s*([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/) {
+ $prototype =~ m/^(\w+\s+\w+\s+\w+\s+\w+\s*\*)\s*([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/ ||
+ $prototype =~ m/^(\w+\s+\w+\s*\*\s*\w+\s*\*\s*)\s*([a-zA-Z0-9_~:]+)\s*\(([^\{]*)\)/) {
$return_type = $1;
$declaration_name = $2;
my $args = $3;
@@ -1710,6 +1721,7 @@ sub process_file($) {
my $file;
my $identifier;
my $func;
+ my $descr;
my $initial_section_counter = $section_counter;
if (defined($ENV{'SRCTREE'})) {
@@ -1753,7 +1765,12 @@ sub process_file($) {
$state = 2;
if (/-(.*)/) {
- $declaration_purpose = xml_escape($1);
+ # strip leading/trailing/multiple spaces #RDD:T:
+ $descr= $1;
+ $descr =~ s/^\s*//;
+ $descr =~ s/\s*$//;
+ $descr =~ s/\s+/ /;
+ $declaration_purpose = xml_escape($descr);
} else {
$declaration_purpose = "";
}
diff --git a/scripts/mkcompile_h b/scripts/mkcompile_h
index d7b8a384b4a..82d0af46f0e 100755
--- a/scripts/mkcompile_h
+++ b/scripts/mkcompile_h
@@ -58,7 +58,7 @@ UTS_TRUNCATE="sed -e s/\(.\{1,$UTS_LEN\}\).*/\1/"
echo \#define LINUX_COMPILE_DOMAIN
fi
- echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
+ echo \#define LINUX_COMPILER \"`LC_ALL=C LANG=C $CC -v 2>&1 | tail -n 1`\"
) > .tmpcompile
# Only replace the real compile.h if the new one is different,
diff --git a/scripts/mkuboot.sh b/scripts/mkuboot.sh
index 52a17ab97eb..4b06c5eea72 100755
--- a/scripts/mkuboot.sh
+++ b/scripts/mkuboot.sh
@@ -4,12 +4,15 @@
# Build U-Boot image when `mkimage' tool is available.
#
-MKIMAGE=$(type -path mkimage)
+MKIMAGE=$(type -path ${CROSS_COMPILE}mkimage)
if [ -z "${MKIMAGE}" ]; then
- # Doesn't exist
- echo '"mkimage" command not found - U-Boot images will not be built' >&2
- exit 0;
+ MKIMAGE=$(type -path mkimage)
+ if [ -z "${MKIMAGE}" ]; then
+ # Doesn't exist
+ echo '"mkimage" command not found - U-Boot images will not be built' >&2
+ exit 0;
+ fi
fi
# Call "mkimage" to create U-Boot image
diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c
index 2aa47623f5f..569e68410d7 100644
--- a/scripts/mod/modpost.c
+++ b/scripts/mod/modpost.c
@@ -641,12 +641,20 @@ static int secref_whitelist(const char *modname, const char *tosec,
if (f1 && f2)
return 1;
- /* Whitelist all references from .pci_fixup section if vmlinux */
+ /* Whitelist all references from .pci_fixup section if vmlinux
+ * Whitelist all refereces from .text.head to .init.data if vmlinux
+ * Whitelist all refereces from .text.head to .init.text if vmlinux
+ */
if (is_vmlinux(modname)) {
if ((strcmp(fromsec, ".pci_fixup") == 0) &&
(strcmp(tosec, ".init.text") == 0))
return 1;
+ if ((strcmp(fromsec, ".text.head") == 0) &&
+ ((strcmp(tosec, ".init.data") == 0) ||
+ (strcmp(tosec, ".init.text") == 0)))
+ return 1;
+
/* Check for pattern 3 */
for (s = pat3refsym; *s; s++)
if (strcmp(refsymname, *s) == 0)