Linux 장치 트리 구문에서 중복 태그가 나타나면 어떻게 되나요?

Linux 장치 트리 구문에서 중복 태그가 나타나면 어떻게 되나요?

*.dts 장치 트리 파일에서 중복 태그가 허용되고 가능한지 궁금합니다. 그렇다면 어떻게 됩니까?

예를 들어, 새 태그를 사용하면 이전 태그를 덮어쓰거나 재정의할 수 있습니까?

문제를 보다 투명하고 명확하게 만들기 위해 이 예제 dts 데이터에서 어떤 일이 발생하는지 설명하고 싶습니다.

/dts-v1/;
/ {
    #address-cells = <1>;
    #size-cells = <1>;
    chosen { 
        labelname: bootargs = "lalalallal";
        labelname: bootargs2 = "lalalallal";
    };
    aliases { };
    memory { device_type = "memory"; reg = <0 0>; };
};

그 중 우리는 label 을 재사용했습니다 labelname.

이 질문의 동기는 태그에 필요한 것을 알려주는 dts 구문에 대한 명확하고 간결한 문서를 찾을 수 없다는 것입니다.고유한

답변1

장치 트리에서기필코 아니다중복 태그를 사용하세요. 어쨌든 이 작업을 수행하고 중복된 항목이 발생하면직접다음과 같은 오류가 발생합니다.

ERROR (duplicate_label): Duplicate label 'labelX' on 'node' in /path and 'node2' in /path

이제 "태그는 고유해야 한다"는 사실을 깨닫게 해주는 참조가 문서에 추가되기를 바랄 뿐입니다. 어쩌면 일부 의견이나 추가/대체 답변을 통해 제가 아직 발견하지 못한 이 리소스를 알려줄 수도 있습니다. :)

관련 정보