On 3.14, the rtc driver was not part of kernel as it shared pin use with GPIO driver, which makes them exclusive. Since here it's already in the kernel, that reason is no longer applicable.

So if above (about ignoring) is true, could be included?

The device tree can enable the RTC driver by default and the driver won't be active when RTC component is not connected. Beside kernel boot would be slow since RTC device driver will encounter the timeout on an I2C bus due to missing RTC component.

No, the driver would send out I2C data probing for the device. This could potentially conflict with another I2C device or cause boot delays.

sebas wrote:Since here it's already in the kernel, that reason is no longer applicable.

The RTC driver should be included in the kernel whether its used or not. The reason is that its available before any filesystems are mounted. If it is a module, the correct time will not be known until after a filesystem is mounted and the driver can be loaded. This behavior can affect certain use cases.

Traditionally, non-standard hardware is not included in device tree or the kernel.

Basically, the patch is the same way that scpcom made for 3.16 earlier, I put the code to different place and it works for me on Ubuntu 18.04. After this patch, I can run OpenGL apps without the error.