@Materdaddy I agree that my code is not wiringPi, I presented it as an interim option. My CHIP_IO code is C underneath the Python, there is nothing stopping you from pulling the PWM code out of that and using it in your project.
Currently PWM and SPI require decive tree updates to work. I have no control right now of what NTC puts in their kernel, my theory for them shipping the kernel they did was to make delivery dates and update it in the future (I got mine in December). Right now, my kernel provides a PWM device that I can configure with my code. If you need SPI and PWM, there are threads that detail how to get them in the dts.
NTC is working hard on the kernel right now, I am monitoring their github and have learned I will have to change my code for PWM once the 4.4 kernel drops. I’m hoping that SPI will just be handled by Linux spidev.