From: Peter Chen <peter.chen@nxp.com>
To: Pawel Laszczak <pawell@cadence.com>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"balbi@kernel.org" <balbi@kernel.org>,
"colin.king@canonical.com" <colin.king@canonical.com>,
"rogerq@ti.com" <rogerq@ti.com>,
Rahul Kumar <kurahul@cadence.com>,
"nsekhar@ti.com" <nsekhar@ti.com>
Subject: Re: [PATCH v2 03/10] usb: cdns3: Moves reusable code to separate module
Date: Tue, 10 Nov 2020 11:21:22 +0000 [thread overview]
Message-ID: <20201110112054.GC22481@b29397-desktop> (raw)
In-Reply-To: <DM6PR07MB55294E87F6D76BA3C04E510ADDE90@DM6PR07MB5529.namprd07.prod.outlook.com>
On 20-11-10 09:20:54, Pawel Laszczak wrote:
> Hi,
>
> >>
> >> int cdns3_hw_role_switch(struct cdns3 *cdns);
> >> -int cdns3_init(struct cdns3 *cdns);
> >> -int cdns3_remove(struct cdns3 *cdns);
> >> +extern int cdns3_init(struct cdns3 *cdns);
> >> +extern int cdns3_remove(struct cdns3 *cdns);
> >
> >Why add "extern" here and below?
> >
>
> These functions are the API between cdnsp and cdns3 modules.
> It's looks like a common approach in kernel.
> Many or even most of API function in kernel has "extern".
>
Even you have not written "extern" keyword, the "extern" is
added implicitly by compiler. Usually, we use "extern" for variable
or the function is defined at assembly. You could see some
"extern" keyword use cases at include/linux/device.h.
Never mind, it is not a issue.
Peter
> Of course, here we have little different situation because these API functions
> are limited only to cdns3 directory.
>
> was not sure about that, but I think that this extern is the
> information that these functions are used, or can be used
> by other modules.
>
> Am I right ?
>
> >>
> >> #ifdef CONFIG_PM_SLEEP
> >> -int cdns3_resume(struct cdns3 *cdns, u8 set_active);
> >> -int cdns3_suspend(struct cdns3 *cdns);
> >> +extern int cdns3_resume(struct cdns3 *cdns, u8 set_active);
> >> +extern int cdns3_suspend(struct cdns3 *cdns);
> >> #endif /* CONFIG_PM_SLEEP */
> >> #endif /* __LINUX_CDNS3_CORE_H */
> >> diff --git a/drivers/usb/cdns3/drd.c b/drivers/usb/cdns3/drd.c
> >> index ed8cde91a02c..1874dc6018f0 100644
> >> --- a/drivers/usb/cdns3/drd.c
> >> +++ b/drivers/usb/cdns3/drd.c
> >> @@ -15,7 +15,6 @@
> >> #include <linux/iopoll.h>
> >> #include <linux/usb/otg.h>
> >>
> >> -#include "gadget.h"
> >> #include "drd.h"
> >> #include "core.h"
> >>
> >> @@ -226,6 +225,7 @@ int cdns3_drd_gadget_on(struct cdns3 *cdns)
> >> phy_set_mode(cdns->usb3_phy, PHY_MODE_USB_DEVICE);
> >> return 0;
> >> }
> >> +EXPORT_SYMBOL_GPL(cdns3_drd_gadget_on);
> >>
> >> /**
> >> * cdns3_drd_gadget_off - stop gadget.
> >> @@ -249,6 +249,7 @@ void cdns3_drd_gadget_off(struct cdns3 *cdns)
> >> 1, 2000000);
> >> phy_set_mode(cdns->usb3_phy, PHY_MODE_INVALID);
> >> }
> >> +EXPORT_SYMBOL_GPL(cdns3_drd_gadget_off);
> >>
> >> /**
> >> * cdns3_init_otg_mode - initialize drd controller
> >> diff --git a/drivers/usb/cdns3/drd.h b/drivers/usb/cdns3/drd.h
> >> index d752d8806a38..972aba8a40b6 100644
> >> --- a/drivers/usb/cdns3/drd.h
> >> +++ b/drivers/usb/cdns3/drd.h
> >> @@ -209,8 +209,8 @@ int cdns3_get_vbus(struct cdns3 *cdns);
> >> int cdns3_drd_init(struct cdns3 *cdns);
> >> int cdns3_drd_exit(struct cdns3 *cdns);
> >> int cdns3_drd_update_mode(struct cdns3 *cdns);
> >> -int cdns3_drd_gadget_on(struct cdns3 *cdns);
> >> -void cdns3_drd_gadget_off(struct cdns3 *cdns);
> >> +extern int cdns3_drd_gadget_on(struct cdns3 *cdns);
> >> +extern void cdns3_drd_gadget_off(struct cdns3 *cdns);
> >> int cdns3_drd_host_on(struct cdns3 *cdns);
> >> void cdns3_drd_host_off(struct cdns3 *cdns);
> >>
> >> --
> >> 2.17.1
> >>
>
> --
> Thanks
> Pawel Laszczak
--
Thanks,
Peter Chen
next prev parent reply other threads:[~2020-11-10 11:21 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-06 11:42 [PATCH v2 00/10] Introduced new Cadence USBSSP DRD Driver Pawel Laszczak
2020-11-06 11:42 ` [PATCH v2 01/10] usb: cdns3: Add support for DRD CDNSP Pawel Laszczak
2020-11-10 9:04 ` Peter Chen
2020-11-06 11:42 ` [PATCH v2 02/10] usb: cdns3: Split core.c into cdns3-plat and core.c file Pawel Laszczak
2020-11-06 11:42 ` [PATCH v2 03/10] usb: cdns3: Moves reusable code to separate module Pawel Laszczak
2020-11-10 9:09 ` Peter Chen
2020-11-10 9:20 ` Pawel Laszczak
2020-11-10 11:21 ` Peter Chen [this message]
2020-11-10 11:39 ` gregkh
2020-11-10 11:42 ` Pawel Laszczak
2020-11-06 11:42 ` [PATCH v2 04/10] usb: cdns3: Refactoring names in reusable code Pawel Laszczak
2020-11-06 11:42 ` [PATCH v2 05/10] usb: cdns3: Changed type of gadget_dev in cdns structure Pawel Laszczak
2020-11-06 11:42 ` [PATCH v2 06/10] usb: cdnsp: Device side header file for CDNSP driver Pawel Laszczak
2020-11-11 2:33 ` Peter Chen
2020-11-17 14:54 ` Pawel Laszczak
2020-11-06 11:42 ` [PATCH v2 07/10] usb: cdnsp: cdns3 Add main part of Cadence USBSSP DRD Driver Pawel Laszczak
2020-11-11 3:25 ` Peter Chen
2020-11-18 9:50 ` Pawel Laszczak
2020-11-06 11:42 ` [PATCH v2 08/10] usb: cdnsp: Add tracepoints for CDNSP driver Pawel Laszczak
2020-11-11 3:27 ` Peter Chen
2020-11-06 11:42 ` [PATCH v2 09/10] usb: cdns3: Change file names for cdns3 driver Pawel Laszczak
2020-11-11 3:28 ` Peter Chen
2020-11-06 11:43 ` [PATCH v2 10/10] MAINTAINERS: add Cadence USBSSP DRD IP driver entry Pawel Laszczak
2020-11-06 13:41 ` [PATCH v2 00/10] Introduced new Cadence USBSSP DRD Driver Greg KH
2020-11-09 9:32 ` Pawel Laszczak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201110112054.GC22481@b29397-desktop \
--to=peter.chen@nxp.com \
--cc=balbi@kernel.org \
--cc=colin.king@canonical.com \
--cc=gregkh@linuxfoundation.org \
--cc=kurahul@cadence.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=nsekhar@ti.com \
--cc=pawell@cadence.com \
--cc=rogerq@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).