2.6.3 fails to compile (new radeonfb+i2c)

From: Jean Delvare
Date: Wed Feb 18 2004 - 15:56:39 EST


[Please CC: me on replies.]

Zippel, Linus,

Your recent changes to the way the dependencies between new radeonfb and
i2c-algo-bit (changesets 1.1557.2.89 and 1.1557.2.90) are handled don't
seem to work as intended. I was able to obtain a configuration file such
that the 2.6.3 kernel wouldn't compile. Interesting parts:

#
# Graphics support
#
CONFIG_FB=y
CONFIG_VIDEO_SELECT=y
# CONFIG_FB_RADEON_OLD is not set
CONFIG_FB_RADEON=y
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_DEBUG=y

#
# I2C support
#
CONFIG_I2C=m
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y

As you can see, we have i2c-algo-bit into the kernel, but i2c-core as a
module. This cannot possibly work.

How to reproduce:
First select I2C=m and I2C_ALGOBIT=m. Then select FB_RADEON=y and
CONFIG_FB_RADEON_I2C=y. Save and try to compile.

Result:
drivers/built-in.o: In function `radeon_setup_i2c_bus':
drivers/built-in.o(.text+0x68e40): undefined reference to `i2c_bit_add_bus'
drivers/built-in.o: In function `radeon_delete_i2c_busses':
drivers/built-in.o(.text+0x68f26): undefined reference to `i2c_bit_del_bus'
drivers/built-in.o(.text+0x68f48): undefined reference to `i2c_bit_del_bus'
drivers/built-in.o(.text+0x68f6a): undefined reference to `i2c_bit_del_bus'
drivers/built-in.o(.text+0x68f8c): undefined reference to `i2c_bit_del_bus'
drivers/built-in.o: In function `radeon_do_probe_i2c_edid':
drivers/built-in.o(.text+0x69070): undefined reference to `i2c_transfer'
make: *** [.tmp_vmlinux1] Error 1

This isn't the error I would have expected (radeonfb complains it
doesn't have i2c-algo-bit, while I would have expected that i2c-algo-bit
would complain that it didn't have i2c-core), still this has to be
caused by the impossible I2C=m, I2C_ALGOBIT=y combo. If I set I2C=y and
retry, compilation succeeds.

May I ask why the dependencies handling was changed? It was working fine
for me in 2.6.3{-rc3,-rc4}.

Thanks.

--
Jean Delvare
http://www.ensicaen.ismra.fr/~delvare/
-
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/