All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] acpi: cppc_acpi: fix sparse warnings
@ 2021-01-07 11:17 Ionela Voinescu
  2021-01-07 11:17 ` [PATCH 1/3] acpi: cppc_acpi: remove __iomem annotation for cpc_reg's address Ionela Voinescu
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Ionela Voinescu @ 2021-01-07 11:17 UTC (permalink / raw)
  To: rjw, lenb, robert.moore
  Cc: viro, catalin.marinas, linux-acpi, linux-kernel, ionela.voinescu

Hi guys,

These patches just fix some trivial sparse warnings.

Hope they help,
Ionela.

Ionela Voinescu (3):
  acpi: cppc_acpi: remove __iomem annotation for cpc_reg's address
  acpi: cppc_acpi: add __iomem annotation to generic_comm_base pointer
  acpi: cppc_acpi: initialise vaddr pointers to NULL

 drivers/acpi/cppc_acpi.c | 8 ++++----
 include/acpi/cppc_acpi.h | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)


base-commit: e71ba9452f0b5b2e8dc8aa5445198cd9214a6a62
-- 
2.29.2.dirty


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/3] acpi: cppc_acpi: remove __iomem annotation for cpc_reg's address
  2021-01-07 11:17 [PATCH 0/3] acpi: cppc_acpi: fix sparse warnings Ionela Voinescu
@ 2021-01-07 11:17 ` Ionela Voinescu
  2021-01-07 11:17 ` [PATCH 2/3] acpi: cppc_acpi: add __iomem annotation to generic_comm_base pointer Ionela Voinescu
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Ionela Voinescu @ 2021-01-07 11:17 UTC (permalink / raw)
  To: rjw, lenb, robert.moore
  Cc: viro, catalin.marinas, linux-acpi, linux-kernel, ionela.voinescu,
	Erik Kaneda, Rafael J. Wysocki

The cpc_reg address does not represent either an I/O virtual address,
nor a field located in iomem. This address is used as an address offset
which eventually is given as physical address argument to ioremap or PCC
space offset to GET_PCC_VADDR. Therefore, having the __iomem annotation
does not make sense.

Fix the following sparse warnings by removing the __iomem annotation
for cpc_reg's address.

drivers/acpi/cppc_acpi.c:762:37: warning: dereference of noderef expression
drivers/acpi/cppc_acpi.c:765:48: warning: dereference of noderef expression
drivers/acpi/cppc_acpi.c:948:25: warning: dereference of noderef expression
drivers/acpi/cppc_acpi.c:954:67: warning: dereference of noderef expression
drivers/acpi/cppc_acpi.c:987:25: warning: dereference of noderef expression
drivers/acpi/cppc_acpi.c:993:68: warning: dereference of noderef expression
drivers/acpi/cppc_acpi.c:1120:13: warning: dereference of noderef expression
drivers/acpi/cppc_acpi.c:1134:13: warning: dereference of noderef expression
drivers/acpi/cppc_acpi.c:1137:13: warning: dereference of noderef expression
drivers/acpi/cppc_acpi.c:1182:14: warning: dereference of noderef expression
drivers/acpi/cppc_acpi.c:1212:13: warning: dereference of noderef expression

Suggested-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
Cc: Robert Moore <robert.moore@intel.com>
Cc: Erik Kaneda <erik.kaneda@intel.com>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
---
 include/acpi/cppc_acpi.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/acpi/cppc_acpi.h b/include/acpi/cppc_acpi.h
index 232838d28f50..c7fc4524e151 100644
--- a/include/acpi/cppc_acpi.h
+++ b/include/acpi/cppc_acpi.h
@@ -39,7 +39,7 @@ struct cpc_reg {
 	u8 bit_width;
 	u8 bit_offset;
 	u8 access_width;
-	u64 __iomem address;
+	u64 address;
 } __packed;
 
 /*
-- 
2.29.2.dirty


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] acpi: cppc_acpi: add __iomem annotation to generic_comm_base pointer
  2021-01-07 11:17 [PATCH 0/3] acpi: cppc_acpi: fix sparse warnings Ionela Voinescu
  2021-01-07 11:17 ` [PATCH 1/3] acpi: cppc_acpi: remove __iomem annotation for cpc_reg's address Ionela Voinescu
@ 2021-01-07 11:17 ` Ionela Voinescu
  2021-01-07 11:17 ` [PATCH 3/3] acpi: cppc_acpi: initialise vaddr pointers to NULL Ionela Voinescu
  2021-01-22 15:30 ` [PATCH 0/3] acpi: cppc_acpi: fix sparse warnings Rafael J. Wysocki
  3 siblings, 0 replies; 5+ messages in thread
From: Ionela Voinescu @ 2021-01-07 11:17 UTC (permalink / raw)
  To: rjw, lenb, robert.moore
  Cc: viro, catalin.marinas, linux-acpi, linux-kernel, ionela.voinescu

ppc_comm_addr is a virtual address to the PCC space and it's annotated
with __iomem. Therefore, generic_comm_base which gets assigned the value of
pcc_comm_address should be annotated as well.

This already happens in check_pcc_chan(), but not in send_pcc_cmd(), which
results in the following sparse warnings:

drivers/acpi/cppc_acpi.c:237:18: warning: cast removes address space '__iomem' of expression
drivers/acpi/cppc_acpi.c:299:9: warning: incorrect type in argument 2 (different address spaces)
drivers/acpi/cppc_acpi.c:299:9:    expected void volatile [noderef] __iomem *addr
drivers/acpi/cppc_acpi.c:299:9:    got unsigned short *
drivers/acpi/cppc_acpi.c:302:9: warning: incorrect type in argument 2 (different address spaces)
drivers/acpi/cppc_acpi.c:302:9:    expected void volatile [noderef] __iomem *addr
drivers/acpi/cppc_acpi.c:302:9:    got unsigned short *

Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Len Brown <lenb@kernel.org>
---
 drivers/acpi/cppc_acpi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index 75aaf94ae0a9..fd71020f5d5f 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -233,8 +233,8 @@ static int send_pcc_cmd(int pcc_ss_id, u16 cmd)
 {
 	int ret = -EIO, i;
 	struct cppc_pcc_data *pcc_ss_data = pcc_data[pcc_ss_id];
-	struct acpi_pcct_shared_memory *generic_comm_base =
-		(struct acpi_pcct_shared_memory *)pcc_ss_data->pcc_comm_addr;
+	struct acpi_pcct_shared_memory __iomem *generic_comm_base =
+		pcc_ss_data->pcc_comm_addr;
 	unsigned int time_delta;
 
 	/*
-- 
2.29.2.dirty


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] acpi: cppc_acpi: initialise vaddr pointers to NULL
  2021-01-07 11:17 [PATCH 0/3] acpi: cppc_acpi: fix sparse warnings Ionela Voinescu
  2021-01-07 11:17 ` [PATCH 1/3] acpi: cppc_acpi: remove __iomem annotation for cpc_reg's address Ionela Voinescu
  2021-01-07 11:17 ` [PATCH 2/3] acpi: cppc_acpi: add __iomem annotation to generic_comm_base pointer Ionela Voinescu
@ 2021-01-07 11:17 ` Ionela Voinescu
  2021-01-22 15:30 ` [PATCH 0/3] acpi: cppc_acpi: fix sparse warnings Rafael J. Wysocki
  3 siblings, 0 replies; 5+ messages in thread
From: Ionela Voinescu @ 2021-01-07 11:17 UTC (permalink / raw)
  To: rjw, lenb, robert.moore
  Cc: viro, catalin.marinas, linux-acpi, linux-kernel, ionela.voinescu

Properly initialise vaddr pointers in cpc_read() and cpc_write() to
NULL instead of 0.

This fixes the following sparse warnings:
drivers/acpi/cppc_acpi.c:937:31: warning: Using plain integer as NULL pointer
drivers/acpi/cppc_acpi.c:982:31: warning: Using plain integer as NULL pointer

Signed-off-by: Ionela Voinescu <ionela.voinescu@arm.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
Cc: Len Brown <lenb@kernel.org>
---
 drivers/acpi/cppc_acpi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/cppc_acpi.c b/drivers/acpi/cppc_acpi.c
index fd71020f5d5f..69057fcd2c04 100644
--- a/drivers/acpi/cppc_acpi.c
+++ b/drivers/acpi/cppc_acpi.c
@@ -934,7 +934,7 @@ int __weak cpc_write_ffh(int cpunum, struct cpc_reg *reg, u64 val)
 static int cpc_read(int cpu, struct cpc_register_resource *reg_res, u64 *val)
 {
 	int ret_val = 0;
-	void __iomem *vaddr = 0;
+	void __iomem *vaddr = NULL;
 	int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpu);
 	struct cpc_reg *reg = &reg_res->cpc_entry.reg;
 
@@ -979,7 +979,7 @@ static int cpc_read(int cpu, struct cpc_register_resource *reg_res, u64 *val)
 static int cpc_write(int cpu, struct cpc_register_resource *reg_res, u64 val)
 {
 	int ret_val = 0;
-	void __iomem *vaddr = 0;
+	void __iomem *vaddr = NULL;
 	int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpu);
 	struct cpc_reg *reg = &reg_res->cpc_entry.reg;
 
-- 
2.29.2.dirty


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 0/3] acpi: cppc_acpi: fix sparse warnings
  2021-01-07 11:17 [PATCH 0/3] acpi: cppc_acpi: fix sparse warnings Ionela Voinescu
                   ` (2 preceding siblings ...)
  2021-01-07 11:17 ` [PATCH 3/3] acpi: cppc_acpi: initialise vaddr pointers to NULL Ionela Voinescu
@ 2021-01-22 15:30 ` Rafael J. Wysocki
  3 siblings, 0 replies; 5+ messages in thread
From: Rafael J. Wysocki @ 2021-01-22 15:30 UTC (permalink / raw)
  To: Ionela Voinescu
  Cc: Rafael J. Wysocki, Len Brown, Robert Moore, Al Viro,
	Catalin Marinas, ACPI Devel Maling List,
	Linux Kernel Mailing List

On Thu, Jan 7, 2021 at 12:19 PM Ionela Voinescu <ionela.voinescu@arm.com> wrote:
>
> Hi guys,
>
> These patches just fix some trivial sparse warnings.
>
> Hope they help,
> Ionela.
>
> Ionela Voinescu (3):
>   acpi: cppc_acpi: remove __iomem annotation for cpc_reg's address
>   acpi: cppc_acpi: add __iomem annotation to generic_comm_base pointer
>   acpi: cppc_acpi: initialise vaddr pointers to NULL
>
>  drivers/acpi/cppc_acpi.c | 8 ++++----
>  include/acpi/cppc_acpi.h | 2 +-
>  2 files changed, 5 insertions(+), 5 deletions(-)
>
>
> base-commit: e71ba9452f0b5b2e8dc8aa5445198cd9214a6a62
> --

All patches in the series applied as 5.12 material with some minor
edits in the subjects, thanks!

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-01-22 15:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-07 11:17 [PATCH 0/3] acpi: cppc_acpi: fix sparse warnings Ionela Voinescu
2021-01-07 11:17 ` [PATCH 1/3] acpi: cppc_acpi: remove __iomem annotation for cpc_reg's address Ionela Voinescu
2021-01-07 11:17 ` [PATCH 2/3] acpi: cppc_acpi: add __iomem annotation to generic_comm_base pointer Ionela Voinescu
2021-01-07 11:17 ` [PATCH 3/3] acpi: cppc_acpi: initialise vaddr pointers to NULL Ionela Voinescu
2021-01-22 15:30 ` [PATCH 0/3] acpi: cppc_acpi: fix sparse warnings Rafael J. Wysocki

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.