A pointer to omap_i2c_probe is passed to the core viaplatform_driver_register and so the function must not disappear when the.init sections are discarded. Otherwise (if also having HOTPLUG=y)unbinding and binding a device to the driver via sysfs will result in anoops as does a device being registered late.

An alternative to this patch is using platform_driver_probe instead ofplatform_driver_register plus removing the pointer to the probe functionfrom the struct platform_driver.