Charles Keepax is a Principal Software Engineer with 13 years of professional experience specializing in low-level and embedded systems, primarily using C and C++. Based in Edinburgh, he has deep expertise in Linux kernel audio subsystems with numerous upstream contributions, including work in the torvalds/linux tree to improve SoundWire/SDCA support. His background spans drivers, signal processing, and firmware for audio and vibration control—having led development of the HAVmeter product from firmware and DSP to electronics collaboration. At Cirrus Logic and prior roles at Wolfson and Reactec he has fixed device driver bugs, added codec features, and tackled tricky power and GPIO issues in BSP kernels. Comfortable with assembly and rudimentary electronics, he blends hands-on embedded engineering with practical product delivery and open-source stewardship.
13 years of coding experience
13 years of employment as a software developer
Bachelor of Science (BSc) Computer Science and Artificial Intelligence, Bachelor of Science (BSc) Computer Science and Artificial Intelligence at The University of Edinburgh
Tiny library to interface with ALSA in the Linux kernel
Role in this project:
Embedded Systems Engineer / IoT Developer
Contributions:5 commits, 1 PR, 2 comments in 4 years 2 months
Contributions summary:Charles primarily contributed to the `tinymix` utility within the `tinyalsa` repository. They focused on improving the handling of integer values in the `tinymix` tool, specifically addressing issues related to enumerated controls. Their work involved refining value detection and output formatting. Further, they reverted a change and fixed formatting issues.
Contributions summary:Charles primarily contributed to the Linux kernel, specifically focusing on the sound subsystem and related drivers. Their work involved fixing probe error paths and ensuring proper device removal synchronization for the cs42l43 MFD driver. They added and refined support for the SDCA (SoundWire Digital Control Adapter) specification, developing helpers to parse and manage SDCA controls and structures, and also added code to handle DisCo constant values and GE entity properties.
kernellinux-kernellinuxkernel-source
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
Charles Keepax - Principal Software Engineer at Cirrus Logic