Merge branch 'fix/asoc' into for-linus
This commit is contained in:
commit
b614e38e78
|
@ -12,6 +12,7 @@
|
||||||
#include <linux/firmware.h>
|
#include <linux/firmware.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|
||||||
|
#include <asm/clkdev.h>
|
||||||
#include <asm/clock.h>
|
#include <asm/clock.h>
|
||||||
|
|
||||||
#include <cpu/sh7722.h>
|
#include <cpu/sh7722.h>
|
||||||
|
@ -40,12 +41,12 @@ static struct clk_ops siumckb_clk_ops = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct clk siumckb_clk = {
|
static struct clk siumckb_clk = {
|
||||||
.name = "siumckb_clk",
|
|
||||||
.id = -1,
|
|
||||||
.ops = &siumckb_clk_ops,
|
.ops = &siumckb_clk_ops,
|
||||||
.rate = 0, /* initialised at run-time */
|
.rate = 0, /* initialised at run-time */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct clk_lookup *siumckb_lookup;
|
||||||
|
|
||||||
static int migor_hw_params(struct snd_pcm_substream *substream,
|
static int migor_hw_params(struct snd_pcm_substream *substream,
|
||||||
struct snd_pcm_hw_params *params)
|
struct snd_pcm_hw_params *params)
|
||||||
{
|
{
|
||||||
|
@ -180,6 +181,13 @@ static int __init migor_init(void)
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
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 */
|
/* Port number used on this machine: port B */
|
||||||
migor_snd_device = platform_device_alloc("soc-audio", 1);
|
migor_snd_device = platform_device_alloc("soc-audio", 1);
|
||||||
if (!migor_snd_device) {
|
if (!migor_snd_device) {
|
||||||
|
@ -200,12 +208,15 @@ static int __init migor_init(void)
|
||||||
epdevadd:
|
epdevadd:
|
||||||
platform_device_put(migor_snd_device);
|
platform_device_put(migor_snd_device);
|
||||||
epdevalloc:
|
epdevalloc:
|
||||||
|
clkdev_drop(siumckb_lookup);
|
||||||
|
eclkdevalloc:
|
||||||
clk_unregister(&siumckb_clk);
|
clk_unregister(&siumckb_clk);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit migor_exit(void)
|
static void __exit migor_exit(void)
|
||||||
{
|
{
|
||||||
|
clkdev_drop(siumckb_lookup);
|
||||||
clk_unregister(&siumckb_clk);
|
clk_unregister(&siumckb_clk);
|
||||||
platform_device_unregister(migor_snd_device);
|
platform_device_unregister(migor_snd_device);
|
||||||
}
|
}
|
||||||
|
|
|
@ -203,7 +203,8 @@ static int snd_soc_8_16_write(struct snd_soc_codec *codec, unsigned int reg,
|
||||||
data[1] = (value >> 8) & 0xff;
|
data[1] = (value >> 8) & 0xff;
|
||||||
data[2] = value & 0xff;
|
data[2] = value & 0xff;
|
||||||
|
|
||||||
if (!snd_soc_codec_volatile_register(codec, reg))
|
if (!snd_soc_codec_volatile_register(codec, reg)
|
||||||
|
&& reg < codec->reg_cache_size)
|
||||||
reg_cache[reg] = value;
|
reg_cache[reg] = value;
|
||||||
|
|
||||||
if (codec->cache_only) {
|
if (codec->cache_only) {
|
||||||
|
|
Loading…
Reference in New Issue