From e5d03d099ac7ca9990c28a1a8b5aa42d57ab2a91 Mon Sep 17 00:00:00 2001 From: "Arif, Maisam" Date: Wed, 30 Jul 2025 14:08:00 -0500 Subject: [PATCH] Revert "[SWDEV-505176] Submodule Unified Header in AMDSMI" This reverts commit 0e895cf2350f1d9c47439bda9adac2445cf3293c. [ROCm/amdsmi commit: 240a607904e13b8f4ca962deb497120b01e193be] --- projects/amdsmi/.gitmodules | 4 - projects/amdsmi/CMakeLists.txt | 33 +--- projects/amdsmi/README.md | 82 ---------- projects/amdsmi/include/CMakeLists.txt | 18 --- projects/amdsmi/include/unified_amdsmi | 1 - .../tools/config_unified_header_submodule.sh | 146 ------------------ 6 files changed, 6 insertions(+), 278 deletions(-) delete mode 100644 projects/amdsmi/.gitmodules delete mode 100644 projects/amdsmi/include/CMakeLists.txt delete mode 160000 projects/amdsmi/include/unified_amdsmi delete mode 100755 projects/amdsmi/tools/config_unified_header_submodule.sh diff --git a/projects/amdsmi/.gitmodules b/projects/amdsmi/.gitmodules deleted file mode 100644 index 05cff9fbab..0000000000 --- a/projects/amdsmi/.gitmodules +++ /dev/null @@ -1,4 +0,0 @@ -[submodule "include/unified_amdsmi"] - path = include/unified_amdsmi - url = git@github.com:AMD-ROCm-Internal/amdsmi_unified.git - branch = amd-mainline diff --git a/projects/amdsmi/CMakeLists.txt b/projects/amdsmi/CMakeLists.txt index a9d9dda7a1..dff1326def 100644 --- a/projects/amdsmi/CMakeLists.txt +++ b/projects/amdsmi/CMakeLists.txt @@ -216,27 +216,6 @@ set(CMN_INC_LIST add_subdirectory("rocm_smi") add_subdirectory("src") -# By default, try to build amdsmi.h header file from the Unified Header repository. -# Allow the User to bypass building amdsmi.h by setting BUILD_HEADER=OFF on the -# command line. Cannot build amdsmi.h if the Unified Header submodule # has not -# been initiated. -set(UH_DIR "${PROJECT_SOURCE_DIR}/include/unified_amdsmi/scripts") -if(NOT DEFINED BUILD_HEADER) - if(EXISTS "${UH_DIR}") - set(BUILD_HEADER "ON") - endif() -elseif(${BUILD_HEADER} STREQUAL "OFF") - unset(BUILD_HEADER CACHE) -elseif(NOT EXISTS "${UH_DIR}") - message("Unified Header will not be generated") - message("Must initiate Unified Header submodule") - unset(BUILD_HEADER CACHE) -endif() - -if(BUILD_HEADER) - add_subdirectory("include") -endif() - if(BUILD_TESTS) set(TESTS_COMPONENT "tests") #add_subdirectory("tests/rocm_smi_test") @@ -291,12 +270,12 @@ install( set(CPACK_RPM_PACKAGE_LICENSE "MIT") if(ENABLE_ASAN_PACKAGING) - # install license file in share/doc/amd_smi-asan folder - install( - FILES ${CPACK_RESOURCE_FILE_LICENSE} - DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/${CPACK_PACKAGE_NAME}-asan - RENAME LICENSE.txt - COMPONENT asan) +# install license file in share/doc/amd_smi-asan folder +install( + FILES ${CPACK_RESOURCE_FILE_LICENSE} + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/${CPACK_PACKAGE_NAME}-asan + RENAME LICENSE.txt + COMPONENT asan) endif() # docs are installed into different share directory from tests and examples install( diff --git a/projects/amdsmi/README.md b/projects/amdsmi/README.md index 9e38c6c516..1913f76f49 100644 --- a/projects/amdsmi/README.md +++ b/projects/amdsmi/README.md @@ -252,88 +252,6 @@ be found at `build/tests/amd_smi_test/`. To build the documentation, follow the instructions at [Building documentation](https://rocm.docs.amd.com/en/latest/contribute/building.html). -## Development only - -This section describes the prerequisites and steps to build Unified Header from source. - -### The Unified Header submodule in the Linux BM repository - -The steps needed to setup and initialize the Unified Header submodule is as follows: - - 1. The script has the command line option, --help, which displays all command line options and defaults. - - Ex. tools/config_unified_header_submodule.sh --help - ``` shell - Usage: tools/config_unified_header_submodule.sh --option --opt - option - --help : Prints usage and exit - --remove : Removes existing Unified Header submodule - - opt - --dir : Directory that contains the Unified Header dir - Default is "include" - --name : Directory Name of the Unified Header - Default is "unified_amdsmi" - Note: - Must run script from repository root directory - ``` - - 2. Initialize submodule - - Ex. Use command line options to specify Unified Header directory - ``` shell - tools/config_unified_header_submodule.sh --dir include --name unified_amdsmi - ``` - - Ex. The arguments in the above example are the defaults, so running the script with no arguments will produce the same results - ``` shell - tools/config_unified_header_submodule.sh - ``` - - 3. Un-initialize submodule when no longer needed - ``` shell - tools/config_unified_header_submodule.sh --remove - ``` - ->[!NOTE] ->Complete this section only if the User needs to create the Unified Header amdsmi.h file and use ->this header when building. Otherwise, the build will use the existing amdsmi.h file which is ->already included in the repository. - -### Build and install the Unified Header amdsmi.h - -If the User has initialized the Unified Header submodule, the Unified Header amdsmi.h will automatically be generated -and used when the Linux driver is being built. The User can also explicitly use the Unified Header by setting the -command line option when building via cmake. - -Building with the unified header using CMAKE flag: - Ex. Building without a cmake command line option builds and uses the Unified Header amdsmi.h - - ```bash - mkdir -p build - cd build - cmake .. - make -j $(nproc) - ``` - - OR Building with a cmake command line option. Change BUILD_HEADER Option to either On or OFF: - -DBUILD_HEADER=On builds and uses the Unified Header amdsmi.h - -DBUILD_HEADER=OFF uses the existing include/amd_smi/amdsmi.h - - ```bash - mkdir -p build - cd build - cmake -DBUILD_HEADER=[ON|OFF] .. - make -j $(nproc) - ``` - -Once the build successfully completes: - 1. Commit any changes in the Unified Header submodule - 2. Commit any changes in the amd-smi repo as needed for fixes or new feature submissions - ->[!NOTE] ->Prerequisite: Install the Unified Header submodule in the Linux BM repository - ## DISCLAIMER The information contained herein is for informational purposes only, and is subject to change without notice. In diff --git a/projects/amdsmi/include/CMakeLists.txt b/projects/amdsmi/include/CMakeLists.txt deleted file mode 100644 index 7c7c6c29ef..0000000000 --- a/projects/amdsmi/include/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -cmake_minimum_required(VERSION 3.20) - -# Generate Unified Header amdsmi.h -if(BUILD_HEADER) - set(UNIFIED_DIR "unified_amdsmi") - set(UNIFIED_H "${UNIFIED_DIR}/amdsmi.h") - set(AMDSMI_H "amd_smi/amdsmi.h") - execute_process( - COMMAND ./create_header.py linguest_gpu_cpu - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${UNIFIED_DIR}/scripts - OUTPUT_VARIABLE pyout - OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process( - COMMAND mv -f ${UNIFIED_H} ${AMDSMI_H} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - OUTPUT_VARIABLE lsout - OUTPUT_STRIP_TRAILING_WHITESPACE) -endif() diff --git a/projects/amdsmi/include/unified_amdsmi b/projects/amdsmi/include/unified_amdsmi deleted file mode 160000 index e095c13f44..0000000000 --- a/projects/amdsmi/include/unified_amdsmi +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e095c13f447650c57642598c4fce6a16ea2aa3e0 diff --git a/projects/amdsmi/tools/config_unified_header_submodule.sh b/projects/amdsmi/tools/config_unified_header_submodule.sh deleted file mode 100755 index 485a81125c..0000000000 --- a/projects/amdsmi/tools/config_unified_header_submodule.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/env bash - -# Script creates and/or configures the Unified Header submodule -# to work with the Unified Header repository. -# -# User must have access to the Unified Header repository, -# ssh credentials, which resides in the repository. -# -# Should only be run once - -# Exit script immediately on any error -set -eu - -# Prerequisite: Cloning github amdsmi repository: -# git clone git@github.com:AMD-ROCm-Internal/amdsmi.git - -# Defaults: -UH_DIR="include" -UH_NAME="unified_amdsmi" -show_help="False" -remove_module="False" -while [[ $# -gt 0 ]]; do - case $1 in - -h|--help) - show_help="True" - shift - ;; - -r|--remove) - remove_module="True" - shift - ;; - -d|--dir) - UH_DIR=$2 - shift - shift - ;; - -n|--name) - UH_NAME=$2 - shift - shift - ;; - *|-*|--*) - echo "Unknown option $1" - show_help="True" - shift - ;; - esac -done - -if [ "${show_help}" == "True" ] -then - echo "" - echo "Usage: $0 --option --opt " - echo " option" - echo " --help : Prints usage and exit" - echo " --remove : Removes existing Unified Header submodule" - echo "" - echo " opt " - echo " --dir : Directory that contains the Unified Header dir" - echo " Default is \"${UH_DIR}\"" - echo " --name : Directory Name of the Unified Header" - echo " Default is \"${UH_NAME}\"" - echo " Note:" - echo " Must run script from repository root directory" - echo "" - exit 0 -fi - -if [ "${remove_module}" == "True" ] -then - git submodule deinit -f "${UH_DIR}/${UH_NAME}/" - exit 0 -fi - -# Find repository root dir -REPO_ROOT_DIR=$PWD -while [[ ! -d "${REPO_ROOT_DIR}/.git" ]] -do - REPO_ROOT_DIR=$(dirname ${REPO_ROOT_DIR}) - if [[ "${REPO_ROOT_DIR}" == "/" ]] - then - echo "Repository root dir not found" - exit 0 - fi -done - -# Determine whether to create or configure the submodule -action="Config" -if [ ! -d "${REPO_ROOT_DIR}/${UH_DIR}/${UH_NAME}" ] -then - action="Create" -else - if [ -f "${REPO_ROOT_DIR}/${UH_DIR}/${UH_NAME}/.git" ] - then - echo "Unified Header submodule is already configured" - exit 1 - fi - - if [ ! -f ".git/modules/${UH_DIR}/${UH_NAME}/config" ] - then - rmdir"${UH_DIR}/${UH_NAME}" - action="Create" - fi -fi -echo "$action Unified Header submodule" - -# Directory where the Unified Header is created -if [ "$action" == "Create" ] -then - if [ ! -d "${REPO_ROOT_DIR}/${UH_DIR}" ] - then - mkdir -p ${REPO_ROOT_DIR}/${UH_DIR} - fi - cd ${REPO_ROOT_DIR}/${UH_DIR} - git submodule add -f -b amd-mainline git@github.com:AMD-ROCm-Internal/amdsmi_unified.git ${UH_NAME} -fi - -# Changes "username" in 3 git files to your Unified Header username -# amdsmi/.gitmodules -# amdsmi/.git/config -# amdsmi/.git/modules/${UH_DIR}/${UH_NAME}/config -cd ${REPO_ROOT_DIR} - -if [ "$action" == "Config" ] -then - # Initializes the submodule - git submodule init - git submodule update -fi - -cd ${REPO_ROOT_DIR}/${UH_DIR}/${UH_NAME} -SUBMODULE_BRANCH=$(git config -f ${REPO_ROOT_DIR}/.gitmodules submodule.${UH_DIR}/${UH_NAME}.branch || echo "amd-mainline") -git checkout ${SUBMODULE_BRANCH} -cd ${REPO_ROOT_DIR} - -if [ "$action" == "Create" ] -then - echo "Unified Header submodule has been created" - echo "Commit and push changes to github repository" - echo " git commit -s -m \"[ticket-id] Awesome Unified Header submodule addition\"" - echo " git push" -else - echo "Unified Header submodule has been configured" -fi - -exit 0