nfit: Hide unused functions behind CONFIG_X86
Subsystems (2)
PATCH 1/1 nfit: Hide unused functions behind CONFIG_X86
On arm64 little endian allyesconfig:
drivers/acpi/nfit/intel.c:149:12: warning: unused function 'intel_security_unlock' [-Wunused-function] static int intel_security_unlock(struct nvdimm *nvdimm,
^
drivers/acpi/nfit/intel.c:230:12: warning: unused function 'intel_security_erase' [-Wunused-function]
static int intel_security_erase(struct nvdimm *nvdimm,
^
drivers/acpi/nfit/intel.c:279:12: warning: unused function 'intel_security_query_overwrite' [-Wunused-function]
static int intel_security_query_overwrite(struct nvdimm *nvdimm)
^
drivers/acpi/nfit/intel.c:316:12: warning: unused function 'intel_security_overwrite' [-Wunused-function]
static int intel_security_overwrite(struct nvdimm *nvdimm,
^4 warnings generated.
These functions are only used in __intel_security_ops when CONFIG_X86 is set so only define these functions under that same condition.
--- drivers/acpi/nfit/intel.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
drivers/acpi/nfit/intel.c +3 -6
@@ -144,6 +144,7 @@ static int intel_security_change_key(struct nvdimm *nvdimm, } } +#ifdef CONFIG_X86 static void nvdimm_invalidate_cache (void ); static int intel_security_unlock(struct nvdimm *nvdimm,
@@ -186,6 +187,7 @@ static int intel_security_unlock(struct nvdimm *nvdimm, return 0; } +#endif static int intel_security_disable (struct nvdimm *nvdimm,const struct nvdimm_key_data *key_data)
@@ -227,6 +229,7 @@ static int intel_security_disable(struct nvdimm *nvdimm,return 0 ; } +#ifdef CONFIG_X86 static int intel_security_erase (struct nvdimm *nvdimm,const struct nvdimm_key_data *key,enum nvdimm_passphrase_type ptype)
@@ -360,16 +363,10 @@ static int intel_security_overwrite(struct nvdimm *nvdimm,* TODO: define a cross arch wbinvd equivalent when/if * NVDIMM_FAMILY_INTEL command support arrives on another arch. */ -#ifdef CONFIG_X86 static void nvdimm_invalidate_cache (void ) {wbinvd_on_all_cpus (); } -#else -static void nvdimm_invalidate_cache (void ) -{ -WARN_ON_ONCE ("cache invalidation required after unlock\n" ); -}#endif static const struct nvdimm_security_ops __intel_security_ops = {
Signature · 1 line
2.20.1
Quoted 15 lines · Nathan Chancellor
On arm64 little endian allyesconfig:
drivers/acpi/nfit/intel.c:149:12: warning: unused function 'intel_security_unlock' [-Wunused-function] static int intel_security_unlock(struct nvdimm *nvdimm,^ drivers/acpi/nfit/intel.c:230:12: warning: unused function 'intel_security_erase' [-Wunused-function] static int intel_security_erase(struct nvdimm *nvdimm, ^ drivers/acpi/nfit/intel.c:279:12: warning: unused function 'intel_security_query_overwrite' [-Wunused-function] static int intel_security_query_overwrite(struct nvdimm *nvdimm) ^ drivers/acpi/nfit/intel.c:316:12: warning: unused function 'intel_security_overwrite' [-Wunused-function] static int intel_security_overwrite(struct nvdimm *nvdimm, ^
Quoted 4 lines
4 warnings generated.
These functions are only used in
__intel_security_opswhenCONFIG_X86is set so only define these functions under that same condition.
Thanks for the report, not sure how the kbuild robot missed this. I'd prefer marking the functions __maybe_unused rather than expanding the ifdef guards.
Quoted 19 lines · Dan Williams
Quoted 17 lines · Nathan Chancellor
On arm64 little endian allyesconfig:
drivers/acpi/nfit/intel.c:149:12: warning: unused function 'intel_security_unlock' [-Wunused-function] static int intel_security_unlock(struct nvdimm *nvdimm,^ drivers/acpi/nfit/intel.c:230:12: warning: unused function 'intel_security_erase' [-Wunused-function] static int intel_security_erase(struct nvdimm *nvdimm, ^ drivers/acpi/nfit/intel.c:279:12: warning: unused function 'intel_security_query_overwrite' [-Wunused-function] static int intel_security_query_overwrite(struct nvdimm *nvdimm) ^ drivers/acpi/nfit/intel.c:316:12: warning: unused function 'intel_security_overwrite' [-Wunused-function] static int intel_security_overwrite(struct nvdimm *nvdimm, ^4 warnings generated.
Quoted 6 lines
Quoted 2 lines
These functions are only used in
__intel_security_opswhenCONFIG_X86is set so only define these functions under that same condition.Thanks for the report, not sure how the kbuild robot missed this. I'd prefer marking the functions
__maybe_unusedrather than expanding the ifdef guards.
allyesconfig defaults to big endian, which doesn't built the nfit folder (haven't looked into the dependency chain to see why). I have been working with Clang and have a local patch to avoid turning on big endian mode with it for now (avoids a few other warnings for now).
I can send a v2 with that change if you would like.
Thanks for the quick reply,
Nathan
PATCH v2 1/1 nfit: Mark some functions as __maybe_unused
In reply to Nathan ChancellorOn arm64 little endian allyesconfig:
drivers/acpi/nfit/intel.c:149:12: warning: unused function 'intel_security_unlock' [-Wunused-function] static int intel_security_unlock(struct nvdimm *nvdimm,
^
drivers/acpi/nfit/intel.c:230:12: warning: unused function 'intel_security_erase' [-Wunused-function]
static int intel_security_erase(struct nvdimm *nvdimm,
^
drivers/acpi/nfit/intel.c:279:12: warning: unused function 'intel_security_query_overwrite' [-Wunused-function]
static int intel_security_query_overwrite(struct nvdimm *nvdimm)
^
drivers/acpi/nfit/intel.c:316:12: warning: unused function 'intel_security_overwrite' [-Wunused-function]
static int intel_security_overwrite(struct nvdimm *nvdimm,
^4 warnings generated.
Mark these functions as __maybe_unused because they are only used when CONFIG_X86 is set.
---
v1 -> v2:
* Mark the functions as __maybe_unused rather than expanding the CONFIG_X86, as requested by Dan.
drivers/acpi/nfit/intel.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/acpi/nfit/intel.c +4 -4
@@ -146,7 +146,7 @@ static int intel_security_change_key(struct nvdimm *nvdimm,static void nvdimm_invalidate_cache (void ); -static int intel_security_unlock (struct nvdimm *nvdimm, +static int __maybe_unused intel_security_unlock (struct nvdimm *nvdimm,const struct nvdimm_key_data *key_data) {struct nfit_mem *nfit_mem =nvdimm_provider_data (nvdimm);
@@ -227,7 +227,7 @@ static int intel_security_disable(struct nvdimm *nvdimm,return 0 ; } -static int intel_security_erase (struct nvdimm *nvdimm, +static int __maybe_unused intel_security_erase (struct nvdimm *nvdimm,const struct nvdimm_key_data *key,enum nvdimm_passphrase_type ptype) {
@@ -276,7 +276,7 @@ static int intel_security_erase(struct nvdimm *nvdimm,return 0 ; } -static int intel_security_query_overwrite (struct nvdimm *nvdimm) +static int __maybe_unused intel_security_query_overwrite (struct nvdimm *nvdimm) {int rc;struct nfit_mem *nfit_mem =nvdimm_provider_data (nvdimm);
@@ -313,7 +313,7 @@ static int intel_security_query_overwrite(struct nvdimm *nvdimm)return 0 ; } -static int intel_security_overwrite (struct nvdimm *nvdimm, +static int __maybe_unused intel_security_overwrite (struct nvdimm *nvdimm,const struct nvdimm_key_data *nkey) {int rc;
Signature · 1 line
2.20.1
Re: [PATCH v2] nfit: Mark some functions as __maybe_unused
Quoted 15 lines · Nathan Chancellor
On arm64 little endian allyesconfig:
drivers/acpi/nfit/intel.c:149:12: warning: unused function 'intel_security_unlock' [-Wunused-function] static int intel_security_unlock(struct nvdimm *nvdimm,^ drivers/acpi/nfit/intel.c:230:12: warning: unused function 'intel_security_erase' [-Wunused-function] static int intel_security_erase(struct nvdimm *nvdimm, ^ drivers/acpi/nfit/intel.c:279:12: warning: unused function 'intel_security_query_overwrite' [-Wunused-function] static int intel_security_query_overwrite(struct nvdimm *nvdimm) ^ drivers/acpi/nfit/intel.c:316:12: warning: unused function 'intel_security_overwrite' [-Wunused-function] static int intel_security_overwrite(struct nvdimm *nvdimm, ^
Quoted 8 lines
4 warnings generated.
Mark these functions as
__maybe_unusedbecause they are only used whenCONFIG_X86is set.Fixes 4c6926a23b76 ("acpi/nfit, libnvdimm: Add unlock of nvdimm support for Intel DIMMs")Suggested-by Dan Williams <[email protected]>Signed-off-by Nathan Chancellor <[email protected]>
Looks good, applied.