lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 02 Dec 2020 18:44:15 +0200
From:   Kalle Valo <kvalo@...eaurora.org>
To:     Pkshih <pkshih@...ltek.com>
Cc:     Lee Jones <lee.jones@...aro.org>,
        Tony Chuang <yhchuang@...ltek.com>,
        "linux-kernel\@vger.kernel.org" <linux-kernel@...r.kernel.org>,
        "linux-wireless\@vger.kernel.org" <linux-wireless@...r.kernel.org>,
        "davem\@davemloft.net" <davem@...emloft.net>,
        "netdev\@vger.kernel.org" <netdev@...r.kernel.org>,
        "kuba\@kernel.org" <kuba@...nel.org>
Subject: Re: [PATCH 17/17] realtek: rtw88: pci: Add prototypes for .probe, .remove and .shutdown

Pkshih <pkshih@...ltek.com> writes:

>> -----Original Message-----
>> From: Lee Jones [mailto:lee.jones@...aro.org]
>> Sent: Friday, November 27, 2020 4:57 PM
>> To: Pkshih
>> Cc: Tony Chuang; kvalo@...eaurora.org; linux-kernel@...r.kernel.org;
>> linux-wireless@...r.kernel.org;
>> davem@...emloft.net; netdev@...r.kernel.org; kuba@...nel.org
>> Subject: Re: [PATCH 17/17] realtek: rtw88: pci: Add prototypes for
>> .probe, .remove and .shutdown
>> 
>> On Fri, 27 Nov 2020, Pkshih wrote:
>> 
>> > On Fri, 2020-11-27 at 07:38 +0000, Lee Jones wrote:
>> > > On Fri, 27 Nov 2020, Pkshih wrote:
>> > >
>> > > >
>> > > > The subject prefix doesn't need 'realtek:'; use 'rtw88:'.
>> > > >
>> > > > On Thu, 2020-11-26 at 13:31 +0000, Lee Jones wrote:
>> > > > > Also strip out other duplicates from driver specific headers.
>> > > > >
>> > > > > Ensure 'main.h' is explicitly included in 'pci.h' since the latter
>> > > > > uses some defines from the former.  It avoids issues like:
>> > > > >
>> > > > >  from drivers/net/wireless/realtek/rtw88/rtw8822be.c:5:
>> > > > >  drivers/net/wireless/realtek/rtw88/pci.h:209:28: error:
>> > > > > ‘RTK_MAX_TX_QUEUE_NUM’ undeclared here (not in a function); did you mean
>> > > > > ‘RTK_MAX_RX_DESC_NUM’?
>> > > > >  209 | DECLARE_BITMAP(tx_queued, RTK_MAX_TX_QUEUE_NUM);
>> > > > >  | ^~~~~~~~~~~~~~~~~~~~
>> > > > >
>> > > > > Fixes the following W=1 kernel build warning(s):
>> > > > >
>> > > > >  drivers/net/wireless/realtek/rtw88/pci.c:1488:5: warning: no previous
>> > > > > prototype for ‘rtw_pci_probe’ [-Wmissing-prototypes]
>> > > > >  1488 | int rtw_pci_probe(struct pci_dev *pdev,
>> > > > >  | ^~~~~~~~~~~~~
>> > > > >  drivers/net/wireless/realtek/rtw88/pci.c:1568:6: warning: no previous
>> > > > > prototype for ‘rtw_pci_remove’ [-Wmissing-prototypes]
>> > > > >  1568 | void rtw_pci_remove(struct pci_dev *pdev)
>> > > > >  | ^~~~~~~~~~~~~~
>> > > > >  drivers/net/wireless/realtek/rtw88/pci.c:1590:6: warning: no previous
>> > > > > prototype for ‘rtw_pci_shutdown’ [-Wmissing-prototypes]
>> > > > >  1590 | void rtw_pci_shutdown(struct pci_dev *pdev)
>> > > > >  | ^~~~~~~~~~~~~~~~
>> > > > >
>> > > > > Cc: Yan-Hsuan Chuang <yhchuang@...ltek.com>
>> > > > > Cc: Kalle Valo <kvalo@...eaurora.org>
>> > > > > Cc: "David S. Miller" <davem@...emloft.net>
>> > > > > Cc: Jakub Kicinski <kuba@...nel.org>
>> > > > > Cc: linux-wireless@...r.kernel.org
>> > > > > Cc: netdev@...r.kernel.org
>> > > > > Signed-off-by: Lee Jones <lee.jones@...aro.org>
>> > > > > ---
>> > > > >  drivers/net/wireless/realtek/rtw88/pci.h       | 8 ++++++++
>> > > > >  drivers/net/wireless/realtek/rtw88/rtw8723de.c | 1 +
>> > > > >  drivers/net/wireless/realtek/rtw88/rtw8723de.h | 4 ----
>> > > > >  drivers/net/wireless/realtek/rtw88/rtw8821ce.c | 1 +
>> > > > >  drivers/net/wireless/realtek/rtw88/rtw8821ce.h | 4 ----
>> > > > >  drivers/net/wireless/realtek/rtw88/rtw8822be.c | 1 +
>> > > > >  drivers/net/wireless/realtek/rtw88/rtw8822be.h | 4 ----
>> > > > >  drivers/net/wireless/realtek/rtw88/rtw8822ce.c | 1 +
>> > > > >  drivers/net/wireless/realtek/rtw88/rtw8822ce.h | 4 ----
>> > > > >  9 files changed, 12 insertions(+), 16 deletions(-)
>> > > > >
>> > > > > diff --git a/drivers/net/wireless/realtek/rtw88/pci.h
>> > > > > b/drivers/net/wireless/realtek/rtw88/pci.h
>> > > > > index ca17aa9cf7dc7..cda56919a5f0f 100644
>> > > > > --- a/drivers/net/wireless/realtek/rtw88/pci.h
>> > > > > +++ b/drivers/net/wireless/realtek/rtw88/pci.h
>> > > > > @@ -5,6 +5,8 @@
>> > > > >  #ifndef __RTK_PCI_H_
>> > > > >  #define __RTK_PCI_H_
>> > > > >
>> > > > > +#include "main.h"
>> > > > > +
>> > > >
>> > > > Please #include "main.h" ahead of "pci.h" in each of rtw8xxxxe.c.
>> > >
>> > > You mean instead of in pci.h?
>> > >
>> > > Surely that's a hack.
>> > >
>> >
>> > I mean don't include main.h in pci.h, but include both of them in each
>> > of rtw8xxxxe.c.
>> >
>> > +#include "main.h"
>> > +#include "pci.h"
>> 
>> Yes, that's what I thought you meant.  I think that's a hack.
>> 
>> Source files shouldn't rely on the ordering of include files to
>> resolve dependencies.  In fact, a lot of subsystems require includes to
>> be in alphabetical order.
>> 
>> If a source or header file references a resource from a specific
>> header file (for instance here pci.h uses defines from main.h) then it
>> should explicitly include it.
>> 
>> Can you tell me the technical reason as to why these drivers are
>> handled differently please?
>> 
>
> No technical reason, but that's our coding convention that needs some
> changes now.

Yeah, please fix rtw88. Just like Lee said, pci.h should have "#include
main.h" and not require other files to include files in correct order.

> Could you point out where kernel or subsystem describes the rules?
> Or, point out the subsystem you mentioned above.
> Then, I can study and follow the rules for further development.

I have not seen any documentation abou this, but it's a general rule to
keep the header files maintainable.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ