Skip to content

Commit eae4f88

Browse files
committed
Merge tag 'xtensa-20180914' of git://github.com/jcmvbkbc/linux-xtensa
Pull Xtensa fixes and cleanups from Max Filippov: - don't allocate memory in platform_setup as the memory allocator is not initialized at that point yet; - remove unnecessary ifeq KBUILD_SRC from arch/xtensa/Makefile; - enable SG chaining in arch/xtensa/Kconfig. * tag 'xtensa-20180914' of git://github.com/jcmvbkbc/linux-xtensa: xtensa: enable SG chaining in Kconfig xtensa: remove unnecessary KBUILD_SRC ifeq conditional xtensa: ISS: don't allocate memory in platform_setup
2 parents 3e15325 + 4a7f50f commit eae4f88

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

arch/xtensa/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ config ZONE_DMA
44

55
config XTENSA
66
def_bool y
7+
select ARCH_HAS_SG_CHAIN
78
select ARCH_HAS_SYNC_DMA_FOR_CPU
89
select ARCH_HAS_SYNC_DMA_FOR_DEVICE
910
select ARCH_NO_COHERENT_DMA_MMAP if !MMU

arch/xtensa/Makefile

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,7 @@ endif
6464
vardirs := $(patsubst %,arch/xtensa/variants/%/,$(variant-y))
6565
plfdirs := $(patsubst %,arch/xtensa/platforms/%/,$(platform-y))
6666

67-
ifeq ($(KBUILD_SRC),)
68-
KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(vardirs) $(plfdirs))
69-
else
7067
KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(vardirs) $(plfdirs))
71-
endif
7268

7369
KBUILD_DEFCONFIG := iss_defconfig
7470

arch/xtensa/platforms/iss/setup.c

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,23 +78,28 @@ static struct notifier_block iss_panic_block = {
7878

7979
void __init platform_setup(char **p_cmdline)
8080
{
81+
static void *argv[COMMAND_LINE_SIZE / sizeof(void *)] __initdata;
82+
static char cmdline[COMMAND_LINE_SIZE] __initdata;
8183
int argc = simc_argc();
8284
int argv_size = simc_argv_size();
8385

8486
if (argc > 1) {
85-
void **argv = alloc_bootmem(argv_size);
86-
char *cmdline = alloc_bootmem(argv_size);
87-
int i;
87+
if (argv_size > sizeof(argv)) {
88+
pr_err("%s: command line too long: argv_size = %d\n",
89+
__func__, argv_size);
90+
} else {
91+
int i;
8892

89-
cmdline[0] = 0;
90-
simc_argv((void *)argv);
93+
cmdline[0] = 0;
94+
simc_argv((void *)argv);
9195

92-
for (i = 1; i < argc; ++i) {
93-
if (i > 1)
94-
strcat(cmdline, " ");
95-
strcat(cmdline, argv[i]);
96+
for (i = 1; i < argc; ++i) {
97+
if (i > 1)
98+
strcat(cmdline, " ");
99+
strcat(cmdline, argv[i]);
100+
}
101+
*p_cmdline = cmdline;
96102
}
97-
*p_cmdline = cmdline;
98103
}
99104

100105
atomic_notifier_chain_register(&panic_notifier_list, &iss_panic_block);

0 commit comments

Comments
 (0)