* [PATCH] staging: rtl8723bs: Remove ACPI table declaration
@ 2018-09-26 5:39 Nathan Chancellor
2018-09-26 6:22 ` Greg Kroah-Hartman
0 siblings, 1 reply; 5+ messages in thread
From: Nathan Chancellor @ 2018-09-26 5:39 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: devel, linux-kernel, Nathan Chancellor
Clang warns that the acpi_id declaration is not going to be emitted
in the final assembly:
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.
This is because it's marked as static const and it is not used anywhere
in this file. Doing a git grep on this driver for 'acpi' shows that this
declaration has been unused since the driver's initial induction. Remove
it since it's not doing anything.
Link: https://github.com/ClangBuiltLinux/linux/issues/169
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
---
drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 6 ------
1 file changed, 6 deletions(-)
diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
index 6d02904de63f..d473f9bd08c3 100644
--- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
+++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c
@@ -22,13 +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[] = {
- {"OBDA8723", 0x0000},
- {}
-};
-
MODULE_DEVICE_TABLE(sdio, sdio_ids);
-MODULE_DEVICE_TABLE(acpi, acpi_ids);
static int rtw_drv_init(struct sdio_func *func, const struct sdio_device_id *id);
static void rtw_dev_remove(struct sdio_func *func);
--
2.19.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] staging: rtl8723bs: Remove ACPI table declaration 2018-09-26 5:39 [PATCH] staging: rtl8723bs: Remove ACPI table declaration Nathan Chancellor @ 2018-09-26 6:22 ` Greg Kroah-Hartman 2018-09-26 6:44 ` Nathan Chancellor 0 siblings, 1 reply; 5+ messages in thread From: Greg Kroah-Hartman @ 2018-09-26 6:22 UTC (permalink / raw) To: Nathan Chancellor; +Cc: devel, linux-kernel On Tue, Sep 25, 2018 at 10:39:10PM -0700, Nathan Chancellor wrote: > Clang warns that the acpi_id declaration is not going to be emitted > in the final assembly: > > 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. > > This is because it's marked as static const and it is not used anywhere > in this file. Doing a git grep on this driver for 'acpi' shows that this > declaration has been unused since the driver's initial induction. Remove > it since it's not doing anything. > > Link: https://github.com/ClangBuiltLinux/linux/issues/169 > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > index 6d02904de63f..d473f9bd08c3 100644 > --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > @@ -22,13 +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[] = { > - {"OBDA8723", 0x0000}, > - {} > -}; > - > MODULE_DEVICE_TABLE(sdio, sdio_ids); > -MODULE_DEVICE_TABLE(acpi, acpi_ids); You just removed the ability for the driver to be automatically loaded if that acpi id is present. Not good :( I think you need to fix up your scripts, this is valid code... greg k-h ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] staging: rtl8723bs: Remove ACPI table declaration 2018-09-26 6:22 ` Greg Kroah-Hartman @ 2018-09-26 6:44 ` Nathan Chancellor 2018-09-26 6:49 ` Greg Kroah-Hartman 0 siblings, 1 reply; 5+ messages in thread From: Nathan Chancellor @ 2018-09-26 6:44 UTC (permalink / raw) To: Greg Kroah-Hartman; +Cc: devel, linux-kernel On Wed, Sep 26, 2018 at 08:22:45AM +0200, Greg Kroah-Hartman wrote: > On Tue, Sep 25, 2018 at 10:39:10PM -0700, Nathan Chancellor wrote: > > Clang warns that the acpi_id declaration is not going to be emitted > > in the final assembly: > > > > 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. > > > > This is because it's marked as static const and it is not used anywhere > > in this file. Doing a git grep on this driver for 'acpi' shows that this > > declaration has been unused since the driver's initial induction. Remove > > it since it's not doing anything. > > > > Link: https://github.com/ClangBuiltLinux/linux/issues/169 > > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > > --- > > drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 6 ------ > > 1 file changed, 6 deletions(-) > > > > diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > > index 6d02904de63f..d473f9bd08c3 100644 > > --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > > +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > > @@ -22,13 +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[] = { > > - {"OBDA8723", 0x0000}, > > - {} > > -}; > > - > > MODULE_DEVICE_TABLE(sdio, sdio_ids); > > -MODULE_DEVICE_TABLE(acpi, acpi_ids); > > You just removed the ability for the driver to be automatically loaded > if that acpi id is present. > I am not sure I understand. Every instance of acpi_device_id that I looked at in the kernel before sending this patch uses MODULE_DEVICE_TABLE but then that acpi_device_id declaration is always used in the driver definition either under the acpi_match_table member or ids member depending on what type of driver it is. Should this one do that as well? Is that even possible with an sdio driver? I apologize if I am not making sense, I'm not super familiar with these interfaces. I also read 'Documentation/acpi/enumeration.txt' which makes it seem like the declaration needs to be added to the device definition as well. > Not good :( > > I think you need to fix up your scripts, this is valid code... > No scripts here, just a human interpreting warnings manually. > greg k-h Thanks for the review, Nathan ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] staging: rtl8723bs: Remove ACPI table declaration 2018-09-26 6:44 ` Nathan Chancellor @ 2018-09-26 6:49 ` Greg Kroah-Hartman 2018-09-26 6:59 ` Nathan Chancellor 0 siblings, 1 reply; 5+ messages in thread From: Greg Kroah-Hartman @ 2018-09-26 6:49 UTC (permalink / raw) To: Nathan Chancellor; +Cc: devel, linux-kernel On Tue, Sep 25, 2018 at 11:44:37PM -0700, Nathan Chancellor wrote: > On Wed, Sep 26, 2018 at 08:22:45AM +0200, Greg Kroah-Hartman wrote: > > On Tue, Sep 25, 2018 at 10:39:10PM -0700, Nathan Chancellor wrote: > > > Clang warns that the acpi_id declaration is not going to be emitted > > > in the final assembly: > > > > > > 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. > > > > > > This is because it's marked as static const and it is not used anywhere > > > in this file. Doing a git grep on this driver for 'acpi' shows that this > > > declaration has been unused since the driver's initial induction. Remove > > > it since it's not doing anything. > > > > > > Link: https://github.com/ClangBuiltLinux/linux/issues/169 > > > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > > > --- > > > drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 6 ------ > > > 1 file changed, 6 deletions(-) > > > > > > diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > > > index 6d02904de63f..d473f9bd08c3 100644 > > > --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > > > +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > > > @@ -22,13 +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[] = { > > > - {"OBDA8723", 0x0000}, > > > - {} > > > -}; > > > - > > > MODULE_DEVICE_TABLE(sdio, sdio_ids); > > > -MODULE_DEVICE_TABLE(acpi, acpi_ids); > > > > You just removed the ability for the driver to be automatically loaded > > if that acpi id is present. > > > > I am not sure I understand. Every instance of acpi_device_id that I > looked at in the kernel before sending this patch uses MODULE_DEVICE_TABLE > but then that acpi_device_id declaration is always used in the driver > definition either under the acpi_match_table member or ids member > depending on what type of driver it is. Should this one do that as well? I don't know, but it's not always necessary. > Is that even possible with an sdio driver? I apologize if I am not > making sense, I'm not super familiar with these interfaces. > > I also read 'Documentation/acpi/enumeration.txt' which makes it seem > like the declaration needs to be added to the device definition as well. If it is a real acpi driver, yes, you need to actually register it with the acpi core. But, if it is just using the auto-load functionality of "if this acpi string is found, load the module!" then the code is correct as-is. Yeah, it's a hack, but does work and helps out for auto-loading drivers for "odd" hardware that is not always self-describing. thanks, greg k-h ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] staging: rtl8723bs: Remove ACPI table declaration 2018-09-26 6:49 ` Greg Kroah-Hartman @ 2018-09-26 6:59 ` Nathan Chancellor 0 siblings, 0 replies; 5+ messages in thread From: Nathan Chancellor @ 2018-09-26 6:59 UTC (permalink / raw) To: Greg Kroah-Hartman; +Cc: devel, linux-kernel On Wed, Sep 26, 2018 at 08:49:15AM +0200, Greg Kroah-Hartman wrote: > On Tue, Sep 25, 2018 at 11:44:37PM -0700, Nathan Chancellor wrote: > > On Wed, Sep 26, 2018 at 08:22:45AM +0200, Greg Kroah-Hartman wrote: > > > On Tue, Sep 25, 2018 at 10:39:10PM -0700, Nathan Chancellor wrote: > > > > Clang warns that the acpi_id declaration is not going to be emitted > > > > in the final assembly: > > > > > > > > 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. > > > > > > > > This is because it's marked as static const and it is not used anywhere > > > > in this file. Doing a git grep on this driver for 'acpi' shows that this > > > > declaration has been unused since the driver's initial induction. Remove > > > > it since it's not doing anything. > > > > > > > > Link: https://github.com/ClangBuiltLinux/linux/issues/169 > > > > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > > > > --- > > > > drivers/staging/rtl8723bs/os_dep/sdio_intf.c | 6 ------ > > > > 1 file changed, 6 deletions(-) > > > > > > > > diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > > > > index 6d02904de63f..d473f9bd08c3 100644 > > > > --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > > > > +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c > > > > @@ -22,13 +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[] = { > > > > - {"OBDA8723", 0x0000}, > > > > - {} > > > > -}; > > > > - > > > > MODULE_DEVICE_TABLE(sdio, sdio_ids); > > > > -MODULE_DEVICE_TABLE(acpi, acpi_ids); > > > > > > You just removed the ability for the driver to be automatically loaded > > > if that acpi id is present. > > > > > > > I am not sure I understand. Every instance of acpi_device_id that I > > looked at in the kernel before sending this patch uses MODULE_DEVICE_TABLE > > but then that acpi_device_id declaration is always used in the driver > > definition either under the acpi_match_table member or ids member > > depending on what type of driver it is. Should this one do that as well? > > I don't know, but it's not always necessary. > > > Is that even possible with an sdio driver? I apologize if I am not > > making sense, I'm not super familiar with these interfaces. > > > > I also read 'Documentation/acpi/enumeration.txt' which makes it seem > > like the declaration needs to be added to the device definition as well. > > If it is a real acpi driver, yes, you need to actually register it with > the acpi core. > > But, if it is just using the auto-load functionality of "if this acpi > string is found, load the module!" then the code is correct as-is. > > Yeah, it's a hack, but does work and helps out for auto-loading drivers > for "odd" hardware that is not always self-describing. > > thanks, > > greg k-h Thank you for the explanation, I appreciate that and I'll keep it in mind should I run across this kind of warning in the future. I'll send a v2 now that silences this warning through the '__maybe_unused' attribute like a few other commits that deal with this warning. Nathan ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-09-26 6:59 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-09-26 5:39 [PATCH] staging: rtl8723bs: Remove ACPI table declaration Nathan Chancellor 2018-09-26 6:22 ` Greg Kroah-Hartman 2018-09-26 6:44 ` Nathan Chancellor 2018-09-26 6:49 ` Greg Kroah-Hartman 2018-09-26 6:59 ` Nathan Chancellor
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox