Re: [PATCH] Staging: dgnc: fixed code style issue

Joe Perches
2015-04-19T20:34:44Z

On Sun, 2015-04-19 at 21:18 +0200, Yorick Rommers wrote:
> A patch for a line being too long (>80) in dgnc_mgmt.c,
> fixed by making a temporary value for dgnc_Board[brd], and removing
> an unnecessary typecast.

Hello Yorick.

The patch subject isn't very descriptive.

A better subject might be something like:
"staging: dgnc: Use a temporary for repeated dereferences"

> diff --git a/drivers/staging/dgnc/dgnc_mgmt.c b/drivers/staging/dgnc/dgnc_mgmt.c
[]
> @@ -143,12 +143,14 @@ long dgnc_mgmt_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
> di.info_bdnum = brd;
>
> spin_lock_irqsave(&dgnc_Board[brd]->bd_lock, flags);
> + struct dgnc_board *bd = dgnc_Board[brd];

Linux style doesn't declare variables in the middle
of a function, Variables are only declared after
an open brace.

>
> di.info_bdtype = dgnc_Board[brd]->dpatype;
> di.info_bdstate = dgnc_Board[brd]->dpastatus;

Please change all the references of dgnc_Board[brd]-> to bd->
in this function instead of just the long line ones.

> di.info_ioport = 0;
> di.info_physaddr = (ulong) dgnc_Board[brd]->membase;
> - di.info_physsize = (ulong) dgnc_Board[brd]->membase - dgnc_Board[brd]->membase_end;
> + di.info_physsize = bd->membase - bd->membase_end;
> +
> if (dgnc_Board[brd]->state != BOARD_FAILED)
> di.info_nports = dgnc_Board[brd]->nasync;
> else

Something like:

drivers/staging/dgnc/dgnc_mgmt.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/dgnc/dgnc_mgmt.c b/drivers/staging/dgnc/dgnc_mgmt.c
index b13318a..215f37b 100644
--- a/drivers/staging/dgnc/dgnc_mgmt.c
+++ b/drivers/staging/dgnc/dgnc_mgmt.c
@@ -129,8 +129,8 @@ long dgnc_mgmt_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
case DIGI_GETBD:
{
int brd;
-
struct digi_info di;
+ struct dgnc_board *bd;

if (copy_from_user(&brd, uarg, sizeof(int)))
return -EFAULT;
@@ -142,19 +142,21 @@ long dgnc_mgmt_ioctl(struct file *file, unsigned int cmd, unsigned long arg)

di.info_bdnum = brd;

- spin_lock_irqsave(&dgnc_Board[brd]->bd_lock, flags);
+ bd = dgnc_Board[brd];
+
+ spin_lock_irqsave(&bd->bd_lock, flags);

- di.info_bdtype = dgnc_Board[brd]->dpatype;
- di.info_bdstate = dgnc_Board[brd]->dpastatus;
+ di.info_bdtype = bd->dpatype;
+ di.info_bdstate = bd->dpastatus;
di.info_ioport = 0;
- di.info_physaddr = (ulong) dgnc_Board[brd]->membase;
- di.info_physsize = (ulong) dgnc_Board[brd]->membase - dgnc_Board[brd]->membase_end;
- if (dgnc_Board[brd]->state != BOARD_FAILED)
- di.info_nports = dgnc_Board[brd]->nasync;
+ di.info_physaddr = bd->membase;
+ di.info_physsize = bd->membase - bd->membase_end;
+ if (bd->state != BOARD_FAILED)
+ di.info_nports = bd->nasync;
else
di.info_nports = 0;

- spin_unlock_irqrestore(&dgnc_Board[brd]->bd_lock, flags);
+ spin_unlock_irqrestore(&bd->bd_lock, flags);

if (copy_to_user(uarg, &di, sizeof(di)))
return -EFAULT;