Re: [PATCH] hpt366: fix section mismatch warnings

2008-02-22 Thread Bartlomiej Zolnierkiewicz
On Friday 22 February 2008, Sergei Shtylyov wrote:
> Sam Ravnborg wrote:
> 
> > hpt366: fix section mismatch warnings
> 
> > Fix following warnings:
> > WARNING: o-sparc64/vmlinux.o(.data+0x195a38): Section mismatch in reference 
> > from the variable hpt37x_info.0 to the variable .devinit.data:hpt370
> > WARNING: o-sparc64/vmlinux.o(.data+0x195a40): Section mismatch in reference 
> > from the variable hpt37x_info.0 to the variable .devinit.data:hpt370a
> > WARNING: o-sparc64/vmlinux.o(.data+0x195a48): Section mismatch in reference 
> > from the variable hpt37x_info.0 to the variable .devinit.data:hpt372
> > WARNING: o-sparc64/vmlinux.o(.data+0x195a50): Section mismatch in reference 
> > from the variable hpt37x_info.0 to the variable .devinit.data:hpt372n
> 
> > Replace a static array with a small switch resulting in
> > more readable code.
> > Be consistent in use of __devinitconst for const data
> > to avoid section type conflicts.
> > Mark the pci table __devinitconst.
> 
> > Signed-off-by: Sam Ravnborg <[EMAIL PROTECTED]>
> 
> Acked-by: Sergei Shtylyov <[EMAIL PROTECTED]>

applied
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] hpt366: fix section mismatch warnings

2008-02-22 Thread Sam Ravnborg
> @@ -1570,11 +1570,13 @@ static int __devinit hpt366_init_one(struct pci_dev 
> *dev, const struct pci_devic
>   if (rev < 3)
>   info = &hpt36x;
>   else {
> - static const struct hpt_info *hpt37x_info[] =
> - { &hpt370, &hpt370a, &hpt372, &hpt372n };
> -
> - info = hpt37x_info[min_t(u8, rev, 6) - 3];
> - idx++;
> + switch (min_t(u8, rev, 6) - 3) {
> + case 0: info = &hpt370;  break;
> + case 1: info = &hpt370a; break;
> + case 2: info = &hpt372;  break;
> + case 3: info = &hpt372n; break;
> + }
> + idx++;
>   }

I kept the calculation as it was before but the '- 3'
is not needed. So it could be fixed and the case N:
should then be updated.
[Thanks to Sergei to not this]

Another note: The warnings were seen with a
make CONFIG_DEBUG_SECTION_MISMATCH=y build so they most likely
does not show up duing a typical build due to the inlining performed
by gcc.

Sam
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] hpt366: fix section mismatch warnings

2008-02-22 Thread Sergei Shtylyov

Sam Ravnborg wrote:


hpt366: fix section mismatch warnings



Fix following warnings:
WARNING: o-sparc64/vmlinux.o(.data+0x195a38): Section mismatch in reference 
from the variable hpt37x_info.0 to the variable .devinit.data:hpt370
WARNING: o-sparc64/vmlinux.o(.data+0x195a40): Section mismatch in reference 
from the variable hpt37x_info.0 to the variable .devinit.data:hpt370a
WARNING: o-sparc64/vmlinux.o(.data+0x195a48): Section mismatch in reference 
from the variable hpt37x_info.0 to the variable .devinit.data:hpt372
WARNING: o-sparc64/vmlinux.o(.data+0x195a50): Section mismatch in reference 
from the variable hpt37x_info.0 to the variable .devinit.data:hpt372n



Replace a static array with a small switch resulting in
more readable code.
Be consistent in use of __devinitconst for const data
to avoid section type conflicts.
Mark the pci table __devinitconst.



Signed-off-by: Sam Ravnborg <[EMAIL PROTECTED]>


Acked-by: Sergei Shtylyov <[EMAIL PROTECTED]>

MBR, Sergei
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html