Re: Regression: commit "ide: constify struct ide_port_info" causesbreakage

From: Linus Torvalds
Date: Fri Oct 26 2007 - 12:13:39 EST




On Fri, 26 Oct 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.
>
> 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:

Sad. This is not too uncommon, but yeah, it's really sad that we cannot
use "const" (as a compiler type safety marker) together with section
definitions (to get it put in special init sections).

Bartlomiej - I don't think we need to revert the whole commit, but all
those "static const xyz __devinitdata = { .." things probably do need to
have the const removed, even if it would be otherwise correct ;(

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