Re: Regression: commit "ide: constify struct ide_port_info" causes breakage

From: Bartlomiej Zolnierkiewicz
Date: Fri Oct 26 2007 - 14:13:22 EST


On Friday 26 October 2007, Russell King wrote:
> commit 8562043606430185cad26d085d46adcc7ad67fd1 is broken, causing:
>
> CC drivers/ide/pci/cmd64x.o
> CC drivers/ide/pci/hpt366.o
> drivers/ide/pci/hpt366.c:1428: error: hpt366_chipsets causes a section type conflict
>
> and therefore should be reverted.

Fixed 3 days ago, patch was posted to LKML.

http://lkml.org/lkml/2007/10/23/411

[ Will be pushed to Linus together with few other fixes soon. ]

> The problem arises because hpt366 has other data marked with __devinitdata,
> so the compiler tries to define the initdata section with read-write
> attributes at one point, and read-only attributes when encountering the
> const-but-devinitdata declaration:
>
> static struct hpt_info hpt36x __devinitdata = {
> static struct hpt_info hpt370 __devinitdata = {
> static struct hpt_info hpt370a __devinitdata = {
> ...
> static const struct ide_port_info hpt366_chipsets[] __devinitdata = {
>
> If we want ide_port_info to be read-only initdata, then we need
> __devroinitdata and __roinitdata tags.

http://lkml.org/lkml/2007/10/23/412

Thanks,
Bart
-
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/