a11ba3860dc3f7b456b466aee345f99758d98018
[project/bcm63xx/atf.git] / docs / process / platform-compatibility-policy.rst
1 Platform Compatibility Policy
2 =============================
3
4 Introduction
5 ------------
6
7 This document clarifies the project's policy around compatibility for upstream
8 platforms.
9
10 Platform compatibility policy
11 -----------------------------
12
13 Platform compatibility is mainly affected by changes to Platform APIs (as
14 documented in the `Porting Guide`_), driver APIs (like the GICv3 drivers) or
15 library interfaces (like xlat_table library). The project will try to maintain
16 compatibility for upstream platforms. Due to evolving requirements and
17 enhancements, there might be changes affecting platform compatibility which
18 means the previous interface needs to be deprecated and a new interface
19 introduced to replace it. In case the migration to the new interface is trivial,
20 the contributor of the change is expected to make good effort to migrate the
21 upstream platforms to the new interface.
22
23 The deprecated interfaces are listed inside `Release information`_ as well as
24 the release after which each one will be removed. When an interface is
25 deprecated, the page must be updated to indicate the release after which the
26 interface will be removed. This must be at least 1 full release cycle in future.
27 For non-trivial interface changes, an email should be sent out to the `TF-A
28 public mailing list`_ to notify platforms that they should migrate away from the
29 deprecated interfaces. Platforms are expected to migrate before the removal of
30 the deprecated interface.
31
32 --------------
33
34 *Copyright (c) 2018-2019, Arm Limited and Contributors. All rights reserved.*
35
36 .. _Porting Guide: ../getting_started/porting-guide.rst
37 .. _Release information: ./release-information.rst#removal-of-deprecated-interfaces
38 .. _TF-A public mailing list: https://lists.trustedfirmware.org/mailman/listinfo/tf-a