Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 283769
b: refs/heads/master
c: 45f3121
h: refs/heads/master
i:
  283767: 62659b3
v: v3
  • Loading branch information
Kuninori Morimoto authored and Mark Brown committed Nov 24, 2011
1 parent a00908e commit e58b843
Show file tree
Hide file tree
Showing 6 changed files with 64 additions and 107 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 39afd66cead742e99c051d6f3b07f89d09eebbbb
refs/heads/master: 45f3121615b2b354f7d95d30f795bc5fe0043e92
15 changes: 14 additions & 1 deletion trunk/arch/arm/mach-shmobile/board-ap4evb.c
Original file line number Diff line number Diff line change
Expand Up @@ -762,9 +762,22 @@ static struct platform_device fsi_device = {
},
};

static struct fsi_ak4642_info fsi2_ak4643_info = {
.name = "AK4643",
.card = "FSI2A-AK4643",
.cpu_dai = "fsia-dai",
.codec = "ak4642-codec.0-0013",
.platform = "sh_fsi2",
.id = FSI_PORT_A,
};

static struct platform_device fsi_ak4643_device = {
.name = "sh_fsi2_a_ak4643",
.name = "fsi-ak4642-audio",
.dev = {
.platform_data = &fsi_info,
},
};

static struct sh_mobile_meram_cfg hdmi_meram_cfg = {
.icb[0] = {
.marker_icb = 30,
Expand Down
14 changes: 13 additions & 1 deletion trunk/arch/arm/mach-shmobile/board-mackerel.c
Original file line number Diff line number Diff line change
Expand Up @@ -990,8 +990,20 @@ static struct platform_device fsi_device = {
},
};

static struct fsi_ak4642_info fsi2_ak4643_info = {
.name = "AK4643",
.card = "FSI2A-AK4643",
.cpu_dai = "fsia-dai",
.codec = "ak4642-codec.0-0013",
.platform = "sh_fsi2",
.id = FSI_PORT_A,
};

static struct platform_device fsi_ak4643_device = {
.name = "sh_fsi2_a_ak4643",
.name = "fsi-ak4642-audio",
.dev = {
.platform_data = &fsi2_ak4643_info,
},
};

/*
Expand Down
14 changes: 13 additions & 1 deletion trunk/arch/sh/boards/mach-se/7724/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,8 +315,20 @@ static struct platform_device fsi_device = {
},
};

static struct fsi_ak4642_info fsi_ak4642_info = {
.name = "AK4642",
.card = "FSIA-AK4642",
.cpu_dai = "fsia-dai",
.codec = "ak4642-codec.0-0012",
.platform = "sh_fsi.0",
.id = FSI_PORT_A,
};

static struct platform_device fsi_ak4642_device = {
.name = "sh_fsi_a_ak4642",
.name = "fsi-ak4642-audio",
.dev = {
.platform_data = &fsi_ak4642_info,
},
};

/* KEYSC in SoC (Needs SW33-2 set to ON) */
Expand Down
12 changes: 12 additions & 0 deletions trunk/include/sound/sh_fsi.h
Original file line number Diff line number Diff line change
Expand Up @@ -78,4 +78,16 @@ struct sh_fsi_platform_info {
int (*set_rate)(struct device *dev, int is_porta, int rate, int enable);
};

/*
* for fsi-ak4642
*/
struct fsi_ak4642_info {
const char *name;
const char *card;
const char *cpu_dai;
const char *codec;
const char *platform;
int id;
};

#endif /* __SOUND_FSI_H */
114 changes: 11 additions & 103 deletions trunk/sound/soc/sh/fsi-ak4642.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,27 +58,23 @@ static struct platform_device *fsi_snd_device;
static int fsi_ak4642_probe(struct platform_device *pdev)
{
int ret = -ENOMEM;
const struct platform_device_id *id_entry;
struct fsi_ak4642_data *pdata;
struct fsi_ak4642_info *pinfo = pdev->dev.platform_data;

id_entry = pdev->id_entry;
if (!id_entry) {
dev_err(&pdev->dev, "unknown fsi ak4642\n");
return -ENODEV;
if (!pinfo) {
dev_err(&pdev->dev, "no info for fsi ak4642\n");
goto out;
}

pdata = (struct fsi_ak4642_data *)id_entry->driver_data;

fsi_snd_device = platform_device_alloc("soc-audio", pdata->id);
fsi_snd_device = platform_device_alloc("soc-audio", pinfo->id);
if (!fsi_snd_device)
goto out;

fsi_dai_link.name = pdata->name;
fsi_dai_link.stream_name = pdata->name;
fsi_dai_link.cpu_dai_name = pdata->cpu_dai;
fsi_dai_link.platform_name = pdata->platform;
fsi_dai_link.codec_name = pdata->codec;
fsi_soc_card.name = pdata->card;
fsi_dai_link.name = pinfo->name;
fsi_dai_link.stream_name = pinfo->name;
fsi_dai_link.cpu_dai_name = pinfo->cpu_dai;
fsi_dai_link.platform_name = pinfo->platform;
fsi_dai_link.codec_name = pinfo->codec;
fsi_soc_card.name = pinfo->card;

platform_set_drvdata(fsi_snd_device, &fsi_soc_card);
ret = platform_device_add(fsi_snd_device);
Expand All @@ -96,100 +92,12 @@ static int fsi_ak4642_remove(struct platform_device *pdev)
return 0;
}

static struct fsi_ak4642_data fsi_a_ak4642 = {
.name = "AK4642",
.card = "FSIA-AK4642",
.cpu_dai = "fsia-dai",
.codec = "ak4642-codec.0-0012",
.platform = "sh_fsi.0",
.id = FSI_PORT_A,
};

static struct fsi_ak4642_data fsi_b_ak4642 = {
.name = "AK4642",
.card = "FSIB-AK4642",
.cpu_dai = "fsib-dai",
.codec = "ak4642-codec.0-0012",
.platform = "sh_fsi.0",
.id = FSI_PORT_B,
};

static struct fsi_ak4642_data fsi_a_ak4643 = {
.name = "AK4643",
.card = "FSIA-AK4643",
.cpu_dai = "fsia-dai",
.codec = "ak4642-codec.0-0013",
.platform = "sh_fsi.0",
.id = FSI_PORT_A,
};

static struct fsi_ak4642_data fsi_b_ak4643 = {
.name = "AK4643",
.card = "FSIB-AK4643",
.cpu_dai = "fsib-dai",
.codec = "ak4642-codec.0-0013",
.platform = "sh_fsi.0",
.id = FSI_PORT_B,
};

static struct fsi_ak4642_data fsi2_a_ak4642 = {
.name = "AK4642",
.card = "FSI2A-AK4642",
.cpu_dai = "fsia-dai",
.codec = "ak4642-codec.0-0012",
.platform = "sh_fsi2",
.id = FSI_PORT_A,
};

static struct fsi_ak4642_data fsi2_b_ak4642 = {
.name = "AK4642",
.card = "FSI2B-AK4642",
.cpu_dai = "fsib-dai",
.codec = "ak4642-codec.0-0012",
.platform = "sh_fsi2",
.id = FSI_PORT_B,
};

static struct fsi_ak4642_data fsi2_a_ak4643 = {
.name = "AK4643",
.card = "FSI2A-AK4643",
.cpu_dai = "fsia-dai",
.codec = "ak4642-codec.0-0013",
.platform = "sh_fsi2",
.id = FSI_PORT_A,
};

static struct fsi_ak4642_data fsi2_b_ak4643 = {
.name = "AK4643",
.card = "FSI2B-AK4643",
.cpu_dai = "fsib-dai",
.codec = "ak4642-codec.0-0013",
.platform = "sh_fsi2",
.id = FSI_PORT_B,
};

static struct platform_device_id fsi_id_table[] = {
/* FSI */
{ "sh_fsi_a_ak4642", (kernel_ulong_t)&fsi_a_ak4642 },
{ "sh_fsi_b_ak4642", (kernel_ulong_t)&fsi_b_ak4642 },
{ "sh_fsi_a_ak4643", (kernel_ulong_t)&fsi_a_ak4643 },
{ "sh_fsi_b_ak4643", (kernel_ulong_t)&fsi_b_ak4643 },

/* FSI 2 */
{ "sh_fsi2_a_ak4642", (kernel_ulong_t)&fsi2_a_ak4642 },
{ "sh_fsi2_b_ak4642", (kernel_ulong_t)&fsi2_b_ak4642 },
{ "sh_fsi2_a_ak4643", (kernel_ulong_t)&fsi2_a_ak4643 },
{ "sh_fsi2_b_ak4643", (kernel_ulong_t)&fsi2_b_ak4643 },
{},
};

static struct platform_driver fsi_ak4642 = {
.driver = {
.name = "fsi-ak4642-audio",
},
.probe = fsi_ak4642_probe,
.remove = fsi_ak4642_remove,
.id_table = fsi_id_table,
};

static int __init fsi_ak4642_init(void)
Expand Down

0 comments on commit e58b843

Please sign in to comment.