diff mbox series

driver core: fix up some missing class.devnode() conversions.

Message ID 20221128173539.3112234-1-gregkh@linuxfoundation.org (mailing list archive)
State Handled Elsewhere
Headers show
Series driver core: fix up some missing class.devnode() conversions. | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu fail kernel (ppc64_defconfig, korg-5.5.0) failed at step build.
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 8 jobs.
snowpatch_ozlabs/github-powerpc_sparse fail sparse (ppc64, ubuntu-22.04, ppc64) failed at step Build.
snowpatch_ozlabs/github-powerpc_clang fail 2 of 6 jobs failed.

Commit Message

gregkh@linuxfoundation.org Nov. 28, 2022, 5:35 p.m. UTC
In commit ff62b8e6588f ("driver core: make struct class.devnode() take a
const *") the ->devnode callback changed the pointer to be const, but a
few instances of PowerPC drivers were not caught for some reason.

Fix this up by changing the pointers to be const.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Frederic Barrat <fbarrat@linux.ibm.com>
Cc: Andrew Donnellan <ajd@linux.ibm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linuxppc-dev@lists.ozlabs.org
Fixes: ff62b8e6588f ("driver core: make struct class.devnode() take a const *")
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/powerpc/platforms/book3s/vas-api.c | 2 +-
 drivers/misc/cxl/file.c                 | 2 +-
 drivers/misc/ocxl/file.c                | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

Comments

Christophe Leroy Nov. 29, 2022, 6:33 a.m. UTC | #1
Le 28/11/2022 à 18:35, Greg Kroah-Hartman a écrit :
> In commit ff62b8e6588f ("driver core: make struct class.devnode() take a
> const *") the ->devnode callback changed the pointer to be const, but a
> few instances of PowerPC drivers were not caught for some reason.
> 
> Fix this up by changing the pointers to be const.

Build fails:

/linux/arch/powerpc/platforms/book3s/vas-api.c: In function 
'vas_register_coproc_api':
/linux/arch/powerpc/platforms/book3s/vas-api.c:590:31: error: assignment 
from incompatible pointer type [-Werror=incompatible-pointer-types]
   coproc_device.class->devnode = coproc_devnode;
                                ^
cc1: all warnings being treated as errors

> 
> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: Nicholas Piggin <npiggin@gmail.com>
> Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
> Cc: Frederic Barrat <fbarrat@linux.ibm.com>
> Cc: Andrew Donnellan <ajd@linux.ibm.com>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: linuxppc-dev@lists.ozlabs.org
> Fixes: ff62b8e6588f ("driver core: make struct class.devnode() take a const *")
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>   arch/powerpc/platforms/book3s/vas-api.c | 2 +-
>   drivers/misc/cxl/file.c                 | 2 +-
>   drivers/misc/ocxl/file.c                | 2 +-
>   3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/book3s/vas-api.c b/arch/powerpc/platforms/book3s/vas-api.c
> index 40f5ae5e1238..eb5bed333750 100644
> --- a/arch/powerpc/platforms/book3s/vas-api.c
> +++ b/arch/powerpc/platforms/book3s/vas-api.c
> @@ -53,7 +53,7 @@ struct coproc_instance {
>   	struct vas_window *txwin;
>   };
>   
> -static char *coproc_devnode(struct device *dev, umode_t *mode)
> +static char *coproc_devnode(const struct device *dev, umode_t *mode)
>   {
>   	return kasprintf(GFP_KERNEL, "crypto/%s", dev_name(dev));
>   }
> diff --git a/drivers/misc/cxl/file.c b/drivers/misc/cxl/file.c
> index 3dbdce96fae0..5878329b011a 100644
> --- a/drivers/misc/cxl/file.c
> +++ b/drivers/misc/cxl/file.c
> @@ -546,7 +546,7 @@ static const struct file_operations afu_master_fops = {
>   };
>   
>   
> -static char *cxl_devnode(struct device *dev, umode_t *mode)
> +static char *cxl_devnode(const struct device *dev, umode_t *mode)
>   {
>   	if (cpu_has_feature(CPU_FTR_HVMODE) &&
>   	    CXL_DEVT_IS_CARD(dev->devt)) {
> diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c
> index d46dba2df5a1..d96be36405a0 100644
> --- a/drivers/misc/ocxl/file.c
> +++ b/drivers/misc/ocxl/file.c
> @@ -581,7 +581,7 @@ void ocxl_file_unregister_afu(struct ocxl_afu *afu)
>   	device_unregister(&info->dev);
>   }
>   
> -static char *ocxl_devnode(struct device *dev, umode_t *mode)
> +static char *ocxl_devnode(const struct device *dev, umode_t *mode)
>   {
>   	return kasprintf(GFP_KERNEL, "ocxl/%s", dev_name(dev));
>   }
gregkh@linuxfoundation.org Nov. 29, 2022, 8:27 a.m. UTC | #2
On Tue, Nov 29, 2022 at 06:33:04AM +0000, Christophe Leroy wrote:
> 
> 
> Le 28/11/2022 à 18:35, Greg Kroah-Hartman a écrit :
> > In commit ff62b8e6588f ("driver core: make struct class.devnode() take a
> > const *") the ->devnode callback changed the pointer to be const, but a
> > few instances of PowerPC drivers were not caught for some reason.
> > 
> > Fix this up by changing the pointers to be const.
> 
> Build fails:
> 
> /linux/arch/powerpc/platforms/book3s/vas-api.c: In function 
> 'vas_register_coproc_api':
> /linux/arch/powerpc/platforms/book3s/vas-api.c:590:31: error: assignment 
> from incompatible pointer type [-Werror=incompatible-pointer-types]
>    coproc_device.class->devnode = coproc_devnode;
>                                 ^
> cc1: all warnings being treated as errors

What did you build this against?  It has to be be against my
driver-core-next tree as that is where the Fixes: commit is.

thanks,

greg k-h
Christophe Leroy Nov. 29, 2022, 9:02 a.m. UTC | #3
Le 29/11/2022 à 09:27, Greg Kroah-Hartman a écrit :
> On Tue, Nov 29, 2022 at 06:33:04AM +0000, Christophe Leroy wrote:
>>
>>
>> Le 28/11/2022 à 18:35, Greg Kroah-Hartman a écrit :
>>> In commit ff62b8e6588f ("driver core: make struct class.devnode() take a
>>> const *") the ->devnode callback changed the pointer to be const, but a
>>> few instances of PowerPC drivers were not caught for some reason.
>>>
>>> Fix this up by changing the pointers to be const.
>>
>> Build fails:
>>
>> /linux/arch/powerpc/platforms/book3s/vas-api.c: In function
>> 'vas_register_coproc_api':
>> /linux/arch/powerpc/platforms/book3s/vas-api.c:590:31: error: assignment
>> from incompatible pointer type [-Werror=incompatible-pointer-types]
>>     coproc_device.class->devnode = coproc_devnode;
>>                                  ^
>> cc1: all warnings being treated as errors
> 
> What did you build this against?  It has to be be against my
> driver-core-next tree as that is where the Fixes: commit is.
> 

Failure was reported by powerpc patchwork : 
https://patchwork.ozlabs.org/project/linuxppc-dev/patch/20221128173539.3112234-1-gregkh@linuxfoundation.org/
diff mbox series

Patch

diff --git a/arch/powerpc/platforms/book3s/vas-api.c b/arch/powerpc/platforms/book3s/vas-api.c
index 40f5ae5e1238..eb5bed333750 100644
--- a/arch/powerpc/platforms/book3s/vas-api.c
+++ b/arch/powerpc/platforms/book3s/vas-api.c
@@ -53,7 +53,7 @@  struct coproc_instance {
 	struct vas_window *txwin;
 };
 
-static char *coproc_devnode(struct device *dev, umode_t *mode)
+static char *coproc_devnode(const struct device *dev, umode_t *mode)
 {
 	return kasprintf(GFP_KERNEL, "crypto/%s", dev_name(dev));
 }
diff --git a/drivers/misc/cxl/file.c b/drivers/misc/cxl/file.c
index 3dbdce96fae0..5878329b011a 100644
--- a/drivers/misc/cxl/file.c
+++ b/drivers/misc/cxl/file.c
@@ -546,7 +546,7 @@  static const struct file_operations afu_master_fops = {
 };
 
 
-static char *cxl_devnode(struct device *dev, umode_t *mode)
+static char *cxl_devnode(const struct device *dev, umode_t *mode)
 {
 	if (cpu_has_feature(CPU_FTR_HVMODE) &&
 	    CXL_DEVT_IS_CARD(dev->devt)) {
diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c
index d46dba2df5a1..d96be36405a0 100644
--- a/drivers/misc/ocxl/file.c
+++ b/drivers/misc/ocxl/file.c
@@ -581,7 +581,7 @@  void ocxl_file_unregister_afu(struct ocxl_afu *afu)
 	device_unregister(&info->dev);
 }
 
-static char *ocxl_devnode(struct device *dev, umode_t *mode)
+static char *ocxl_devnode(const struct device *dev, umode_t *mode)
 {
 	return kasprintf(GFP_KERNEL, "ocxl/%s", dev_name(dev));
 }