Re: [PATCH 9/9] mISDN: fix sparse warnings

From: Hannes Eder
Date: Thu Dec 11 2008 - 08:41:51 EST


On Wed, Dec 10, 2008 at 6:08 PM, Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:
> Hannes Eder <hannes@xxxxxxxxxxxxxx> writes:
>> @@ -918,7 +919,7 @@ hfcmulti_resync(struct hfc_multi *locked, struct hfc_multi *newmaster, int rm)
>> /* Disable sync of all cards */
>> list_for_each_entry_safe(hc, next, &HFClist, list) {
>> if (test_bit(HFC_CHIP_PLXSD, &hc->chip)) {
>> - plx_acc_32 = (u_int *)(hc->plx_membase+PLX_GPIOC);
>> + plx_acc_32 = (u_int __iomem *)(hc->plx_membase+PLX_GPIOC);
>
> It would be probably better to declare plx_membase __iomem too instead
> of so much casting.

it is, but of type "u_char __iomem *" (after applying this patch):

+ u_char __iomem *pci_membase; /* PCI memory (MUST BE BYTE POINTER) */

so thats why we need the cast.

What if we declare plx_acc_32 of type "u_char __iomem *", or both as
"void __iomem *"?
I slightly favor the later, against the LOUD comment.

If plx_membase is declared without __iomem the cast "(u_int __iomem*)" produces
a warning "cast adds address space to expression"

-Hannes
--
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/