What is the function of arch/x86/purgatory/purgatory.c?

From: Larry Finger
Date: Sat Dec 17 2016 - 12:52:27 EST


While checking the rtlwifi family of drivers using Sparse, I got the following warnings:

CHECK arch/x86/purgatory/purgatory.c
arch/x86/purgatory/purgatory.c:21:15: warning: symbol 'backup_dest' was not declared. Should it be static?
arch/x86/purgatory/purgatory.c:22:15: warning: symbol 'backup_src' was not declared. Should it be static?
arch/x86/purgatory/purgatory.c:23:15: warning: symbol 'backup_sz' was not declared. Should it be static?
arch/x86/purgatory/purgatory.c:25:4: warning: symbol 'sha256_digest' was not declared. Should it be static?
arch/x86/purgatory/purgatory.c:27:19: warning: symbol 'sha_regions' was not declared. Should it be static?
arch/x86/purgatory/purgatory.c:42:5: warning: symbol 'verify_sha256_digest' was not declared. Should it be static?
arch/x86/purgatory/purgatory.c:61:6: warning: symbol 'purgatory' was not declared. Should it be static?

Upon examination of the routine, I can see that if purgatory() should be static, then none of the code here will ever be accessed by any part of the kernel. Is there some bit of magic that is above my understanding, or is this a useless bit of code that has been forgotten and should be removed?

If the former, then I think there should be declarations so that the clueless like me are not confused.

Thanks,

Larry