On Sat, Aug 09, 2014 at 08:16:37PM +0200, Konrad Zapalowicz wrote:
> This commit binds global variables of dgnc driver in a structure so
> that it is logically consistent. The structure is accessed via getter
> function and as a result the externing of globals is removed. The names
> of the variables are also changed to be more eye friendly.
> 
> Signed-off-by: Konrad Zapalowicz <bergo.tor...@gmail.com>
> ---
> 
> This patch applies on top of my two previous patch series. In case it
> is an issue I can resubmit the whole series for dgnc driver as one
> patch set - just let me know.
> 
>  drivers/staging/dgnc/dgnc_driver.c | 82 
> +++++++++++++++++++-------------------
>  drivers/staging/dgnc/dgnc_driver.h | 20 ++++++----
>  drivers/staging/dgnc/dgnc_mgmt.c   | 48 ++++++++++++----------
>  drivers/staging/dgnc/dgnc_sysfs.c  | 31 ++++++++++----
>  4 files changed, 102 insertions(+), 79 deletions(-)
> 
> diff --git a/drivers/staging/dgnc/dgnc_driver.c 
> b/drivers/staging/dgnc/dgnc_driver.c
> index 724e4ab..9a23e9a 100644
> --- a/drivers/staging/dgnc/dgnc_driver.c
> +++ b/drivers/staging/dgnc/dgnc_driver.c
> @@ -83,17 +83,11 @@ static const struct file_operations dgnc_BoardFops = {
>       .release        =       dgnc_mgmt_close
>  };
>  
> -
> -/*
> - * Globals
> - */
> -uint                 dgnc_NumBoards;
> -struct dgnc_board            *dgnc_Board[MAXBOARDS];
> -DEFINE_SPINLOCK(dgnc_global_lock);
> -int                  dgnc_driver_state = DRIVER_INITIALIZED;
> -ulong                        dgnc_poll_counter;
> -uint                 dgnc_Major;
> -int                  dgnc_poll_tick = 20;    /* Poll interval - 20 ms */
> +static struct dgnc_driver driver = {
> +     .lock = __SPIN_LOCK_UNLOCKED(driver.lock),
> +     .state = DRIVER_INITIALIZED,
> +     .poll_tick = 20,
> +};

While it is great to get rid of a bunch of globals, you now just
replaced it with a different one :(

This all should be dynamic, no need for a static array of devices at
all.

There shouldn't be a need for the driver_state at all, and the poll_tick
should be device specific, not driver-wide.  The major is fine, but it
can just be a single static variable, right?

So, I'd like to see the array of devices go away, can you do that
instead of just moving it elsewhere?

thanks,

greg k-h
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to