On Wed, Sep 26, 2018 at 04:20:55PM -0700, Nathan Chancellor wrote: > Clang emits the following warning: > > drivers/staging/rtl8723bs/os_dep/sdio_intf.c:25:36: warning: variable > 'acpi_ids' is not needed and will not be emitted > [-Wunneeded-internal-declaration] > static const struct acpi_device_id acpi_ids[] = { > ^ > 1 warning generated. > > Mark acpi_ids with the attribute __used, which makes it clear to Clang > that we don't want this warning while not inhibiting Clang's dead code > elimination from removing the unreferenced internal symbol when moving > the data to the globally available symbol with MODULE_DEVICE_TABLE. > > $ nm -S drivers/staging/rtl8723bs/os_dep/sdio_intf.o | grep acpi > 0000000000000000 0000000000000040 R __mod_acpi__acpi_ids_device_table > > Link: https://github.com/ClangBuiltLinux/linux/issues/169 > Suggested-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> > --- > drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > index 6d02904de63f..7c03b69b8ed3 100644 > --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > @@ -22,7 +22,7 @@ static const struct sdio_device_id sdio_ids[] = > { SDIO_DEVICE(0x024c, 0xb723), }, > { /* end: all zeroes */ }, > }; > -static const struct acpi_device_id acpi_ids[] = { > +static const struct acpi_device_id acpi_ids[] __used = { Can't we put __used somewhere in the MODULE_DEVICE_TABLE() macro so we don't have to go adding it to all individual entries? thanks, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel