Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> writes: > On Mon, Oct 7, 2019 at 3:17 PM Anand Moon <linux.amoon@xxxxxxxxx> wrote: > [...] >> diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig >> index c9a867ac32d4..72f6a7dca0d6 100644 >> --- a/arch/arm64/configs/defconfig >> +++ b/arch/arm64/configs/defconfig >> @@ -774,7 +774,7 @@ CONFIG_MPL3115=m >> CONFIG_PWM=y >> CONFIG_PWM_BCM2835=m >> CONFIG_PWM_CROS_EC=m >> -CONFIG_PWM_MESON=m >> +CONFIG_PWM_MESON=y > > some time ago I submitted a similar patch for the 32-bit SoCs > it turned that that pwm-meson can be built as module because the > kernel will run without CPU DVFS as long as the clock and regulator > drivers are returning -EPROBE_DEFER (-517) On 64-bit SoCs, the kernel boots with PWM as a module also, but DVFS only works sometimes, and making it built-in fixes the problem. Actually, it doesn't fix, it just hides the problem, which is likely a race or timeout happening during deferred probing. > did you check whether there's some other problem like some unused > clock which is being disabled at that moment? > I've been hunting weird problems in the past where it turned out that > changing kernel config bits changed the boot timing - that masked the > original problem Right, I would definitely prefer to not make this built-in without a lot more information to *why* this is needed. In figuring that out, we'll probably find the race/timeout that's the root cause. Kevin