On 11/16/2013 10:02 PM, Viresh Kumar wrote: > On 16 November 2013 19:14, Shawn Guo <shawn.guo@xxxxxxxxxx> wrote: >> No, it's not a kernel bug. >> >> OPP is not a definition that belongs to kernel. Instead, it's >> characteristics of hardware, and that's why we can naturally put the >> definition into device tree. Bear it in mind that device tree is a >> hardware description and should be OS agnostic. So it shouldn't be >> treated as part of Linux kernel in any case, even though the device >> tree source is currently maintained in kernel tree. >> >> Device tree is designed as a way for firmware/bootloader to describe >> hardware to kernel. That said, device tree is more part of bootloader >> than kernel. If bootloader runs at a frequency that does not match the >> OPP in device tree, the one should be fixed is either bootloader or >> device tree but never kernel. > > I agree for all that.. I do not agree about this stance - device tree describes hardware capabilities to kernel -> I agree with that statement. Kernel should not care if that is provided by bootloader/firmware/fused into flash/ROM etc. If we agree with that statement, the moment kernel sees device operating in a configuration that is not hardware capability, it is our job to switch to the right configuration if it is possible for us to do so (which in this case, we can). to give a comparison - if i2c bus was configured for 3.4MHz and device tree describes the bus to operate at 100KHz, do we ignore device tree recommended configuration? No. we would switch to 100KHz. as far as kernel is concerned, it can detect invalid configuration and switch back to a valid configuration based on hardware description provided by device tree. -- Regards, Nishanth Menon -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html