RE: [PATCH 01/90] staging: comedi: comedidev.h: introducecomedi_to_pci_dev() helper

From: H Hartley Sweeten
Date: Thu Jul 19 2012 - 12:20:55 EST


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@xxxxxxxxxxxxxxxxxxx>
>> Cc: Ian Abbott <abbotti@xxxxxxxxx>
>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>> ---
>> 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.

Thanks,
Hartley

¢éì®&Þ~º&¶¬–+-±éÝ¥Šw®žË±Êâmébžìdz¹Þ)í…æèw*jg¬±¨¶‰šŽŠÝj/êäz¹ÞŠà2ŠÞ¨è­Ú&¢)ß«a¶Úþø®G«éh®æj:+v‰¨Šwè†Ù>Wš±êÞiÛaxPjØm¶Ÿÿà -»+ƒùdš_