Skip to content

Commit

Permalink
ASoC: fix clkdev API usage in sh/migor.c
Browse files Browse the repository at this point in the history
The clkdev API doesn't use .name and .id members of struct clk for clock
lookup. Instead clocks should be added to a lookup list. Without this patch
audio om the Migo-R board fails silently.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
  • Loading branch information
Guennadi Liakhovetski authored and Mark Brown committed Sep 19, 2010
1 parent 708fafb commit cbfa518
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions sound/soc/sh/migor.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#include <linux/firmware.h>
#include <linux/module.h>

#include <asm/clkdev.h>
#include <asm/clock.h>

#include <cpu/sh7722.h>
Expand Down Expand Up @@ -40,12 +41,12 @@ static struct clk_ops siumckb_clk_ops = {
};

static struct clk siumckb_clk = {
.name = "siumckb_clk",
.id = -1,
.ops = &siumckb_clk_ops,
.rate = 0, /* initialised at run-time */
};

static struct clk_lookup *siumckb_lookup;

static int migor_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{
Expand Down Expand Up @@ -180,6 +181,13 @@ static int __init migor_init(void)
if (ret < 0)
return ret;

siumckb_lookup = clkdev_alloc(&siumckb_clk, "siumckb_clk", NULL);
if (!siumckb_lookup) {
ret = -ENOMEM;
goto eclkdevalloc;
}
clkdev_add(siumckb_lookup);

/* Port number used on this machine: port B */
migor_snd_device = platform_device_alloc("soc-audio", 1);
if (!migor_snd_device) {
Expand All @@ -200,12 +208,15 @@ static int __init migor_init(void)
epdevadd:
platform_device_put(migor_snd_device);
epdevalloc:
clkdev_drop(siumckb_lookup);
eclkdevalloc:
clk_unregister(&siumckb_clk);
return ret;
}

static void __exit migor_exit(void)
{
clkdev_drop(siumckb_lookup);
clk_unregister(&siumckb_clk);
platform_device_unregister(migor_snd_device);
}
Expand Down

0 comments on commit cbfa518

Please sign in to comment.