On Sat, 9 May 2009, Mauro Carvalho Chehab wrote: > WARNING: /home/v4l/master/v4l/soc_camera.o(.data+0x0): Section mismatch in reference from the variable soc_camera_pdrv to the function .devinit.text:soc_camera_pdrv_probe() > The variable soc_camera_pdrv references > the function __devinit soc_camera_pdrv_probe() > If the reference is valid then annotate the > variable with __init* (see linux/init.h) or name the variable: > *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, > > WARNING: /home/v4l/master/v4l/soc_camera.o(.data+0x8): Section mismatch in reference from the variable soc_camera_pdrv to the function .devexit.text:soc_camera_pdrv_remove() > The variable soc_camera_pdrv references > the function __devexit soc_camera_pdrv_remove() > If the reference is valid then annotate the > variable with __exit* (see linux/init.h) or name the variable: > *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, FWIW, I find this test dubious. Matching on symbol names doesn't seem like a good idea to me. Can we introduce a new marker instead something like static struct whatever_driver __driver driver = { .probe = my_probe, .remove = __exit_p(my_remove), }; to put them in a new special section? Or is there a better solution? Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html