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 […]

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 […]

Changing core code

One of the biggest differences between working on most other OSs and working upstream on drivers for the Linux kernel is that elsewhere the core is usually a fixed thing that has been released and can’t really be changed, even if source is available (which may not even be the case). If whatever subsystem you’re […]

Updating the kernel on the Nexus S

Building the kernel for the Nexus S is straightforward – the kernel is public as one would expect so it’s simply a matter of building it using the standard Linux build system (the machine is called herring in the code). There is one gotcha, though – the driver for the BCM4329 WiFi controller is a […]