Re: [PATCH] PCI: cpcihp: Move declaration of cpci_debug to the header file

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

 



On Mon, May 10, 2021 at 02:45:29AM +0000, Krzysztof Wilczyński wrote:
> At the moment, the global variable cpci_debug is declared in the
> cpci_hotplug_core.c file.  Since this variable has users outside of this
> file and uses the extern keyword to change its visibility, move the
> variable declaration to the header file.
> 
> This resolves the following sparse warning:
> 
>   drivers/pci/hotplug/cpci_hotplug_core.c:47:5: warning: symbol 'cpci_debug' was not declared. Should it be static?
> 
> Signed-off-by: Krzysztof Wilczyński <kw@xxxxxxxxx>
> ---
>  drivers/pci/hotplug/cpci_hotplug.h      | 3 +++
>  drivers/pci/hotplug/cpci_hotplug_core.c | 1 -
>  drivers/pci/hotplug/cpci_hotplug_pci.c  | 2 --
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/pci/hotplug/cpci_hotplug.h b/drivers/pci/hotplug/cpci_hotplug.h
> index f33ff2bca414..3fdd1b9bd8c3 100644
> --- a/drivers/pci/hotplug/cpci_hotplug.h
> +++ b/drivers/pci/hotplug/cpci_hotplug.h
> @@ -75,6 +75,9 @@ int cpci_hp_unregister_bus(struct pci_bus *bus);
>  int cpci_hp_start(void);
>  int cpci_hp_stop(void);
>  
> +/* Global variables */
> +extern int cpci_debug;
> +
>  /*
>   * Internal function prototypes, these functions should not be used by
>   * board/chassis drivers.
> diff --git a/drivers/pci/hotplug/cpci_hotplug_core.c b/drivers/pci/hotplug/cpci_hotplug_core.c
> index d0559d2faf50..7a78e6340291 100644
> --- a/drivers/pci/hotplug/cpci_hotplug_core.c
> +++ b/drivers/pci/hotplug/cpci_hotplug_core.c
> @@ -44,7 +44,6 @@ static DECLARE_RWSEM(list_rwsem);
>  static LIST_HEAD(slot_list);
>  static int slots;
>  static atomic_t extracting;
> -int cpci_debug;

We can add a declaration, but we still need a *definition* somewhere,
right?

drivers/pci/hotplug/ has several drivers that are split over multiple
files.  IMHO there is zero benefit to splitting them into multiple
files and one of the downsides is things like this that shouldn't be
global, but are global because of the split.

Not sure it's worth the churn of squashing them together, at least for
ancient things like this.  pciehp is a perennial thorn in my side,
though.  Every time I look for something, I try two or three files
before finding the right one.

>  static struct cpci_hp_controller *controller;
>  static struct task_struct *cpci_thread;
>  static int thread_finished;
> diff --git a/drivers/pci/hotplug/cpci_hotplug_pci.c b/drivers/pci/hotplug/cpci_hotplug_pci.c
> index 2c16adb7f4ec..6c48066acb44 100644
> --- a/drivers/pci/hotplug/cpci_hotplug_pci.c
> +++ b/drivers/pci/hotplug/cpci_hotplug_pci.c
> @@ -19,8 +19,6 @@
>  
>  #define MY_NAME	"cpci_hotplug"
>  
> -extern int cpci_debug;
> -
>  #define dbg(format, arg...)					\
>  	do {							\
>  		if (cpci_debug)					\
> -- 
> 2.31.1
> 



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux