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

Christophe Leroy christophe.leroy at csgroup.eu
Tue Nov 29 17:33:04 AEDT 2022



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 at canb.auug.org.au>
> Cc: Michael Ellerman <mpe at ellerman.id.au>
> Cc: Nicholas Piggin <npiggin at gmail.com>
> Cc: Christophe Leroy <christophe.leroy at csgroup.eu>
> Cc: Frederic Barrat <fbarrat at linux.ibm.com>
> Cc: Andrew Donnellan <ajd at linux.ibm.com>
> Cc: Arnd Bergmann <arnd at arndb.de>
> Cc: linuxppc-dev at lists.ozlabs.org
> Fixes: ff62b8e6588f ("driver core: make struct class.devnode() take a const *")
> Signed-off-by: Greg Kroah-Hartman <gregkh at 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));
>   }


More information about the Linuxppc-dev mailing list