Category Archives: tech

regmap updates in 3.2

Version 3.1 of the Linux kernel was the first release to include regmap support and only included a bare minimum of features in order to ease review so version 3.2 has been a pretty big one for regmap development with some pretty major features being built on top of the core code. Support for register [...]

ASoC updates in 3.2

Linux 3.2 was released yesterday. It’s been a fairly busy release for ASoC in terms of the subsystem, including the first piece of work at moving the register I/O code over to regmap to eliminate the duplication there, but a pretty quiet one on the drivers front. Substantial optimization of the DAPM algorithm, substantially reducing the CPU [...]

What’s wrong with switch statements?

Recently I’ve been noticing a surprising pattern in code I’m reviewing for the kernel. A lot of people seem to have taken to writing code that I’d expect to look like this: switch (thing) { case VALUE: /* Stuff */ break; case BAR: /* Nonsense */ break; default: /* Whatever */ break; } with if [...]

ASoC updates in 3.1

Linus released version 3.1 of the kernel at Kernel Summit this morning. This has been another fairly quiet release for the framework with a few nice power optimizations, a range of driver enhancements and a fairly small set of new drivers. Lots of cleanups to the register cache code in preparation for moving the code to the [...]

regmap – a register map abstraction for the Linux kernel

A good proportion of I2C and SPI device drivers in the kernel contain some very similar code for accessing the register maps of hardware connected to those buses – most hardware designers have solved the problem of providing very similar ways. Linux 3.1 introduces a new kernel API called regmap which factors out this code [...]

Making patches easy to review

One of the big things that seems to cause a learning curve for many new contributors for Linux and other projects that make a big effort with code review is the process of putting patches together in a way that makes the code review process more smoothly. This is a fairly straightforward thing but it [...]

ASoC updates in 3.0

Linux 3.0 was released today – another fairly quiet release for the ASoC core, plus the usual collection of new drivers: Support DAPM controls that affect multiple paths – mainly used for single register bits that affect the routing for a stereo pair of audio streams. Simplifications in the cache infrastructure. New machine drivers for [...]

ASoC updates in 2.6.39

Linux 2.6.39 was released earlier today. This release includes a few updates, the main user visible one being that machine drivers can now be registered as regular devices rather than using the soc-audio device. Support for registering machine drivers as first class devices rather than using the soc-audio device. Support for the soc-audio device will [...]

ASoC conference 2011 – Edinburgh, 4-5th May

There will be an ASoC conference in Edinburgh 4th-5th May this year, held in the Scotch Malt Whisky Society in Edinburgh. Full details are in the announcement – if you’ve got an interest in embedded audio on Linux I recommend you attend, there’s a lot of development going on in this area right now and [...]

ASoC updates in 2.6.38

Linux 2.6.38 was just released, with another big update to ASoC including: Enhancements to multi-component from Jarkko Nikula allowing multiple devices of the same type to be included in one system (and handling other overlaps between devices) and support cross device DAPM. Support from Dimitris Papastamos for compressing the register cache in memory using either [...]