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

ASoC updates in 2.6.34

Linux 2.6.34 was released today. This contains a fairly substantial batch of ASoC updates, including: Support for turning CODEC biases off completely when idle, providing power savings for modern devices with ground referenced outputs where this can be done quickly at runtime without pops and clicks. Support for disabling physical writes to the device in […]

ASoC updates in 2.6.33

This has been another fairly quiet release for ASoC.  Aside from the addition of virtual mux support to DAPM and some further preparatory work for multi-CODEC cards the majority of changes have been driver updates, including: New CODEC drivers for ADS117x, AK4671, TLV320DAC33, TPA6130A2, WM8711 and WM8727. Support for the PCM port on Samsung SoCs. Substantial improvements to […]

Oh dear…

Subject: zlib_1.2.3.3.dfsg-16_amd64.changes REJECTED Reject Reasons: lib32z1: lintian output: ’embedded-zlib ./usr/lib32/libz.so.1.2.3.3′, +automatically rejected package. lib32z1: If you have a good reason, you may override this lintian tag. I guess I should’ve actually reported the lintian bug rather than just ignoring the bogus warning.

ASoC updates in 2.6.32

Linux 2.6.32 was released overnight. This has been a fairly busy release for ASoC, with changes including: Redone power sequencing code, giving shorter power sequences which should reduce the effect of any artifacts that exist. Reporting of power management decisions via debugfs, enabling much easier diagnosis of path setup problems. Beginning of work to factor […]

Setting up regulator consumers with dev_name

The Linux kernel regulator API requires that each system sets up the connections between the various voltage and current regulators in the system and the devices they supply, known as consumers within the regulator API. This is done using the struct device for the consumer device as the key for consumer access. This works well […]

ASoC updates in 2.6.31

Linux 2.6.31 was released today. This was a fairly busy release for the ASoC subsystem, with updates including: DAPM supply widget, for automatically managing things like charge pumps and gateable clocks which may be used by more than one widget. Core support for setting up constraints for symmetric sample rates (for systems with a shared […]