mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-19 02:54:24 +00:00
Improve MULTI_CONSOLE_API deprecation warnings
For platforms that have not migrated to MULTI_CONSOLE_API == 1, there are a lot of confusing deprecated declaration warnings relating to use of console_init() and console_uninit(). Some of these relate to use by the generic code, not the platform code. These functions are not really deprecated but *removed* when MULTI_CONSOLE_API == 1. This patch consolidates these warnings into a single preprocessor warning. The __deprecated attribute is removed from the console_init() and console_uninit() declarations. For preprocessor warnings like this to not cause fatal build errors, this patch adds -Wno-error=cpp to the build flags when ERROR_DEPRECATED == 0. This option (and -Wno-error=deprecated-declarations) is now added to CPPFLAGS instead of TF_CFLAGS to ensure the build flags are used in the assembler as well as the compiler. This patch also disentangles the MULTI_CONSOLE_API and ERROR_DEPRECATED build flags by defaulting MULTI_CONSOLE_API to 0 instead of ERROR_DEPRECATED. This allows platforms that have not migrated to MULTI_CONSOLE_API to use ERROR_DEPRECATED == 1 to emit a more meaningful build error. Finally, this patch bans use of MULTI_CONSOLE_API == 1 and AARCH32, since the AArch32 console implementation does not support MULTI_CONSOLE_API == 1. Change-Id: If762165ddcb90c28aa7a4951aba70cb15c2b709c Signed-off-by: Dan Handley <dan.handley@arm.com>
This commit is contained in:
parent
97924e4521
commit
bc1a03c7a6
4 changed files with 18 additions and 11 deletions
10
Makefile
10
Makefile
|
@ -374,6 +374,12 @@ ifeq ($(HW_ASSISTED_COHERENCY)-$(USE_COHERENT_MEM),1-1)
|
|||
$(error USE_COHERENT_MEM cannot be enabled with HW_ASSISTED_COHERENCY)
|
||||
endif
|
||||
|
||||
ifneq ($(MULTI_CONSOLE_API), 0)
|
||||
ifeq (${ARCH},aarch32)
|
||||
$(error "Error: MULTI_CONSOLE_API is not supported for AArch32")
|
||||
endif
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Process platform overrideable behaviour
|
||||
################################################################################
|
||||
|
@ -588,9 +594,9 @@ all: msg_start
|
|||
msg_start:
|
||||
@echo "Building ${PLAT}"
|
||||
|
||||
# Check if deprecated declarations should be treated as error or not.
|
||||
# Check if deprecated declarations and cpp warnings should be treated as error or not.
|
||||
ifeq (${ERROR_DEPRECATED},0)
|
||||
TF_CFLAGS += -Wno-error=deprecated-declarations
|
||||
CPPFLAGS += -Wno-error=deprecated-declarations -Wno-error=cpp
|
||||
endif
|
||||
|
||||
# Expand build macros for the different images
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
|
||||
* Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
@ -9,6 +9,7 @@
|
|||
* This is the common console core code for the deprecated single-console API.
|
||||
* New platforms should set MULTI_CONSOLE_API=1 and not use this file.
|
||||
*/
|
||||
#warning "Using deprecated console implementation. Please migrate to MULTI_CONSOLE_API"
|
||||
|
||||
.globl console_init
|
||||
.globl console_uninit
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2013-2017, ARM Limited and Contributors. All rights reserved.
|
||||
* Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
@ -63,10 +63,10 @@ int console_getc(void);
|
|||
int console_flush(void);
|
||||
|
||||
#if !MULTI_CONSOLE_API
|
||||
/* DEPRECATED on AArch64 -- use console_<driver>_register() instead! */
|
||||
/* REMOVED on AArch64 -- use console_<driver>_register() instead! */
|
||||
int console_init(uintptr_t base_addr,
|
||||
unsigned int uart_clk, unsigned int baud_rate) __deprecated;
|
||||
void console_uninit(void) __deprecated;
|
||||
unsigned int uart_clk, unsigned int baud_rate);
|
||||
void console_uninit(void);
|
||||
#endif
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
|
||||
# Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved.
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
|
@ -98,9 +98,9 @@ KEY_ALG := rsa
|
|||
# Flag to enable new version of image loading
|
||||
LOAD_IMAGE_V2 := 0
|
||||
|
||||
# Use the new console API that allows registering more than one console instance
|
||||
# at once. Use = instead of := to dynamically default to ERROR_DEPRECATED.
|
||||
MULTI_CONSOLE_API = $(ERROR_DEPRECATED)
|
||||
# Enable use of the console API allowing multiple consoles to be registered
|
||||
# at the same time.
|
||||
MULTI_CONSOLE_API := 0
|
||||
|
||||
# NS timer register save and restore
|
||||
NS_TIMER_SWITCH := 0
|
||||
|
|
Loading…
Add table
Reference in a new issue