tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PWM and user space API



I’m going to be writing a driver for the NXP PCA9685, and want to glue it into the PWM kernel API jmcneill@ added… but I have a bunch of uses for this device that won’t really be covered by FDT, so I think there needs to be some sort of user space API as well.

I have to say that I’m growing frustrated with the proliferation of ioctl-based APIs and *ctl programs.  I’m tempted to start doing more of this stuff with sysctl(), and then perhaps hiding the details from applications inside a shared library API that exposes only opaque types and accessors / mutators.  (Gawd, historically, BSD has done such a terrible job at API design…)

My concern about sysctl(), though, is that because of the way it’s structured, you’ve got a latency problem, which is not a concern in my application, but might be an issue if you have an application that needs to control a servo using PWM.

Curious to hear your thoughts on this.

-- thorpej



Home | Main Index | Thread Index | Old Index