2019-08-26 15:44:30

by Krzysztof Wilczyński

[permalink] [raw]
Subject: [PATCH] PCI: hv: Make functions only used locally static in pci-hyperv.c

Functions hv_read_config_block(), hv_write_config_block()
and hv_register_block_invalidate() are not used anywhere
else and are local to drivers/pci/controller/pci-hyperv.c,
and do not need to be in global scope, so make these static.

Resolve compiler warning that can be seen when building with
warnings enabled (W=1).

Signed-off-by: Krzysztof Wilczynski <[email protected]>
---
drivers/pci/controller/pci-hyperv.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
index f1f300218fab..c9642e429c2d 100644
--- a/drivers/pci/controller/pci-hyperv.c
+++ b/drivers/pci/controller/pci-hyperv.c
@@ -930,7 +930,7 @@ static void hv_pci_read_config_compl(void *context, struct pci_response *resp,
*
* Return: 0 on success, -errno on failure
*/
-int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
+static int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
unsigned int block_id, unsigned int *bytes_returned)
{
struct hv_pcibus_device *hbus =
@@ -1010,7 +1010,7 @@ static void hv_pci_write_config_compl(void *context, struct pci_response *resp,
*
* Return: 0 on success, -errno on failure
*/
-int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
+static int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
unsigned int block_id)
{
struct hv_pcibus_device *hbus =
@@ -1079,7 +1079,7 @@ int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
*
* Return: 0 on success, -errno on failure
*/
-int hv_register_block_invalidate(struct pci_dev *pdev, void *context,
+static int hv_register_block_invalidate(struct pci_dev *pdev, void *context,
void (*block_invalidate)(void *context,
u64 block_mask))
{
--
2.22.1


2019-08-28 22:20:39

by Krzysztof Wilczyński

[permalink] [raw]
Subject: [PATCH v2] PCI: hv: Make functions only used locally static in pci-hyperv.c

Functions hv_read_config_block(), hv_write_config_block()
and hv_register_block_invalidate() are not used anywhere
else and are local to drivers/pci/controller/pci-hyperv.c,
and do not need to be in global scope, so make these static.

Resolve following compiler warning that can be seen when
building with warnings enabled (W=1):

drivers/pci/controller/pci-hyperv.c:933:5: warning: no previous prototype for ‘hv_read_config_block’ [-Wmissing-prototypes]
int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
^
drivers/pci/controller/pci-hyperv.c:1013:5: warning: no previous prototype for ‘hv_write_config_block’ [-Wmissing-prototypes]
int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
^
drivers/pci/controller/pci-hyperv.c:1082:5: warning: no previous prototype for ‘hv_register_block_invalidate’ [-Wmissing-prototypes]
int hv_register_block_invalidate(struct pci_dev *pdev, void *context,
^
Signed-off-by: Krzysztof Wilczynski <[email protected]>
---
Changes in v2:
Update commit message to include compiler warning.

drivers/pci/controller/pci-hyperv.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
index f1f300218fab..c9642e429c2d 100644
--- a/drivers/pci/controller/pci-hyperv.c
+++ b/drivers/pci/controller/pci-hyperv.c
@@ -930,7 +930,7 @@ static void hv_pci_read_config_compl(void *context, struct pci_response *resp,
*
* Return: 0 on success, -errno on failure
*/
-int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
+static int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
unsigned int block_id, unsigned int *bytes_returned)
{
struct hv_pcibus_device *hbus =
@@ -1010,7 +1010,7 @@ static void hv_pci_write_config_compl(void *context, struct pci_response *resp,
*
* Return: 0 on success, -errno on failure
*/
-int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
+static int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
unsigned int block_id)
{
struct hv_pcibus_device *hbus =
@@ -1079,7 +1079,7 @@ int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
*
* Return: 0 on success, -errno on failure
*/
-int hv_register_block_invalidate(struct pci_dev *pdev, void *context,
+static int hv_register_block_invalidate(struct pci_dev *pdev, void *context,
void (*block_invalidate)(void *context,
u64 block_mask))
{
--
2.22.1

2019-08-28 22:27:33

by Bjorn Helgaas

[permalink] [raw]
Subject: Re: [PATCH] PCI: hv: Make functions only used locally static in pci-hyperv.c

Maybe just:

PCI: hv: Make functions static

since we already know it's in pci-hyperv.c, and it's obvious that you
can only do this for functions that are only used locally.

On Mon, Aug 26, 2019 at 05:41:59PM +0200, Krzysztof Wilczynski wrote:
> Functions hv_read_config_block(), hv_write_config_block()
> and hv_register_block_invalidate() are not used anywhere
> else and are local to drivers/pci/controller/pci-hyperv.c,
> and do not need to be in global scope, so make these static.
>
> Resolve compiler warning that can be seen when building with
> warnings enabled (W=1).

Rewrap commit log to fill 75 columns.

Does this fix all the similar warnings in drivers/pci/? If there are
more, maybe we could fix them all in a single patch or at least a
single series?

> Signed-off-by: Krzysztof Wilczynski <[email protected]>
> ---
> drivers/pci/controller/pci-hyperv.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
> index f1f300218fab..c9642e429c2d 100644
> --- a/drivers/pci/controller/pci-hyperv.c
> +++ b/drivers/pci/controller/pci-hyperv.c
> @@ -930,7 +930,7 @@ static void hv_pci_read_config_compl(void *context, struct pci_response *resp,
> *
> * Return: 0 on success, -errno on failure
> */
> -int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
> +static int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
> unsigned int block_id, unsigned int *bytes_returned)
> {
> struct hv_pcibus_device *hbus =
> @@ -1010,7 +1010,7 @@ static void hv_pci_write_config_compl(void *context, struct pci_response *resp,
> *
> * Return: 0 on success, -errno on failure
> */
> -int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
> +static int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
> unsigned int block_id)
> {
> struct hv_pcibus_device *hbus =
> @@ -1079,7 +1079,7 @@ int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
> *
> * Return: 0 on success, -errno on failure
> */
> -int hv_register_block_invalidate(struct pci_dev *pdev, void *context,
> +static int hv_register_block_invalidate(struct pci_dev *pdev, void *context,
> void (*block_invalidate)(void *context,
> u64 block_mask))
> {
> --
> 2.22.1
>

2019-08-28 22:33:52

by Haiyang Zhang

[permalink] [raw]
Subject: RE: [PATCH v2] PCI: hv: Make functions only used locally static in pci-hyperv.c



> -----Original Message-----
> From: Krzysztof Wilczynski <[email protected]> On Behalf Of Krzysztof
> Wilczynski
> Sent: Wednesday, August 28, 2019 3:19 PM
> To: Bjorn Helgaas <[email protected]>
> Cc: KY Srinivasan <[email protected]>; Haiyang Zhang
> <[email protected]>; Stephen Hemminger
> <[email protected]>; Sasha Levin <[email protected]>; Lorenzo
> Pieralisi <[email protected]>; [email protected]; linux-
> [email protected]; [email protected]
> Subject: [PATCH v2] PCI: hv: Make functions only used locally static in pci-
> hyperv.c
>
> Functions hv_read_config_block(), hv_write_config_block()
> and hv_register_block_invalidate() are not used anywhere
> else and are local to drivers/pci/controller/pci-hyperv.c,
> and do not need to be in global scope, so make these static.
>
> Resolve following compiler warning that can be seen when
> building with warnings enabled (W=1):
>
> drivers/pci/controller/pci-hyperv.c:933:5: warning: no previous prototype for
> ‘hv_read_config_block’ [-Wmissing-prototypes]
> int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
> ^
> drivers/pci/controller/pci-hyperv.c:1013:5: warning: no previous prototype
> for ‘hv_write_config_block’ [-Wmissing-prototypes]
> int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
> ^
> drivers/pci/controller/pci-hyperv.c:1082:5: warning: no previous prototype
> for ‘hv_register_block_invalidate’ [-Wmissing-prototypes]
> int hv_register_block_invalidate(struct pci_dev *pdev, void *context,
> ^
> Signed-off-by: Krzysztof Wilczynski <[email protected]>
> ---
> Changes in v2:
> Update commit message to include compiler warning.
>
> drivers/pci/controller/pci-hyperv.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-
> hyperv.c
> index f1f300218fab..c9642e429c2d 100644
> --- a/drivers/pci/controller/pci-hyperv.c
> +++ b/drivers/pci/controller/pci-hyperv.c
> @@ -930,7 +930,7 @@ static void hv_pci_read_config_compl(void *context,
> struct pci_response *resp,
> *
> * Return: 0 on success, -errno on failure
> */
> -int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
> +static int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
> unsigned int block_id, unsigned int *bytes_returned)

The second line should be aligned next to the "(" on the first line.
Also the first line is now over 80 chars.

Thanks,
- Haiyang

2019-08-28 23:35:03

by Krzysztof Wilczynski

[permalink] [raw]
Subject: Re: [PATCH] PCI: hv: Make functions only used locally static in pci-hyperv.c

Hello Bjorn,
Thank you for feedback.

[...]
> Maybe just:
>
> PCI: hv: Make functions static
>
> since we already know it's in pci-hyperv.c, and it's obvious that you
> can only do this for functions that are only used locally.

Makes sense. I will update the subject line in v3.

[...]
> Rewrap commit log to fill 75 columns.

Sorry about this. I wasn't sure if one also should wrap compiler and/or
checkpatch.pl script warnings or errors. I will fix this.

> Does this fix all the similar warnings in drivers/pci/? If there are
> more, maybe we could fix them all in a single patch or at least a
> single series?

At the moment, while compiling the drivers/pci the compiler yields a
similar
warning for the following files:

arch/x86/pci/xen.c
arch/x86/pci/numachip.c
drivers/pci/controller/pci-hyperv.c
drivers/pci/vc.c

I will have a look at each closer.

Krzysztof


2019-08-29 00:09:44

by Krzysztof Wilczynski

[permalink] [raw]
Subject: RE: [PATCH v2] PCI: hv: Make functions only used locally static in pci-hyperv.c

Hello Haiyang,

Thank you for feedback.

[...]
> The second line should be aligned next to the "(" on the first line.
> Also the first line is now over 80 chars.

Sorry about this. I will fix it in v3. Thank you for pointing this
out.

To address both the alignment and line length of
hv_register_block_invalidate(),
I took a hint from the way how hv_compose_msi_req_v1() is current
formatted. I
hope that this would be acceptable.

Krzysztof


2019-08-29 09:18:27

by Krzysztof Wilczyński

[permalink] [raw]
Subject: [PATCH v3] PCI: hv: Make functions static

Functions hv_read_config_block(), hv_write_config_block()
and hv_register_block_invalidate() are not used anywhere
else and are local to drivers/pci/controller/pci-hyperv.c,
and do not need to be in global scope, so make these static.

Resolve following compiler warning that can be seen when
building with warnings enabled (W=1):

drivers/pci/controller/pci-hyperv.c:933:5: warning:
no previous prototype for ‘hv_read_config_block’
[-Wmissing-prototypes]

drivers/pci/controller/pci-hyperv.c:1013:5: warning:
no previous prototype for ‘hv_write_config_block’
[-Wmissing-prototypes]

drivers/pci/controller/pci-hyperv.c:1082:5: warning:
no previous prototype for ‘hv_register_block_invalidate’
[-Wmissing-prototypes]

Signed-off-by: Krzysztof Wilczynski <[email protected]>
---
Changes in v3:
Commit message has been wrapped to fit 75 columns.
Addressed formatting based on feedback from v2.

Changes in v2:
Update commit message to include compiler warning.

drivers/pci/controller/pci-hyperv.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
index f1f300218fab..ba988fe033b5 100644
--- a/drivers/pci/controller/pci-hyperv.c
+++ b/drivers/pci/controller/pci-hyperv.c
@@ -930,8 +930,9 @@ static void hv_pci_read_config_compl(void *context, struct pci_response *resp,
*
* Return: 0 on success, -errno on failure
*/
-int hv_read_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
- unsigned int block_id, unsigned int *bytes_returned)
+static int hv_read_config_block(struct pci_dev *pdev, void *buf,
+ unsigned int len, unsigned int block_id,
+ unsigned int *bytes_returned)
{
struct hv_pcibus_device *hbus =
container_of(pdev->bus->sysdata, struct hv_pcibus_device,
@@ -1010,8 +1011,8 @@ static void hv_pci_write_config_compl(void *context, struct pci_response *resp,
*
* Return: 0 on success, -errno on failure
*/
-int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
- unsigned int block_id)
+static int hv_write_config_block(struct pci_dev *pdev, void *buf,
+ unsigned int len, unsigned int block_id)
{
struct hv_pcibus_device *hbus =
container_of(pdev->bus->sysdata, struct hv_pcibus_device,
@@ -1079,9 +1080,9 @@ int hv_write_config_block(struct pci_dev *pdev, void *buf, unsigned int len,
*
* Return: 0 on success, -errno on failure
*/
-int hv_register_block_invalidate(struct pci_dev *pdev, void *context,
- void (*block_invalidate)(void *context,
- u64 block_mask))
+static int hv_register_block_invalidate(
+ struct pci_dev *pdev, void *context,
+ void (*block_invalidate)(void *context, u64 block_mask))
{
struct hv_pcibus_device *hbus =
container_of(pdev->bus->sysdata, struct hv_pcibus_device,
@@ -1097,7 +1098,6 @@ int hv_register_block_invalidate(struct pci_dev *pdev, void *context,

put_pcichild(hpdev);
return 0;
-
}

/* Interrupt management hooks */
--
2.22.1

2019-08-29 15:52:52

by Haiyang Zhang

[permalink] [raw]
Subject: RE: [PATCH v3] PCI: hv: Make functions static



> -----Original Message-----
> From: Krzysztof Wilczynski <[email protected]> On Behalf Of Krzysztof
> Wilczynski
> Sent: Thursday, August 29, 2019 2:17 AM
> To: Bjorn Helgaas <[email protected]>
> Cc: KY Srinivasan <[email protected]>; Haiyang Zhang
> <[email protected]>; Stephen Hemminger
> <[email protected]>; Sasha Levin <[email protected]>; Lorenzo
> Pieralisi <[email protected]>; [email protected]; linux-
> [email protected]; [email protected]
> Subject: [PATCH v3] PCI: hv: Make functions static
>
> Functions hv_read_config_block(), hv_write_config_block() and
> hv_register_block_invalidate() are not used anywhere else and are local to
> drivers/pci/controller/pci-hyperv.c,
> and do not need to be in global scope, so make these static.
>
> Resolve following compiler warning that can be seen when building with
> warnings enabled (W=1):
>
> drivers/pci/controller/pci-hyperv.c:933:5: warning:
> no previous prototype for ‘hv_read_config_block’
> [-Wmissing-prototypes]
>
> drivers/pci/controller/pci-hyperv.c:1013:5: warning:
> no previous prototype for ‘hv_write_config_block’
> [-Wmissing-prototypes]
>
> drivers/pci/controller/pci-hyperv.c:1082:5: warning:
> no previous prototype for ‘hv_register_block_invalidate’
> [-Wmissing-prototypes]
>
> Signed-off-by: Krzysztof Wilczynski <[email protected]>

Reviewed-by: Haiyang Zhang <[email protected]>

Thanks!

2019-09-04 14:28:59

by Lorenzo Pieralisi

[permalink] [raw]
Subject: Re: [PATCH v3] PCI: hv: Make functions static

On Thu, Aug 29, 2019 at 03:50:47PM +0000, Haiyang Zhang wrote:
>
>
> > -----Original Message-----
> > From: Krzysztof Wilczynski <[email protected]> On Behalf Of Krzysztof
> > Wilczynski
> > Sent: Thursday, August 29, 2019 2:17 AM
> > To: Bjorn Helgaas <[email protected]>
> > Cc: KY Srinivasan <[email protected]>; Haiyang Zhang
> > <[email protected]>; Stephen Hemminger
> > <[email protected]>; Sasha Levin <[email protected]>; Lorenzo
> > Pieralisi <[email protected]>; [email protected]; linux-
> > [email protected]; [email protected]
> > Subject: [PATCH v3] PCI: hv: Make functions static
> >
> > Functions hv_read_config_block(), hv_write_config_block() and
> > hv_register_block_invalidate() are not used anywhere else and are local to
> > drivers/pci/controller/pci-hyperv.c,
> > and do not need to be in global scope, so make these static.
> >
> > Resolve following compiler warning that can be seen when building with
> > warnings enabled (W=1):
> >
> > drivers/pci/controller/pci-hyperv.c:933:5: warning:
> > no previous prototype for ‘hv_read_config_block’
> > [-Wmissing-prototypes]
> >
> > drivers/pci/controller/pci-hyperv.c:1013:5: warning:
> > no previous prototype for ‘hv_write_config_block’
> > [-Wmissing-prototypes]
> >
> > drivers/pci/controller/pci-hyperv.c:1082:5: warning:
> > no previous prototype for ‘hv_register_block_invalidate’
> > [-Wmissing-prototypes]
> >
> > Signed-off-by: Krzysztof Wilczynski <[email protected]>
>
> Reviewed-by: Haiyang Zhang <[email protected]>

This patch should go via the net tree - the code it is fixing
is queued there, I will drop this patch from the PCI review
queue.

If it helps:

Acked-by: Lorenzo Pieralisi <[email protected]>

2019-09-04 14:37:45

by Krzysztof Wilczyński

[permalink] [raw]
Subject: Re: [PATCH v3] PCI: hv: Make functions static

Hello Lorenzo,

[...]
> This patch should go via the net tree - the code it is fixing
> is queued there, I will drop this patch from the PCI review
> queue.
[...]

Thank you! Appreciated.

Krzysztof