Category Archives: tech

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

Tracing ASoC with trace events

Kernel 2.6.38 will add support for tracing ASoC using trace points. Previously all logging for ASoC had been done using printk(), meaning that changing the active logging required a kernel rebuild and that when trace was enabled the volume of trace could easily become very disruptive to other logging within the system. Trace points solve these [...]

ASoC changes in 2.6.37

2.6.37, which was released today, has been a very big release for ASoC – about 40,000 lines of changes covering every single file within the subsystem plus a bunch of new drivers. The highlights are: Overhaul of the core APIs for registration of all kinds of devices from my co-maintainer Liam Girdwood, reducing the level of [...]

Building firmware images for Nexus S

Since I couldn’t seem to readily find any useful instructions for building firmware images for the Nexus S I thought I’d publish some. In a clean directory this sequence of commands should result in a working set of application layer images. They assume you’ve already got all the Android build dependencies installed: repo init -u [...]

ASoC changes in 2.6.36

Linux 2.6.36 was released today. This has been a very quiet release for the ASoC core code but one of the busiest releases for a while for new CPU support, with four new architectures added: CODEC support for  JZ4740, WM8741, and WM8987 CPU drivers for EP93xx, JZ4740, Marvell Kirkwood/Orion I2S, NUC900, and SH S/PDIF Machine [...]

eBooks

Recently I’ve been using ebook readers rather a lot – mostly the Kindle DX, though I have given iBooks a spin as well. Obviously, as with MP3 players, the main win they offer is the ability to easily carry about an entire library without the inconvenience of the physical media. I’ve been reading an awful [...]

Editor (and other) customisations

A discussion the other night suggested that I’m quite unusual among geeks in doing vanishingly little customisation of my system – most of my systems have something very close to their default configuration, individual programs are usually at most a very few tweaks away from their upstream settings. For Emacs all I tend to do [...]

ASoC updates in 2.6.35

Linux 2.6.35 has been a fairly interesting release from an ASoC point of view, with several notable framework enhancements: Support for keeping audio paths through the CODEC up during system suspend, primarily intended for use with devices where the Linux system is one of several independent systems running on the device and the other systems [...]

LPC 2010 – submit your papers now!

As Lennart just posted the Call for Papers for the 2010 Linux Plumbers Conference (LPC)closes this Monday (the 19th of July). The goal of LPC is to get people working on the various projects that make up the key Linux infrastructure where the kernel and application layers meet together so that everyone understands everyone else’s [...]