1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyun// 3*4882a593Smuzhiyun/// Adds missing MODULE_IMPORT_NS statements to source files 4*4882a593Smuzhiyun/// 5*4882a593Smuzhiyun/// This script is usually called from scripts/nsdeps with -D ns=<namespace> to 6*4882a593Smuzhiyun/// add a missing namespace tag to a module source file. 7*4882a593Smuzhiyun/// 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunvirtual nsdeps 10*4882a593Smuzhiyunvirtual report 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun@has_ns_import@ 13*4882a593Smuzhiyundeclarer name MODULE_IMPORT_NS; 14*4882a593Smuzhiyunidentifier virtual.ns; 15*4882a593Smuzhiyun@@ 16*4882a593SmuzhiyunMODULE_IMPORT_NS(ns); 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun// Add missing imports, but only adjacent to a MODULE_LICENSE statement. 19*4882a593Smuzhiyun// That ensures we are adding it only to the main module source file. 20*4882a593Smuzhiyun@do_import depends on !has_ns_import && nsdeps@ 21*4882a593Smuzhiyundeclarer name MODULE_LICENSE; 22*4882a593Smuzhiyunexpression license; 23*4882a593Smuzhiyunidentifier virtual.ns; 24*4882a593Smuzhiyun@@ 25*4882a593SmuzhiyunMODULE_LICENSE(license); 26*4882a593Smuzhiyun+ MODULE_IMPORT_NS(ns); 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun// Dummy rule for report mode that would otherwise be empty and make spatch 29*4882a593Smuzhiyun// fail ("No rules apply.") 30*4882a593Smuzhiyun@script:python depends on report@ 31*4882a593Smuzhiyun@@ 32