Re: [PATCHv3] crypto: inside-secure - Fix unused variable warning when CONFIG_PCI=n

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Sep 06, 2019 at 05:25:14PM +0200, Pascal van Leeuwen wrote:
> This patch fixes an unused variable warning from the compiler when the
> driver is being compiled without PCI support in the kernel.
> 
> changes since v1:
> - capture the platform_register_driver error code as well
> - actually return the (last) error code
> - swapped registration to do PCI first as that's just for development
>   boards anyway, so in case both are done we want the platform error
>   or no error at all if that passes
> - also fixes some indentation issue in the affected code
> 
> changes since v2:
> - handle the situation where both CONFIG_PCI and CONFIG_OF are undefined
>   by always returning a -EINVAL error
> - only unregister PCI or OF if it was previously successfully registered
> 
> Signed-off-by: Pascal van Leeuwen <pvanleeuwen@xxxxxxxxxxxxxx>
> ---
>  drivers/crypto/inside-secure/safexcel.c | 35 ++++++++++++++++++++++-----------
>  1 file changed, 24 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/crypto/inside-secure/safexcel.c b/drivers/crypto/inside-secure/safexcel.c
> index e12a2a3..925c90f 100644
> --- a/drivers/crypto/inside-secure/safexcel.c
> +++ b/drivers/crypto/inside-secure/safexcel.c
> @@ -1501,32 +1501,45 @@ void safexcel_pci_remove(struct pci_dev *pdev)
>  };
>  #endif
>  
> -static int __init safexcel_init(void)
> -{
> -	int rc;
> -
> +/* Unfortunately, we have to resort to global variables here */
> +#if IS_ENABLED(CONFIG_PCI)
> +int pcireg_rc = -EINVAL; /* Default safe value */
> +#endif
>  #if IS_ENABLED(CONFIG_OF)
> -		/* Register platform driver */
> -		platform_driver_register(&crypto_safexcel);
> +int ofreg_rc = -EINVAL; /* Default safe value */
>  #endif
>  
> +static int __init safexcel_init(void)
> +{
>  #if IS_ENABLED(CONFIG_PCI)
> -		/* Register PCI driver */
> -		rc = pci_register_driver(&safexcel_pci_driver);
> +	/* Register PCI driver */
> +	pcireg_rc = pci_register_driver(&safexcel_pci_driver);
>  #endif
>  
> -	return 0;
> +#if IS_ENABLED(CONFIG_OF)
> +	/* Register platform driver */
> +	ofreg_rc = platform_driver_register(&crypto_safexcel);
> +	return ofreg_rc;

If OF registration fails then you will return an error even if
PCI registration succeeded without undoing the PCI registration.

Cheers,
-- 
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux