aboutsummaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* [ALSA] Fix wrong dependencies of snd-aoa driverTakashi Iwai2006-06-281-1/+2
| | | | | | | Fixed wrong dependencies of snd-aoa driver. It selects PCM instead. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] fix build failure due to snd-aoaTakashi Iwai2006-06-281-1/+2
| | | | | | | | | | When snd-aoa is not built or built as modules, but CONFIG_SND is yes, kernel build fails due to a bug I introduced when adding snd-aoa. This patch fixes it. From: Takashi Iwai <tiwai@suse.de> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] AD1888 mixer controls for DC modeJaya Kumar2006-06-281-0/+2
| | | | | | | | | | | | | This patch adds two mixer controls. The V_REFOUT enable is a documented register that couples the microphone input lines to the V_REFOUT DC source. The High Pass Filter enable in the AC97_AD_TEST2 (0x5c) is an undocumented register provided by Miller Puckette via Analog Devices that enables the AD codec to apply a high pass filter to the input. Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] usb-audio support for Turtle Beach RoadieSam Revitch2006-06-281-0/+32
| | | | | | | | | | | | | | | | | From: Sam Revitch <sam.revitch@gmail.com>Recently a Turtle Beach Audio Advantage Roadie device ended up in my possession. It seems to work with the snd-usb-audio driver, but only using the headphone jack in 2-channel mode. The device has a DIN connector carrying six more channels that are otherwise silent. C-Media has freely available documentation for the CM106 chip around which this device is based, and enabling 8-channel output, or 6-channel output with the headphone jack following the front pair is a matter of setting one of its registers. Attached is a patch to try to enable 5.1 output mode at probe time. It seems to work correctly with my device. There is quite list of other configurables for this device that might deserve controls. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* Properly delete sound/ppc/toonie.cLinus Torvalds2006-06-271-0/+0
| | | | | | | The previous "delete" had actually just truncated it to a zero size, something that can easily happen if you just apply a patch. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] update two drivers for poison.hRandy Dunlap2006-06-271-2/+3
| | | | | | | | Update two drivers to use poison.h. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivialLinus Torvalds2006-06-263-16/+16
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: typo fixes Clean up 'inline is not at beginning' warnings for usb storage Storage class should be first i386: Trivial typo fixes ixj: make ixj_set_tone_off() static spelling fixes fix paniced->panicked typos Spelling fixes for Documentation/atomic_ops.txt move acknowledgment for Mark Adler to CREDITS remove the bouncing email address of David Campbell
| * spelling fixesAndreas Mohr2006-06-263-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | acquired (aquired) contiguous (contigious) successful (succesful, succesfull) surprise (suprise) whether (weather) some other misspellings Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuildLinus Torvalds2006-06-261-1/+1
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild: (40 commits) kbuild: trivial fixes in Makefile kbuild: adding symbols in Kconfig and defconfig to TAGS kbuild: replace abort() with exit(1) kbuild: support for %.symtypes files kbuild: fix silentoldconfig recursion kbuild: add option for stripping modules while installing them kbuild: kill some false positives from modpost kbuild: export-symbol usage report generator kbuild: fix make -rR breakage kbuild: append -dirty for updated but uncommited changes kbuild: append git revision for all untagged commits kbuild: fix module.symvers parsing in modpost kbuild: ignore make's built-in rules & variables kbuild: bugfix with initramfs kbuild: modpost build fix kbuild: check license compatibility when building modules kbuild: export-type enhancement to modpost.c kbuild: add dependency on kernel.release to the package targets kbuild: `make kernelrelease' speedup kconfig: KCONFIG_OVERWRITECONFIG ...
| * kconfig: remove leading whitespace in menu promptsRoman Zippel2006-06-091-1/+1
| | | | | | | | | | | | | | | | This removes all the leading whitespace kconfig now warns about. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* | [PATCH] au1xxx: oss sound support for au1200Domen Puncer2006-06-252-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | au1550 ac97 driver works fine on au1200 too. Comments at the top of file state this code is GPL, so lets mark it as GPL too. Signed-off-by: Domen Puncer <domen.puncer@ultra.si> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] au1550_ac97: spin_unlock in error pathDomen Puncer2006-06-251-2/+5
| | | | | | | | | | | | | | | | | | Error paths didn't spin_unlock. Signed-off-by: Domen Puncer <domen.puncer@ultra.si> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] emu10k1: mark midi_spinlock as usedAlexey Dobriyan2006-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | Why is it marked unused when in fact it's used? Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] msnd section fixAndrew Morton2006-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | WARNING: sound/oss/msnd.o - Section mismatch: reference to .init.text:msnd_register from __ksymtab between '__ksymtab_msnd_register' (at offset 0x0) and '__ksymtab_msnd_unregister' This symbol is exported. It'll oops if the driver is nonmodular and the caller is modular. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [SOUND] sparc: Port amd7930 to new SBUS device layer.David S. Miller2006-06-231-61/+77
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | [SPARC64]: Use in-kernel PROM tree for EBUS and ISA.David S. Miller2006-06-231-7/+6
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | [PATCH] OSS: cs46xx cleanup and tiny bugfixJesper Juhl2006-06-231-783/+489
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here's a patch for cs46xx that - (mostly) cleans up the cs46xx driver according to CodingStyle - removes a bunch of pointless casts - fixes a small, potential use of uninitialized variable, bug - reduces the size of the compiled code by 36 bytes - reduces the size of the source file by 1831 bytes I know I should probably have split this into bits, but since I only thought of that *after* doing all the edits, splitting it up would have been a royal pain. And since these are all pretty trivial changes I thought I'd just submit the one huge patch and hope people could live with it (if not, then just tell me and I'll split it). The bug fix that's in there may be hard to spot, so I'll point it out. It's the - int val, valsave, mapped, ret; + int val, valsave, ret; + int mapped = 0; bit. Without that change we may use `mapped' uninitialized if, in cs_ioctl, the first test of "if(state)" is false and the second "if(state)" test is true. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] Au1550/1200: add missing PSC #define's, make OSS driver use the ↵Sergei Shtylyov2006-06-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | proper ones Add missing PSC #define's required for the drivers using PSC on DBAu1550 board (also fixing Au1550 PSC3 address) and all Au1200-based boards as well. Make the OSS driver use the correct PSC definitions fo each board. Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [ALSA] aoa driver - Kconfig - remove spaces for SND!=nJaroslav Kysela2006-06-221-1/+1
| | | | | | | | Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* | [ALSA] hda-codec - Show EAPD and pin-detection capabilities in procTakashi Iwai2006-06-221-0/+4
| | | | | | | | | | | | | | Show EAPD and pin-detection capabilities in proc files. They are often required to support the proper audio functionality. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] Remove nested mutexes in seq_ports.cTakashi Iwai2006-06-221-2/+0
| | | | | | | | | | | | | | | | Removed nested mutexes in the removal routine of port connections. The port is guaranteed to be offline before calling it, so no mutex is needed. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] Remove ppc/toonie.cTakashi Iwai2006-06-221-378/+0
| | | | | | | | | | | | | | Remove obsoleted ppc/toonie.c. The function is replaced with new snd-aoa driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] snd-powermac: no longer handle anything with a layout-id propertyJohannes Berg2006-06-224-46/+10
| | | | | | | | | | | | | | | | | | | | | | This patch removes from snd-powermac the code that check for the layout-id and instead adds code that makes it refuse loading when a layout-id property is present, nothing that snd-aoa should be used. It also removes the 'toonie' codec from snd-powermac which was only ever used on the mac mini which has a layout-id property. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] snd-aoa: add snd-aoaJohannes Berg2006-06-2235-1/+7009
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This large patch adds all of snd-aoa. Consisting of many modules, it currently replaces snd-powermac for all layout-id based machines and handles many more (for example new powerbooks and powermacs with digital output that previously couldn't be used at all). It also has support for all layout-IDs that Apple has (judging from their Info.plist file) but not all are tested. The driver currently has 2 known regressions over snd-powermac: * it doesn't handle powermac 7,2 and 7,3 * it doesn't have a DRC control on snapper-based machines I will fix those during the 2.6.18 development cycle. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] hda-codec - Use 3stack model for ASUS P5RD2-VM / P5GPL-X SETakashi Iwai2006-06-221-0/+2
| | | | | | | | | | | | | | Use 3stack model as default for ASUS P5RD2-VM and P5GPL-X SE boards with AD1986A codec (ALSA bug#2103). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] HDA - Lenovo 3000 N100-07684JU - enable laptop-eapd by defaultDaniel T Chen2006-06-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Justin Sunseri reports that sound is audible on his Lenovo 3000 N100-07684JU by passing 'model=laptop-eapd' to modprobe, so this patch adds the pci ids for his sound device to patch_analog.c . This commit closes LP#39517. Alexey Parshin also confirmed the fix at http://bugs.gentoo.org/137245 TODO: Mute onboard speakers when device is plugged into the headphone jack. Muting the 'External Amplifier' mixer element while a device is plugged into the headphone jack allows sound to be played only from the headphone jack. From: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Daniel T Chen <crimsun at ubuntu.com> Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* | [ALSA] USB midi: Remove duplicate CS_AUDIO_* #definesBen Williamson2006-06-223-9/+2
| | | | | | | | | | | | | | | | Removed the CS_AUDIO_* #defines, which were duplicates of the class-specific USB_DT_CS_* #defines in <linux/usb_ch9.h>. Signed-off-by: Ben Williamson <ben.williamson@greyinnovation.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] AD1888 suspend/resume fixJaya Kumar2006-06-221-1/+8
| | | | | | | | | | | | | | | | | | This patch adds a write to an undocumented register, 0x60 Extended Codec Register Page in the AD1888 codec. It is neccessary in order to make suspend/resume work with the AD1888. Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] Disable AC97 AUX and VIDEO controls for WM9705 touchscreenRodolfo Giometti2006-06-222-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch by Rodolfo Giometti disables the AC97 AUX and VIDEO controls on the WM9705 when the touchscreen is selected as the AUX and VIDEO lines are shared with the touch controller. Changes:- o Added AC97_HAS_NO_AUX flag o Test for AC97_HAS_NO_AUX flag in snd_ac97_mixer_build() o Sets AC97_HAS_NO_VIDEO and AC97_HAS_NO_AUX in patch_wolfson05() when WM9705 touch driver is selected. Signed-off-by: Rodolfo Giometti <giometti@linux.it> Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] via82xx - Default to variable samplerate enabled for MSI K8T Neo2-FIKarsten Wiese2006-06-221-1/+1
| | | | | | | | | | | | | | | | Default to variable samplerate enabled for MSI K8T Neo2-FI No crackles here with 44100. Signed-off-by: Karsten Wiese <annabellesgarden@yahoo.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] Add hp_only quirk for pci id [161f:2032] to via82xxDaniel T Chen2006-06-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper.git;a=commitdiff;h=eae2cc78de39502595f67b7fc1f821f5963bb8ae UpstreamStatus: Not merged Christian Bjalevik reports in LP#38546 that his sound chipset requires the 'hp_only' quirk to allow him to control sound volume correctly when headphones are inserted. This patch adds the appropriate pci id to the via82xx ALSA driver so that the quirk is applied automatically, thereby removing the need for users to modify /etc/modprobe.d/alsa-base (or to unload and reload snd-via82xx with ac97_quirk=hp_only). This patch closes LP#38546. Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Ben Collins <bcollins@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] sound/pci/: Add hp_only quirk for Dell D800 laptopsDaniel T Chen2006-06-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper.git;a=commitdiff;h=9ad787cd9670c3f3b8f3db235e84baf00a2ea526 Anders Ostling comments in Malone #41015 that his Dell D800 laptop's volume control works correctly when the hp_only quirk is passed to modprobe. This commit adds his hardware's sub{vendor,device} ids to the quirk list for the intel8x0 driver. Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Ben Collins <bcollins@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] cs5535audio - trivial debug printkJaya Kumar2006-06-221-1/+2
| | | | | | | | | | | | | | | | Following is a trivial patch to get more info for boards where the AC97_VENDOR_ID2 register (or others) time out. Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] fix potential NULL pointer deref in snd_sb8dsp_midi_interrupt()Jesper Juhl2006-06-221-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | First testing if a pointer is NULL and if it is (or might be), proceeding with code that dereferences that same pointer is clearly a mistake. This happens in sound/isa/sb/sb8_midi.c::snd_sb8dsp_midi_interrupt() The patch below reworks the code so this unfortunate case doesn't happen. Also remove some blank comments. Found by the Coverity checker as bug #367 Patch is compile testted only due to lack of hardware. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] hda-codec - Add SPDIF support to Thinkpad T/X/Z60Takashi Iwai2006-06-221-3/+10
| | | | | | | | | | | | | | | | | | Added IEC958 (SPDIF) output support to Thinkpad T/X/Z60 with AD1981HD codec. The spdif jack is on docking station. Also, renamed 'IEC958 Playback Route' to 'IEC958 Playback Source' to avoid the mixer name confliction with IEC958 switch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] ac97_codec - fix duplicate control creation in AC97Jaya Kumar2006-06-221-3/+6
| | | | | | | | | | | | | | | | | | | | | | This patch conditions AC97 control creation by whether or not the codec is an AD18xx codec. This fixes the case where the default control would get created and then snd_ac97_mixer_build fails out when creation of ad18xx specific control would get attempted. This problem was found and debuged by Marcelo Tosatti. Signed-off-by: Jaya Kumar <jayakumar.alsa@gmail.com> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* | [ALSA] RME HDSP - fixed proc interface (missing {})Remy Bruno2006-06-221-1/+2
| | | | | | | | | | From: Remy Bruno <remy.bruno@trinnov.com> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* | [ALSA] snd-ca0106: Update playback to 24bit. Fix typo is comment.James Courtier-Dutton2006-06-221-3/+3
| | | | | | | | Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
* | [ALSA] Fix invalid __init in ALSA ISA driversTakashi Iwai2006-06-222-16/+16
| | | | | | | | | | | | | | Replaced invalid __init with __devinit in snd-sbawe and snd-opl3sa2 drivers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] sound/vxpocket: fix printk warningRandy Dunlap2006-06-221-1/+1
| | | | | | | | | | | | | | | | Fix printk format warning: sound/pcmcia/vx/vxp_ops.c:205: warning: format '%x' expects type 'unsigned int', but argument 5 has type 'size_t' Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] Remove bogus check of mmap_count in snd_pcm_release()Takashi Iwai2006-06-221-1/+0
| | | | | | | | | | | | | | Removed a bogus check of mmap_count in snd_pcm_release(). This is no longer true for the shared streams. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] Fix races in irq handler and ioremapTakashi Iwai2006-06-223-18/+18
| | | | | | | | | | | | | | | | Call ioremap before request_irq for avoiding possible races in the irq handler. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] virmidi: revert erroneous removal of zero initializationClemens Ladisch2006-06-221-1/+1
| | | | | | | | | | | | | | The last patch that tried to remove zero initializations of static variables accidentally removed a not-quite-zero initialization too. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* | [ALSA] hda-codec - Add model entry for HP nx6320Takashi Iwai2006-06-221-0/+2
| | | | | | | | | | | | | | | | Added a model entry for HP nx6320 with AD1981HD codec. It wasn't covered by the generic HP entry because of a hardware bug (the SSID is reversed). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] ac97 - Add Thinkpad T41p to AD1981 jack-sense blacklistTakashi Iwai2006-06-221-0/+1
| | | | | | | | | | | | | | Added Thinkpad T41p to the blacklist to disable HP/line jack-sensing with AD1981B. The jack-sensing is just harmful on this laptop. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] Fix possible races in PCI driver removalTakashi Iwai2006-06-222-4/+5
| | | | | | | | | | | | | | Call free_irq() before releasing others to avoid races when shared irq is issued. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] hda-intel - Fix race in removeTakashi Iwai2006-06-221-2/+2
| | | | | | | | | | | | | | | | Call iounmap after free_irq to avoid invalid accesses in the shared irq. The patch is taken from https://bugzilla.novell.com/show_bug.cgi?id=167869 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] bt87x: add Voodoo TV 200 whitelist entryClemens Ladisch2006-06-221-2/+4
| | | | | | | | | | | | This adds a whitelist entry for the digital audio input of the Voodoo TV 200. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* | [ALSA] NULL pointer dereference in sound/synth/emux/soundfont.cEric Sesterhenn2006-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | this is about coverity id #100. It seems the if statement is negated, since the else branch calls remove_info() with sflist->currsf as a parameter where it gets dereferenced. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [ALSA] cmipci - Fix a typo in 'PC Speaker Playback Switch' controlTakashi Iwai2006-06-221-1/+1
| | | | | | | | | | | | Fixed a typo in 'PC Speaker Playback Switch' control name. Signed-off-by: Takashi Iwai <tiwai@suse.de>