Re: [PATCH] staging: comedi: remove this_board macro in the s526driver

From: Ian Abbott
Date: Wed May 23 2012 - 05:18:12 EST


On 2012-05-23 06:48, Dan Carpenter wrote:
On Tue, May 22, 2012 at 06:20:10PM -0700, H Hartley Sweeten wrote:
The 'thisboard' macro depends on having a local variable with
a magic name. The CodingStyle document suggests not doing this
to avoid confusion. Remove the macro and use the comedi_board()
inline helper to get the dev->board_ptr information.

Signed-off-by: H Hartley Sweeten<hsweeten@xxxxxxxxxxxxxxxxxxx>
Cc: Ian Abbott<abbotti@xxxxxxxxx>
Cc: Mori Hess<fmhess@xxxxxxxxxxxxxxxxxxxxx>
Cc: Greg Kroah-Hartman<gregkh@xxxxxxxxxxxxxxxxxxx>

---
@@ -769,13 +765,7 @@ static int s526_attach(struct comedi_device *dev, struct comedi_devconfig *it)
}
***/

-/*
- * Initialize dev->board_name. Note that we can use the "thisboard"
- * macro now, since we just initialized it in the last line.
- */
- dev->board_ptr =&s526_boards[0];

Was this intended? Most of the boards have auto probing so the
->board_ptr gets set automatically. We already called
comedi_board() so I wonder if the autoprobed board is the same as
the&s526_boards[0];? NULL pointer perhaps? I don't know.

If .num_names in struct comedi_driver is non-zero, the core comedi module will set dev->board_ptr to something non-NULL and meaningful to the driver before it calls the driver's ->attach() method. (This is done by the comedi_recognize() function.) The driver can change dev->board_ptr to something else if it wants. In this case, dev->board_ptr will already be set to &s526_boards[0] so there is no point setting it again.

--
-=( Ian Abbott @ MEV Ltd. E-mail: <abbotti@xxxxxxxxx> )=-
-=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=-
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/