I saw that you did a lot of work adding depreciated pwm-gpio codes.
I would like to know why you didn’t use gpio_fan module?
Also as you have added fan node then why not add thermal trip in dts itself so no need for a python based daemon.
I will give some time to this approach and see if I can get fan to work on kernel level instead of user level.
Thanks for the patches I was looking for the gpio pin used for fan on off.
Some Update :