RE: [PATCH 1/2 v2] staging: comedi: new adl_pci7x3x driver

From: H Hartley Sweeten
Date: Tue Aug 14 2012 - 14:23:37 EST


On Tuesday, August 14, 2012 1:59 AM, Ian Abbott wrote:
> On 2012-08-14 02:36, H Hartley Sweeten wrote:
>> On Monday, August 13, 2012 6:30 PM, Greg KH wrote:
>>> On Fri, Aug 03, 2012 at 10:28:18AM -0700, H Hartley Sweeten wrote:
>>>> Currently the ADLink PCI-7230 and PCI-7432 Isolated Digital
>>>> I/O Boards are supported using two drivers (adl_pci7230 and
>>>> adl_pci7432). These drivers are very similar and only differ
>>>> in the total number of di/do channels provided.
>>>>
>>>> This driver combines the support for both boards into one
>>>> common driver. In addition, it adds PCI PnP support for the
>>>> other boards in the ADLink PCI-723x and PCI-743x series.
>>>>
>>>> This driver only supports the comedi PCI auto config attach
>>>> mechanism. The legacy attach using the comedi_config utility
>>>> is not supported or required by this driver.
>>>
>>> I now get the following build warnings on my box with this patch
>>> applied:
>>>
>>> drivers/staging/comedi/drivers/adl_pci7x3x.c: In function âadl_pci7x3x_do_insn_bitsâ:
>>> drivers/staging/comedi/drivers/adl_pci7x3x.c:124:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>>> drivers/staging/comedi/drivers/adl_pci7x3x.c: In function âadl_pci7x3x_di_insn_bitsâ:
>>> drivers/staging/comedi/drivers/adl_pci7x3x.c:150:21: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
>>
>> Hmm.. My build does not have the [-Wpointer-to-int-cast] for some reason
>> so I didn't see this. I was trying to save having to allocate any private data but
>> I guess it's cleaner if I do. BTW, there is another comedi driver that does this
>> but I can't recall which one of the top of my head...
>
> You could always cast to unsigned long as that is the same size as a
> pointer, at least in the Linux kernel.

Ah, so it's a 32/64-bit issue... My build setup is only 32-bit that's why I
didn't see it.

The acl7225b driver is the other one that passes the register offset
in the s->private pointer. That one does cast the pointer to an
unsigned long.

I assume this will fix the warning in the adl_pci7x3x driver. Patch
coming shortly.

Regards,
Hartley

N‹§²æìr¸›yúèšØb²X¬¶ÇvØ^–)Þ{.nÇ+‰·¥Š{±‘êçzX§¶›¡Ü}©ž²ÆzÚ&j:+v‰¨¾«‘êçzZ+€Ê+zf£¢·hšˆ§~†­†Ûiÿûàz¹®w¥¢¸?™¨è­Ú&¢)ßf”ù^jÇy§m…á@A«a¶Úÿ 0¶ìh®å’i