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

Linus Torvalds
2007-10-26T16:13:37Z

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