18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ci// 38c2ecf20Sopenharmony_ci/// Adds missing MODULE_IMPORT_NS statements to source files 48c2ecf20Sopenharmony_ci/// 58c2ecf20Sopenharmony_ci/// This script is usually called from scripts/nsdeps with -D ns=<namespace> to 68c2ecf20Sopenharmony_ci/// add a missing namespace tag to a module source file. 78c2ecf20Sopenharmony_ci/// 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_civirtual nsdeps 108c2ecf20Sopenharmony_civirtual report 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci@has_ns_import@ 138c2ecf20Sopenharmony_cideclarer name MODULE_IMPORT_NS; 148c2ecf20Sopenharmony_ciidentifier virtual.ns; 158c2ecf20Sopenharmony_ci@@ 168c2ecf20Sopenharmony_ciMODULE_IMPORT_NS(ns); 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ci// Add missing imports, but only adjacent to a MODULE_LICENSE statement. 198c2ecf20Sopenharmony_ci// That ensures we are adding it only to the main module source file. 208c2ecf20Sopenharmony_ci@do_import depends on !has_ns_import && nsdeps@ 218c2ecf20Sopenharmony_cideclarer name MODULE_LICENSE; 228c2ecf20Sopenharmony_ciexpression license; 238c2ecf20Sopenharmony_ciidentifier virtual.ns; 248c2ecf20Sopenharmony_ci@@ 258c2ecf20Sopenharmony_ciMODULE_LICENSE(license); 268c2ecf20Sopenharmony_ci+ MODULE_IMPORT_NS(ns); 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci// Dummy rule for report mode that would otherwise be empty and make spatch 298c2ecf20Sopenharmony_ci// fail ("No rules apply.") 308c2ecf20Sopenharmony_ci@script:python depends on report@ 318c2ecf20Sopenharmony_ci@@ 32