Merge branch 'patman' of git://git.denx.de/u-boot-x86
This commit is contained in:
commit
358b8bc204
|
@ -6,6 +6,7 @@
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <os.h>
|
#include <os.h>
|
||||||
#include <cli.h>
|
#include <cli.h>
|
||||||
|
#include <malloc.h>
|
||||||
#include <asm/getopt.h>
|
#include <asm/getopt.h>
|
||||||
#include <asm/io.h>
|
#include <asm/io.h>
|
||||||
#include <asm/sections.h>
|
#include <asm/sections.h>
|
||||||
|
@ -102,6 +103,25 @@ static int sandbox_cmdline_cb_fdt(struct sandbox_state *state, const char *arg)
|
||||||
}
|
}
|
||||||
SANDBOX_CMDLINE_OPT_SHORT(fdt, 'd', 1, "Specify U-Boot's control FDT");
|
SANDBOX_CMDLINE_OPT_SHORT(fdt, 'd', 1, "Specify U-Boot's control FDT");
|
||||||
|
|
||||||
|
static int sandbox_cmdline_cb_default_fdt(struct sandbox_state *state,
|
||||||
|
const char *arg)
|
||||||
|
{
|
||||||
|
const char *fmt = "%s.dtb";
|
||||||
|
char *fname;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
len = strlen(state->argv[0]) + strlen(fmt) + 1;
|
||||||
|
fname = os_malloc(len);
|
||||||
|
if (!fname)
|
||||||
|
return -ENOMEM;
|
||||||
|
snprintf(fname, len, fmt, state->argv[0]);
|
||||||
|
state->fdt_fname = fname;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
SANDBOX_CMDLINE_OPT_SHORT(default_fdt, 'D', 0,
|
||||||
|
"Use the default u-boot.dtb control FDT in U-Boot directory");
|
||||||
|
|
||||||
static int sandbox_cmdline_cb_interactive(struct sandbox_state *state,
|
static int sandbox_cmdline_cb_interactive(struct sandbox_state *state,
|
||||||
const char *arg)
|
const char *arg)
|
||||||
{
|
{
|
||||||
|
|
|
@ -74,10 +74,8 @@
|
||||||
|
|
||||||
cros-ec-keyb {
|
cros-ec-keyb {
|
||||||
compatible = "google,cros-ec-keyb";
|
compatible = "google,cros-ec-keyb";
|
||||||
google,key-rows = <8>;
|
keypad,num-rows = <8>;
|
||||||
google,key-columns = <13>;
|
keypad,num-columns = <13>;
|
||||||
google,repeat-delay-ms = <240>;
|
|
||||||
google,repeat-rate-ms = <30>;
|
|
||||||
google,ghost-filter;
|
google,ghost-filter;
|
||||||
/*
|
/*
|
||||||
* Keymap entries take the form of 0xRRCCKKKK where
|
* Keymap entries take the form of 0xRRCCKKKK where
|
||||||
|
|
|
@ -18,8 +18,8 @@ create unit tests which we can run to test this upper level code.
|
||||||
|
|
||||||
CONFIG_SANDBOX is defined when building a native board.
|
CONFIG_SANDBOX is defined when building a native board.
|
||||||
|
|
||||||
The chosen vendor and board names are also 'sandbox', so there is a single
|
The board name is 'sandbox' but the vendor name is unset, so there is a
|
||||||
board in board/sandbox.
|
single board in board/sandbox.
|
||||||
|
|
||||||
CONFIG_SANDBOX_BIG_ENDIAN should be defined when running on big-endian
|
CONFIG_SANDBOX_BIG_ENDIAN should be defined when running on big-endian
|
||||||
machines.
|
machines.
|
||||||
|
|
|
@ -52,12 +52,15 @@ will get a consistent result each time.
|
||||||
How to configure it
|
How to configure it
|
||||||
===================
|
===================
|
||||||
|
|
||||||
For most cases of using patman for U-Boot development, patman will
|
For most cases of using patman for U-Boot development, patman can use the
|
||||||
locate and use the file 'doc/git-mailrc' in your U-Boot directory.
|
file 'doc/git-mailrc' in your U-Boot directory to supply the email aliases
|
||||||
This contains most of the aliases you will need.
|
you need. To make this work, tell git where to find the file by typing
|
||||||
|
this once:
|
||||||
|
|
||||||
For Linux the 'scripts/get_maintainer.pl' handles figuring out where
|
git config sendemail.aliasesfile doc/git-mailrc
|
||||||
to send patches pretty well.
|
|
||||||
|
For both Linux and U-Boot the 'scripts/get_maintainer.pl' handles figuring
|
||||||
|
out where to send patches pretty well.
|
||||||
|
|
||||||
During the first run patman creates a config file for you by taking the default
|
During the first run patman creates a config file for you by taking the default
|
||||||
user name and email address from the global .gitconfig file.
|
user name and email address from the global .gitconfig file.
|
||||||
|
|
|
@ -392,7 +392,8 @@ def EmailPatches(series, cover_fname, args, dry_run, raise_on_error, cc_fname,
|
||||||
"Or do something like this\n"
|
"Or do something like this\n"
|
||||||
"git config sendemail.to u-boot@lists.denx.de")
|
"git config sendemail.to u-boot@lists.denx.de")
|
||||||
return
|
return
|
||||||
cc = BuildEmailList(series.get('cc'), '--cc', alias, raise_on_error)
|
cc = BuildEmailList(list(set(series.get('cc')) - set(series.get('to'))),
|
||||||
|
'--cc', alias, raise_on_error)
|
||||||
if self_only:
|
if self_only:
|
||||||
to = BuildEmailList([os.getenv('USER')], '--to', alias, raise_on_error)
|
to = BuildEmailList([os.getenv('USER')], '--to', alias, raise_on_error)
|
||||||
cc = []
|
cc = []
|
||||||
|
|
|
@ -139,6 +139,9 @@ class PatchStream:
|
||||||
# Initially we have no output. Prepare the input line string
|
# Initially we have no output. Prepare the input line string
|
||||||
out = []
|
out = []
|
||||||
line = line.rstrip('\n')
|
line = line.rstrip('\n')
|
||||||
|
|
||||||
|
commit_match = re_commit.match(line) if self.is_log else None
|
||||||
|
|
||||||
if self.is_log:
|
if self.is_log:
|
||||||
if line[:4] == ' ':
|
if line[:4] == ' ':
|
||||||
line = line[4:]
|
line = line[4:]
|
||||||
|
@ -146,7 +149,6 @@ class PatchStream:
|
||||||
# Handle state transition and skipping blank lines
|
# Handle state transition and skipping blank lines
|
||||||
series_tag_match = re_series_tag.match(line)
|
series_tag_match = re_series_tag.match(line)
|
||||||
commit_tag_match = re_commit_tag.match(line)
|
commit_tag_match = re_commit_tag.match(line)
|
||||||
commit_match = re_commit.match(line) if self.is_log else None
|
|
||||||
cover_cc_match = re_cover_cc.match(line)
|
cover_cc_match = re_cover_cc.match(line)
|
||||||
signoff_match = re_signoff.match(line)
|
signoff_match = re_signoff.match(line)
|
||||||
tag_match = None
|
tag_match = None
|
||||||
|
|
|
@ -94,6 +94,9 @@ class Series(dict):
|
||||||
cmd: The git command we would have run
|
cmd: The git command we would have run
|
||||||
process_tags: Process tags as if they were aliases
|
process_tags: Process tags as if they were aliases
|
||||||
"""
|
"""
|
||||||
|
to_set = set(gitutil.BuildEmailList(self.to));
|
||||||
|
cc_set = set(gitutil.BuildEmailList(self.cc));
|
||||||
|
|
||||||
col = terminal.Color()
|
col = terminal.Color()
|
||||||
print 'Dry run, so not doing much. But I would do this:'
|
print 'Dry run, so not doing much. But I would do this:'
|
||||||
print
|
print
|
||||||
|
@ -106,24 +109,16 @@ class Series(dict):
|
||||||
commit = self.commits[upto]
|
commit = self.commits[upto]
|
||||||
print col.Color(col.GREEN, ' %s' % args[upto])
|
print col.Color(col.GREEN, ' %s' % args[upto])
|
||||||
cc_list = list(self._generated_cc[commit.patch])
|
cc_list = list(self._generated_cc[commit.patch])
|
||||||
|
for email in set(cc_list) - to_set - cc_set:
|
||||||
# Skip items in To list
|
|
||||||
if 'to' in self:
|
|
||||||
try:
|
|
||||||
map(cc_list.remove, gitutil.BuildEmailList(self.to))
|
|
||||||
except ValueError:
|
|
||||||
pass
|
|
||||||
|
|
||||||
for email in cc_list:
|
|
||||||
if email == None:
|
if email == None:
|
||||||
email = col.Color(col.YELLOW, "<alias '%s' not found>"
|
email = col.Color(col.YELLOW, "<alias '%s' not found>"
|
||||||
% tag)
|
% tag)
|
||||||
if email:
|
if email:
|
||||||
print ' Cc: ',email
|
print ' Cc: ',email
|
||||||
print
|
print
|
||||||
for item in gitutil.BuildEmailList(self.get('to', '<none>')):
|
for item in to_set:
|
||||||
print 'To:\t ', item
|
print 'To:\t ', item
|
||||||
for item in gitutil.BuildEmailList(self.cc):
|
for item in cc_set - to_set:
|
||||||
print 'Cc:\t ', item
|
print 'Cc:\t ', item
|
||||||
print 'Version: ', self.get('version')
|
print 'Version: ', self.get('version')
|
||||||
print 'Prefix:\t ', self.get('prefix')
|
print 'Prefix:\t ', self.get('prefix')
|
||||||
|
@ -131,7 +126,7 @@ class Series(dict):
|
||||||
print 'Cover: %d lines' % len(self.cover)
|
print 'Cover: %d lines' % len(self.cover)
|
||||||
cover_cc = gitutil.BuildEmailList(self.get('cover_cc', ''))
|
cover_cc = gitutil.BuildEmailList(self.get('cover_cc', ''))
|
||||||
all_ccs = itertools.chain(cover_cc, *self._generated_cc.values())
|
all_ccs = itertools.chain(cover_cc, *self._generated_cc.values())
|
||||||
for email in set(all_ccs):
|
for email in set(all_ccs) - to_set - cc_set:
|
||||||
print ' Cc: ',email
|
print ' Cc: ',email
|
||||||
if cmd:
|
if cmd:
|
||||||
print 'Git command: %s' % cmd
|
print 'Git command: %s' % cmd
|
||||||
|
@ -230,7 +225,7 @@ class Series(dict):
|
||||||
if add_maintainers:
|
if add_maintainers:
|
||||||
list += get_maintainer.GetMaintainer(commit.patch)
|
list += get_maintainer.GetMaintainer(commit.patch)
|
||||||
all_ccs += list
|
all_ccs += list
|
||||||
print >>fd, commit.patch, ', '.join(list)
|
print >>fd, commit.patch, ', '.join(set(list))
|
||||||
self._generated_cc[commit.patch] = list
|
self._generated_cc[commit.patch] = list
|
||||||
|
|
||||||
if cover_fname:
|
if cover_fname:
|
||||||
|
|
Loading…
Reference in New Issue