summaryrefslogtreecommitdiffstats
path: root/sound (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'asoc-fixes' into for-linusTakashi Iwai2008-10-021-2/+2
|\
| * ASoC: Set correct name for WM8753 rec mixer outputRob Sims2008-10-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rob Sims wrote: "I can't seem to turn on register 0x17, bit 3 in the sound chip, except by codec_reg_write; the mixer lacks direct or indirect control. It seems there are two names for the output of the rec mixer: Capture ST Mixer Playback Mixer Would the following do the trick?" I confirm that this solves the audio problems I was having. Signed-off-by: Jonas Bonn <jonas.bonn@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: snd-powermac: HP detection for 1st iMac G3 SLRisto Suominen2008-10-021-9/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | Correct headphone detection for 1st generation iMac G3 Slot-loading (Screamer). This patch fixes the regression in the recent snd-powermac which doesn't support some G3/G4 PowerMacs: http://lkml.org/lkml/2008/10/1/220 Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com> Tested-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: snd-powermac: mixers for PowerMac G4 AGPRisto Suominen2008-10-021-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | Add mixer controls for PowerMac G4 AGP (Screamer). This patch fixes the regression in the recent snd-powermac which doesn't support some G3/G4 PowerMacs: http://lkml.org/lkml/2008/10/1/220 Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com> Tested-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix model for Dell Inspiron 1525Takashi Iwai2008-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | Dell Inspiron 1525 seems to have a buggy BIOS setup and screws up the recent codec parser, as reported by Oleksandr Natalenko: http://lkml.org/lkml/2008/9/12/203 This patch adds the working model, dell-3stack, statically. Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
* | ALSA: ASoC: Fix cs4270 error pathJean Delvare2008-09-301-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error path in cs4270_probe/cs4270_remove is pretty broken: * If cs4270_probe fails, codec is leaked. * If snd_soc_register_card fails, cs4270_i2c_driver stays registered. * If I2C support is enabled but no I2C device is found, i2c_del_driver is never called (neither in cs4270_probe nor in cs4270_remove. Fix all 3 problems by implementing a clean error path in cs4270_probe and jumping to its labels as needed. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Timur Tabi <timur@freescale.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ASoC: Fix another cs4270 error pathJean Delvare2008-09-291-6/+1
| | | | | | | | | | | | | | | | | | Conversion to new-style i2c driver missed the error path of the probe function. Fix it. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Timur Tabi <timur@freescale.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: make the CS4270 driver a new-style I2C driverTimur Tabi2008-09-291-56/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the CS4270 ALSA device driver to use the new-style I2C interface. Starting with the 2.6.27 PowerPC kernel, I2C devices that have entries in the device trees can no longer be probed by old-style I2C drivers. The device tree for Freescale MPC8610 HPCD has included an entry for the CS4270 since 2.6.25, but that entry was previously ignored by the PowerPC I2C subsystem. Since that's no longer the case, the best solution is to update the CS4270 driver to a new-style interface, rather than try to revert the behavior of new PowerPC I2C subsystem. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: remove unneeded power_mutex lock in snd_pcm_dropTakashi Iwai2008-09-251-10/+3
| | | | | | | | | | | | | | The power_mutex lock in snd_pcm_drop may cause a possible deadlock chain, and above all, it's unneeded. Let's get rid of it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: fix locking in snd_pcm_open*() and snd_rawmidi_open*()Takashi Iwai2008-09-252-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PCM and rawmidi open callbacks have a lock against card->controls_list but it takes a wrong one, card->controls_rwsem, instead of a right one card->ctl_files_rwlock. This patch fixes them. This change also fixes automatically the potential deadlocks due to mm->mmap_sem in munmap and copy_from/to_user, reported by Sitsofe Wheeler: A: snd_ctl_elem_user_tlv(): card->controls_rwsem => mm->mmap_sem B: snd_pcm_open(): card->open_mutex => card->controls_rwsem C: munmap: mm->mmap_sem => snd_pcm_release(): card->open_mutex The patch breaks the chain. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: ASoC: Fix at32-pcm build breakage with PM enabledHaavard Skinnemoen2008-09-221-2/+3
| | | | | | | | | | | | | | | | s/PDC_PTCR/ATMEL_PDC_PTCR/ Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Fix CONFIG_AC97_BUS dependencyTakashi Iwai2008-09-061-1/+3
| | | | | | | | | | | | | | | | | | | | CONFIG_AC97_BUS is used from both sound and ucb1400 drivers. The recent change in Kconfig introduced the exclusive dependency on CONFIG_SOUND, and disabled the ucb1400 build without sound. This patch makes CONFIG_AC97_BUS independent. Signed-off-by: Takashi Iwai <tiwai@suse.de> Tested-by: Randy Dunlap <randy.dunlap@oracle.com>
* | ALSA: hda - Add mic-boost controls to ALC662/663 auto configurationTakashi Iwai2008-09-021-0/+5
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix ALC663 auto-probeTakashi Iwai2008-09-021-0/+18
|/ | | | | | Fix the wrong DAC assignment for NID 0x17 mono-pin on ALC663. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ASoC: fix pxa2xx-i2s clk_get callDmitry Baryshkov2008-09-011-1/+39
| | | | | | | | | pxa2xx-i2s: probe actual device and use it for clk_get call thus fixing error during startup hook Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: Distortion fix for dell_m6_core_initMatthew Ranostay2008-09-011-2/+3
| | | | | | | Added the EQ distortion fix to the dell_m6_core_init. Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: oxygen: fix distorted output on AK4396-based cardsClemens Ladisch2008-08-292-0/+8
| | | | | | | | | | | | | | | When changing the sample rate, the CMI8788's master clock output becomes unstable for a short time. The AK4396 needs the master clock to do SPI writes, so writing to an AK4396 control register directly after a sample rate change will garble the value. In our case, this leads to the DACs being misconfigured to I2S sample format, which results in a wrong output level and horrible distortions on samples louder than -6 dB. To fix this, we need to wait until the new master clock signal has become stable before doing SPI writes. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Revert "ALSA: hda - Added model selection for iMac 24""Takashi Iwai2008-08-271-1/+0
| | | | | | | | | | | This reverts commit 3e0e469fa216ec70c93b1593821b759d19ee2e6b. The patch introduced a wrong detection of other intel Macs with ALC88* codec because they share the same PCI SSID (but have different codec subsystem-IDs). See http://lkml.org/lkml/2008/8/24/143 Reported-and-tested-by: Guillaume Chazarain <guichaz@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: ASoC: Fix error paths in N810 machine driver init and release clocks ↵Jarkko Nikula2008-08-261-5/+13
| | | | | | | | | | | | | | at exit Thanks to Felipe Balbi <felipe.balbi@nokia.com> by noticing that if clk_get to sys_clkout2_src fails, then n810_snd_device is never released. Add also sys_clkout2_src release into error path, error code return and release the clocks at exit. Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: oxygen: prevent muting of nonexistent AC97 controlsClemens Ladisch2008-08-261-1/+4
| | | | | | | | | The Xonar DX does not have CD Capture controls, so we have to check that a control actually exists before muting it. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: fix for CA0106 on MSI K8N Diamond PLUS MotherboardStephen Rothwell2008-08-261-1/+1
| | | | | Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2008-08-259-34/+54
|\ | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: ASoC: Fix double free and memory leak in many codec drivers ALSA: CA0106 on MSI K8N Diamond PLUS Motherboard
| * ALSA: ASoC: Fix double free and memory leak in many codec driversJean Delvare2008-08-258-32/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many SoC audio codec drivers have improper freeing of memory in error paths. * codec is allocated in the platform device probe function, but is not freed there in case of error. Instead it is freed in the i2c device probe function's error path. However the success or failure of both functions is not linked, so this could result in a double free (if the platform device is successfully probed, the i2c device probing fails and then the platform driver is unregistered.) * codec->private_data is allocated in many platform device probe functions but not freed in their error paths. This patch hopefully solves all these problems. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: CA0106 on MSI K8N Diamond PLUS MotherboardTravis Place2008-08-251-2/+3
| | | | | | | | | | | | | | | | | | Correct a previous patch for the ca0106 onboard the MSI K8N Diamond PLUS motherboard. Confirmed to have Line/Mic/Aux working for input, and sound output working as expected. Signed-off-by: Travis Place <wishie@wishie.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | removed unused #include <linux/version.h>'sAdrian Bunk2008-08-234-4/+0
|/ | | | | | | | This patch lets the files using linux/version.h match the files that #include it. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* ALSA: hda - Fix call of alc888_coef_init()Takashi Iwai2008-08-221-3/+3
| | | | | | | | Using init_hook to call alc888_coef_init() is problematic for configurations that already set another init_hook. Better to put it in alc_init() as is (although it looks a bit hackish). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda_intel: enable snoop for nvidia HDA controllerPeer Chen2008-08-211-0/+9
| | | | | | | | Enable the snoop for nvidia hda controller to avoid data coherence issue. Signed-off-by: Peer Chen <peerchen@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix capture source widgets on ALC codecsTakashi Iwai2008-08-171-0/+45
| | | | | | | | | | | | On some Realtek codecs like ALC882 or ALC883, the capture source is no mux but sum widget. We have to initialize all channels properly for this type, otherwise noises may come in from the unused route. The patch assures to mute unused routes, and unmute the currently selected route. Signed-off-by: Takashi Iwai <tiwai@suse.de> Tested-by: Daniel J Blueman <daniel.blueman@gmail.com>
* ALSA: wm8990: Implement speaker volume PGAMark Brown2008-08-152-4/+18
| | | | | | | | | The latest revisions of the WM8990 provide a programmable gain amplifier for the speaker - configure the register cache and implement controls for this. Older revisions of the device ignore writes to these controls. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: wm8990: Fix routing of left DAC to speaker mixerMark Brown2008-08-151-1/+1
| | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: virtuoso: add Xonar D1 supportClemens Ladisch2008-08-142-19/+56
| | | | | | | | Add support for the Asus Xonar D1. It is the same as the DX, but without the external power detection. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - support new AMD HDMI Audio (1002:970f)Libin Yang2008-08-121-0/+1
| | | | | Signed-off-by: Libin Yang <libin.yang@amd.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda_intel: ALSA HD Audio patch for Intel Ibex Peak DeviceIDsSeth Heasley2008-08-121-0/+3
| | | | | | | This patch adds the Intel Ibex Peak (PCH) HD Audio Controller DeviceIDs. Signed-off by: Seth Heasley <seth.heasley@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: wm8750: add missing VREF outputDmitry Baryshkov2008-08-121-0/+1
| | | | | | | | | Add missing output VREF. After a65f0568f6cc8433877fb71dd7d36b551854b0bc it's critical, since it makes chip routing initialisation to fail. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: spitz: MONO -> MONO1Dmitry Baryshkov2008-08-121-1/+1
| | | | | | | | | Correct route name to be MONO1 instead of MONO to follow recent fix in wm8750. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: wm8750: it's MONO1, not MONODmitry Baryshkov2008-08-111-1/+1
| | | | | | | | | Since first commit wm8750 contained output named MONO, but all routes mentioned MONO1. Correct MONO to be MONO1. Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge Linus' latest into masterRussell King2008-08-081-111/+124
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: drivers/watchdog/at91rm9200_wdt.c drivers/watchdog/davinci_wdt.c drivers/watchdog/ep93xx_wdt.c drivers/watchdog/ixp2000_wdt.c drivers/watchdog/ixp4xx_wdt.c drivers/watchdog/ks8695_wdt.c drivers/watchdog/omap_wdt.c drivers/watchdog/pnx4008_wdt.c drivers/watchdog/sa1100_wdt.c drivers/watchdog/wdt285.c
| * Merge branch 'for-linus' of ↵Linus Torvalds2008-08-081-111/+124
| |\ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: ASoC: fix SNDCTL_DSP_SYNC support in Freescale 8610 sound drivers
| | * ALSA: ASoC: fix SNDCTL_DSP_SYNC support in Freescale 8610 sound driversTimur Tabi2008-08-041-111/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an OSS application calls SNDCTL_DSP_SYNC, then ALSA will call the driver's _hw_params and _prepare functions again. On the Freescale MPC8610 DMA ASoC driver, this caused the DMA controller to be unneccessarily re-programmed, and apparently it doesn't like that. The DMA will then not operate when instructed. This patch relocates much of the DMA programming to fsl_dma_open(), which is called only once. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Revert "pcm_native.c: remove unused label"Linus Torvalds2008-08-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 680db0136e0778a0d7e025af7572c6a8d82279e2. The label is actually used, but hidden behind CONFIG_SND_DEBUG and the horrible snd_assert() macro. That macro could probably be improved to be along the lines of #define snd_assert(expr, args...) do { if ((void)(expr),0) { args; } } while (0) or similar to make sure that we always both evaluate 'expr' and parse 'args', but while gcc should optimize it all away, I'm too lazy to really verify that. So I'll just admit defeat and will continue to live with the annoying warning. Noted-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Linus "Grr.." Torvalds
| * | pcm_native.c: remove unused labelLinus Torvalds2008-08-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the warning sound/core/pcm_native.c: In function 'snd_pcm_fasync': sound/core/pcm_native.c:3262: warning: label 'out' defined but not used Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/machRussell King2008-08-0729-83/+83
| | | | | | | | | | | | | | | | | | This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixesRussell King2008-08-078-21/+77
|\| |
| * | sound: ensure device number is valid in snd_seq_oss_synth_make_infoWilly Tarreau2008-08-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | snd_seq_oss_synth_make_info() incorrectly reports information to userspace without first checking for the validity of the device number, leading to possible information leak (CVE-2008-3272). Reported-By: Tobias Klein <tk@trapkit.de> Acked-and-tested-by: Takashi Iwai <tiwai@suse.de> Cc: stable@kernel.org Signed-off-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | Merge branch 'for-linus' of ↵Linus Torvalds2008-08-015-18/+73
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: ASoC: Export dapm_reg_event() fully ALSA: ASoC: Update Poodle to current ASoC API ALSA: asoc: restrict sample rate and size in Freescale MPC8610 sound drivers ALSA: sound/soc/pxa/tosa.c: removed duplicated include
| | * ALSA: ASoC: Export dapm_reg_event() fullyMark Brown2008-07-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | dapm_reg_event() is used by devices using SND_SOC_DAPM_REG() so needs to be exported to support building them as modules and prototyped to avoid sparse warnings and potential build issues. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: ASoC: Update Poodle to current ASoC APIDmitry Baryshkov2008-07-291-6/+2
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: asoc: restrict sample rate and size in Freescale MPC8610 sound driversTimur Tabi2008-07-292-11/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Freescale MPC8610 SSI device has the option of using one clock for both transmit and receive (synchronous mode), or independent clocks (asynchronous). The SSI driver, however, programs the SSI into synchronous mode and then tries to program the clock registers independently. The result is that the wrong sample size is usually generated during recording. This patch fixes the discrepancy by restricting the sample rate and sample size of the playback and capture streams. The SSI driver remembers which stream is opened first. When a second stream is opened, that stream is constrained to the same sample rate and size as the first stream. A future version of this driver will lift the sample size restriction. Supporting independent sample rates is more difficult, because only certain codecs provide dual independent clocks. Signed-off-by: Timur Tabi <timur@freescale.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ALSA: sound/soc/pxa/tosa.c: removed duplicated includeHuang Weiyi2008-07-291-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Removed duplicated include <asm/arch/tosa.h> in sound/soc/pxa/tosa.c. Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | sh: migrate to arch/sh/include/Paul Mundt2008-07-291-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | This follows the sparc changes a439fe51a1f8eb087c22dd24d69cebae4a3addac. Most of the moving about was done with Sam's directions at: http://marc.info/?l=linux-sh&m=121724823706062&w=2 with subsequent hacking and fixups entirely my fault. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>