From: Dan Carpenter <dan.carpenter@oracle.com>
To: H Hartley Sweeten <hartleys@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>,
"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
Ian Abbott <ian.abbott@mev.co.uk>,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 01/90] staging: comedi: comedidev.h: introduce comedi_to_pci_dev() helper
Date: Thu, 19 Jul 2012 19:32:11 +0300 [thread overview]
Message-ID: <20120719163211.GD16291@mwanda> (raw)
In-Reply-To: <ADE657CA350FB648AAC2C43247A983F00206AA91644B@AUSP01VMBX24.collaborationhost.net>
On Thu, Jul 19, 2012 at 11:20:52AM -0500, H Hartley Sweeten wrote:
> On Thursday, July 19, 2012 2:23 AM, Ian Abbott wrote:
> > On 2012-07-19 02:24, H Hartley Sweeten wrote:
> >> Introduce a wrapper for to_pci_dev() to allow the comedi pci drivers
> >> to store the pci_dev pointer in the comedi_device hw_dev variable and
> >> retrieve it easily.
> >>
> >> Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
> >> Cc: Ian Abbott <abbotti@mev.co.uk>
> >> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> >> ---
> >> drivers/staging/comedi/comedidev.h | 5 +++++
> >> 1 file changed, 5 insertions(+)
> >>
> >> diff --git a/drivers/staging/comedi/comedidev.h b/drivers/staging/comedi/comedidev.h
> >> index de8c99c..620222d 100644
> >> --- a/drivers/staging/comedi/comedidev.h
> >> +++ b/drivers/staging/comedi/comedidev.h
> >> @@ -446,6 +446,11 @@ static inline void comedi_set_hw_dev(struct comedi_device *dev,
> >> }
> >> }
> >>
> >> +static inline struct pci_dev *comedi_to_pci_dev(struct comedi_device *dev)
> >> +{
> >> + return to_pci_dev(dev->hw_dev);
> >> +}
> >> +
> >
> > That needs to be something like:
> >
> > return dev->hw_dev ? to_pci_dev(dev->hw_dev) : NULL;
>
> Hmm.. I'm not really sure.
>
> I assumed that the container_of() macro would return NULL if the ptr passed to
> it was NULL. But, I'm not sure how this actually unwinds for that case.
>
> Greg, do you know if the NULL check is needed? It's is possible that the dev->hw_dev
> pointer could be NULL.
>
container_of() just does pointer math with the offset. Since
->hw_dev is not the first member of the pci_dev struct then
to_pci_dev() never returns NULL. If you give it a NULL pointer it
returns a bogus pointer back.
regards,
dan carpenter
next prev parent reply other threads:[~2012-07-19 16:32 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-19 1:24 [PATCH 01/90] staging: comedi: comedidev.h: introduce comedi_to_pci_dev() helper H Hartley Sweeten
2012-07-19 9:22 ` Ian Abbott
2012-07-19 16:20 ` H Hartley Sweeten
2012-07-19 16:32 ` Dan Carpenter [this message]
2012-07-19 17:27 ` H Hartley Sweeten
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120719163211.GD16291@mwanda \
--to=dan.carpenter@oracle.com \
--cc=abbotti@mev.co.uk \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=hartleys@visionengravers.com \
--cc=ian.abbott@mev.co.uk \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox