diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2006-07-10 11:44:37 (GMT) |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-07-10 20:24:19 (GMT) |
commit | e53fcabc6d923e9c1cdd073ea2e2212daf907622 (patch) | |
tree | 01b20c2ac97b293f83bb84ba6f8f27023b8523f7 /sound/aoa/core/snd-aoa-gpio-pmf.c | |
parent | 977c60238cfff1f9eb07cfd78bc02da91b7b499b (diff) | |
download | linux-e53fcabc6d923e9c1cdd073ea2e2212daf907622.tar.xz |
[PATCH] aoa: pmf gpio: report if function calling fails
This patch makes the pmf GPIO layer in aoa report if calling a platform
function failed.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'sound/aoa/core/snd-aoa-gpio-pmf.c')
-rw-r--r-- | sound/aoa/core/snd-aoa-gpio-pmf.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/sound/aoa/core/snd-aoa-gpio-pmf.c b/sound/aoa/core/snd-aoa-gpio-pmf.c index 0e9b9bb..3d57fd1 100644 --- a/sound/aoa/core/snd-aoa-gpio-pmf.c +++ b/sound/aoa/core/snd-aoa-gpio-pmf.c @@ -14,9 +14,13 @@ static void pmf_gpio_set_##name(struct gpio_runtime *rt, int on)\ { \ struct pmf_args args = { .count = 1, .u[0].v = !on }; \ - \ + int rc; \ + \ if (unlikely(!rt)) return; \ - pmf_call_function(rt->node, #name "-mute", &args); \ + rc = pmf_call_function(rt->node, #name "-mute", &args); \ + if (rc) \ + printk(KERN_WARNING "pmf_gpio_set_" #name \ + " failed, rc: %d\n", rc); \ rt->implementation_private &= ~(1<<bit); \ rt->implementation_private |= (!!on << bit); \ } \ @@ -33,9 +37,13 @@ PMF_GPIO(lineout, 2); static void pmf_gpio_set_hw_reset(struct gpio_runtime *rt, int on) { struct pmf_args args = { .count = 1, .u[0].v = !!on }; + int rc; if (unlikely(!rt)) return; - pmf_call_function(rt->node, "hw-reset", &args); + rc = pmf_call_function(rt->node, "hw-reset", &args); + if (rc) + printk(KERN_WARNING "pmf_gpio_set_hw_reset" + " failed, rc: %d\n", rc); } static void pmf_gpio_all_amps_off(struct gpio_runtime *rt) |