Re: uartlite driver

From: Michal Simek
Date: Wed Dec 12 2007 - 15:15:03 EST


>> Hi Grant,
>
> Hi Michal,
>
> Sorry I didn't reply right away, got tied up with other stuff.

No worries.

>> I looked at your patches around uartlite. I have tryied to compile this driver for Microblaze
>> platform. I use the latest kernel from kernel.org with old uartlite(in front of
>> your patches) as stable version and seems to works well.
>>
>> But I would like to use the latest uartlite driver with your patches.
>>
>> I have error section type conflict which relates to uartlite driver
>> and the second are warnings with Section mismatch.
>>
>> I look at warnings Section mismatch: reference to on ARM mailing list but
>> conclusion is weird.
>>
>> Can you help me with these problems especially with uartlite?
>>
>> Important part of log is below.
>
> I don't understand what I'm seeing here. It looks like you're running
> make multiple times and each time the error message changes. Is that
> correct?

yes. Because I tryied to erase labels __devinit or replaces by __init

> Off the top of my head, it looks like you're having problems with
> functions labeled as __init; at least in the uartlite driver.

Yes.
CONFIG_HOTPLUG is disabled.

> What patches in particular of mine are you having problems with?

Patches from 2007-10-03. The changes are in Linus git tree on kernel.org.
All patches with label [POWERPC] Uartlite:...
Driver in front of your changes works well.

Regards,
Michal Simek


>> CC drivers/serial/serial_core.o
>> CC drivers/serial/uartlite.o
>> drivers/serial/uartlite.c: In function `ulite_console_setup':
>> drivers/serial/uartlite.c:404: error: ulite_console_setup causes a section type conflict
>> make[2]: *** [drivers/serial/uartlite.o] Error 1
>> make[1]: *** [drivers/serial] Error 2
>> make: *** [drivers] Error 2
>> [microblaze@monstr linux-2.6-last]$ make
>> CHK include/linux/version.h
>> CHK include/linux/utsrelease.h
>> CALL scripts/checksyscalls.sh
>> CHK include/linux/compile.h
>> dnsdomainname: Host name lookup failure
>> CC drivers/serial/uartlite.o
>> drivers/serial/uartlite.c: In function `ulite_console_init':
>> drivers/serial/uartlite.c:451: error: ulite_console_init causes a section type conflict
>> make[2]: *** [drivers/serial/uartlite.o] Error 1
>> make[1]: *** [drivers/serial] Error 2
>> make: *** [drivers] Error 2
>> [microblaze@monstr linux-2.6-last]$ make
>> CHK include/linux/version.h
>> CHK include/linux/utsrelease.h
>> CALL scripts/checksyscalls.sh
>> CHK include/linux/compile.h
>> dnsdomainname: Host name lookup failure
>> CC drivers/serial/uartlite.o
>> drivers/serial/uartlite.c: In function `ulite_assign':
>> drivers/serial/uartlite.c:486: error: ulite_assign causes a section type conflict
>> make[2]: *** [drivers/serial/uartlite.o] Error 1
>> make[1]: *** [drivers/serial] Error 2
>> make: *** [drivers] Error 2
>> [microblaze@monstr linux-2.6-last]$ make
>> CHK include/linux/version.h
>> CHK include/linux/utsrelease.h
>> CALL scripts/checksyscalls.sh
>> CHK include/linux/compile.h
>> dnsdomainname: Host name lookup failure
>> CC drivers/serial/uartlite.o
>> drivers/serial/uartlite.c: In function `ulite_release':
>> drivers/serial/uartlite.c:542: error: ulite_release causes a section type conflict
>> make[2]: *** [drivers/serial/uartlite.o] Error 1
>> make[1]: *** [drivers/serial] Error 2
>> make: *** [drivers] Error 2
>> [microblaze@monstr linux-2.6-last]$ make
>> CHK include/linux/version.h
>> CHK include/linux/utsrelease.h
>> CALL scripts/checksyscalls.sh
>> CHK include/linux/compile.h
>> dnsdomainname: Host name lookup failure
>> CC drivers/serial/uartlite.o
>> drivers/serial/uartlite.c: In function `ulite_probe':
>> drivers/serial/uartlite.c:560: error: ulite_probe causes a section type conflict
>> make[2]: *** [drivers/serial/uartlite.o] Error 1
>> make[1]: *** [drivers/serial] Error 2
>> make: *** [drivers] Error 2
>> [microblaze@monstr linux-2.6-last]$ make
>> CHK include/linux/version.h
>> CHK include/linux/utsrelease.h
>> CALL scripts/checksyscalls.sh
>> CHK include/linux/compile.h
>> dnsdomainname: Host name lookup failure
>> CC drivers/serial/uartlite.o
>> drivers/serial/uartlite.c: In function `ulite_of_probe':
>> drivers/serial/uartlite.c:594: error: ulite_of_probe causes a section type conflict
>> make[2]: *** [drivers/serial/uartlite.o] Error 1
>> make[1]: *** [drivers/serial] Error 2
>> make: *** [drivers] Error 2
>> [microblaze@monstr linux-2.6-last]$ make
>> CHK include/linux/version.h
>> CHK include/linux/utsrelease.h
>> CALL scripts/checksyscalls.sh
>> CHK include/linux/compile.h
>> dnsdomainname: Host name lookup failure
>> CC drivers/serial/uartlite.o
>> drivers/serial/uartlite.c: In function `ulite_init':
>> drivers/serial/uartlite.c:659: error: ulite_init causes a section type conflict
>> make[2]: *** [drivers/serial/uartlite.o] Error 1
>> make[1]: *** [drivers/serial] Error 2
>> make: *** [drivers] Error 2
>> [microblaze@monstr linux-2.6-last]$ make
>> CHK include/linux/version.h
>> CHK include/linux/utsrelease.h
>> CALL scripts/checksyscalls.sh
>> CHK include/linux/compile.h
>> dnsdomainname: Host name lookup failure
>> CC drivers/serial/uartlite.o
>> LD drivers/serial/built-in.o
>> ...
>> LD vmlinux.o
>> MODPOST vmlinux.o
>> WARNING: vmlinux.o(.text+0x44): Section mismatch: reference to .init.text:start_kernel (between '_start' and 'run_init_process')
>> WARNING: vmlinux.o(.text+0xc9c): Section mismatch: reference to .init.text:early_init_devtree (between 'machine_early_init' and 'machine_restart')
>> WARNING: vmlinux.o(.text+0xca8): Section mismatch: reference to .init.data:default_command_line (between 'machine_early_init' and 'machine_restart')
>> WARNING: vmlinux.o(.text+0xd8798): Section mismatch: reference to .init.text:uart_parse_options (between 'ulite_console_setup' and 'ulite_console_init')
>> WARNING: vmlinux.o(.text+0xd87bc): Section mismatch: reference to .init.text:uart_set_options (between 'ulite_console_setup' and 'ulite_console_init')
>> GEN .version
>> CHK include/linux/compile.h
>> dnsdomainname: Host name lookup failure
>> UPD include/linux/compile.h
>> CC init/version.o
>> LD init/built-in.o
>> LD vmlinux
>> SYSMAP System.map
>> OBJCOPY arch/microblaze/boot/linux.bin
>> Kernel: arch/microblaze/boot/linux.bin is ready (#7)
>> Building modules, stage 2.
>> MODPOST 0 modules
--
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/