[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ADE657CA350FB648AAC2C43247A983F0020698BAC8A9@AUSP01VMBX24.collaborationhost.net>
Date: Wed, 23 May 2012 11:06:39 -0500
From: H Hartley Sweeten <hartleys@...ionengravers.com>
To: Dan Carpenter <dan.carpenter@...cle.com>
CC: Linux Kernel <linux-kernel@...r.kernel.org>,
"devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
"fmhess@...rs.sourceforge.net" <fmhess@...rs.sourceforge.net>,
"abbotti@....co.uk" <abbotti@....co.uk>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>
Subject: RE: [PATCH] staging: comedi: remove this_board macro in the s526
driver
On Tuesday, May 22, 2012 10:49 PM, 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@...ionengravers.com>
>> Cc: Ian Abbott <abbotti@....co.uk>
>> Cc: Mori Hess <fmhess@...rs.sourceforge.net>
>> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
>>
>> ---
>> @@ -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.
Yes, removing the line was intended. Sorry I didn't mention it in the
commit message.
The dev->board_ptr will already be set by comedi_device_attach()
before the drivers attach() method is called.
I think the author of this driver misunderstood the skel driver and
thought this was needed in order to simulate a "probe". See this
comment in the skel.c driver:
/*
* If you can probe the device to determine what device in a series
* it is, this is the place to do it. Otherwise, dev->board_ptr
* should already be initialized.
*/
/* dev->board_ptr = skel_probe(dev, it); */
The only comedi drivers that modify the dev->board_ptr are the
PCI ones. Hopefully I can figure out a way to clean them up...
The comedi_board() inline does not change the dev->board_ptr,
it's simply a helper to fetch it from the comedi_device.
Regards,
Hartley
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists