Commit e7361ec4 authored by Mark Brown's avatar Mark Brown

ASoC: Replace pdev with card in machine driver probe and remove

In order to support cards instantiated without using soc-audio remove
the use of the platform device in the card probe() and remove() ops.
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
parent 70b2ac12
...@@ -649,8 +649,8 @@ struct snd_soc_card { ...@@ -649,8 +649,8 @@ struct snd_soc_card {
bool instantiated; bool instantiated;
int (*probe)(struct platform_device *pdev); int (*probe)(struct snd_soc_card *card);
int (*remove)(struct platform_device *pdev); int (*remove)(struct snd_soc_card *card);
/* the pre and post PM functions are used to do any PM work before and /* the pre and post PM functions are used to do any PM work before and
* after the codec and DAI's do any PM work. */ * after the codec and DAI's do any PM work. */
......
...@@ -53,9 +53,8 @@ struct mpc8610_hpcd_data { ...@@ -53,9 +53,8 @@ struct mpc8610_hpcd_data {
* *
* Here we program the DMACR and PMUXCR registers. * Here we program the DMACR and PMUXCR registers.
*/ */
static int mpc8610_hpcd_machine_probe(struct platform_device *sound_device) static int mpc8610_hpcd_machine_probe(struct snd_soc_card *card)
{ {
struct snd_soc_card *card = platform_get_drvdata(sound_device);
struct mpc8610_hpcd_data *machine_data = struct mpc8610_hpcd_data *machine_data =
container_of(card, struct mpc8610_hpcd_data, card); container_of(card, struct mpc8610_hpcd_data, card);
struct ccsr_guts_86xx __iomem *guts; struct ccsr_guts_86xx __iomem *guts;
...@@ -138,9 +137,8 @@ static int mpc8610_hpcd_startup(struct snd_pcm_substream *substream) ...@@ -138,9 +137,8 @@ static int mpc8610_hpcd_startup(struct snd_pcm_substream *substream)
* This function is called to remove the sound device for one SSI. We * This function is called to remove the sound device for one SSI. We
* de-program the DMACR and PMUXCR register. * de-program the DMACR and PMUXCR register.
*/ */
static int mpc8610_hpcd_machine_remove(struct platform_device *sound_device) static int mpc8610_hpcd_machine_remove(struct snd_soc_card *card)
{ {
struct snd_soc_card *card = platform_get_drvdata(sound_device);
struct mpc8610_hpcd_data *machine_data = struct mpc8610_hpcd_data *machine_data =
container_of(card, struct mpc8610_hpcd_data, card); container_of(card, struct mpc8610_hpcd_data, card);
struct ccsr_guts_86xx __iomem *guts; struct ccsr_guts_86xx __iomem *guts;
......
...@@ -85,9 +85,8 @@ struct machine_data { ...@@ -85,9 +85,8 @@ struct machine_data {
* *
* Here we program the DMACR and PMUXCR registers. * Here we program the DMACR and PMUXCR registers.
*/ */
static int p1022_ds_machine_probe(struct platform_device *sound_device) static int p1022_ds_machine_probe(struct snd_soc_card *card)
{ {
struct snd_soc_card *card = platform_get_drvdata(sound_device);
struct machine_data *mdata = struct machine_data *mdata =
container_of(card, struct machine_data, card); container_of(card, struct machine_data, card);
struct ccsr_guts_85xx __iomem *guts; struct ccsr_guts_85xx __iomem *guts;
...@@ -160,9 +159,8 @@ static int p1022_ds_startup(struct snd_pcm_substream *substream) ...@@ -160,9 +159,8 @@ static int p1022_ds_startup(struct snd_pcm_substream *substream)
* This function is called to remove the sound device for one SSI. We * This function is called to remove the sound device for one SSI. We
* de-program the DMACR and PMUXCR register. * de-program the DMACR and PMUXCR register.
*/ */
static int p1022_ds_machine_remove(struct platform_device *sound_device) static int p1022_ds_machine_remove(struct snd_soc_card *card)
{ {
struct snd_soc_card *card = platform_get_drvdata(sound_device);
struct machine_data *mdata = struct machine_data *mdata =
container_of(card, struct machine_data, card); container_of(card, struct machine_data, card);
struct ccsr_guts_85xx __iomem *guts; struct ccsr_guts_85xx __iomem *guts;
......
...@@ -237,7 +237,7 @@ static struct snd_soc_dai_link tosa_dai[] = { ...@@ -237,7 +237,7 @@ static struct snd_soc_dai_link tosa_dai[] = {
}, },
}; };
static int tosa_probe(struct platform_device *dev) static int tosa_probe(struct snd_soc_card *card)
{ {
int ret; int ret;
...@@ -251,7 +251,7 @@ static int tosa_probe(struct platform_device *dev) ...@@ -251,7 +251,7 @@ static int tosa_probe(struct platform_device *dev)
return ret; return ret;
} }
static int tosa_remove(struct platform_device *dev) static int tosa_remove(struct snd_soc_card *card)
{ {
gpio_free(TOSA_GPIO_L_MUTE); gpio_free(TOSA_GPIO_L_MUTE);
return 0; return 0;
......
...@@ -189,7 +189,7 @@ static struct snd_soc_dai_link zylonite_dai[] = { ...@@ -189,7 +189,7 @@ static struct snd_soc_dai_link zylonite_dai[] = {
}, },
}; };
static int zylonite_probe(struct platform_device *pdev) static int zylonite_probe(struct snd_soc_card *card)
{ {
int ret; int ret;
...@@ -216,7 +216,7 @@ static int zylonite_probe(struct platform_device *pdev) ...@@ -216,7 +216,7 @@ static int zylonite_probe(struct platform_device *pdev)
return 0; return 0;
} }
static int zylonite_remove(struct platform_device *pdev) static int zylonite_remove(struct snd_soc_card *card)
{ {
if (clk_pout) { if (clk_pout) {
clk_disable(pout); clk_disable(pout);
......
...@@ -1717,7 +1717,6 @@ static int snd_soc_init_codec_cache(struct snd_soc_codec *codec, ...@@ -1717,7 +1717,6 @@ static int snd_soc_init_codec_cache(struct snd_soc_codec *codec,
static void snd_soc_instantiate_card(struct snd_soc_card *card) static void snd_soc_instantiate_card(struct snd_soc_card *card)
{ {
struct platform_device *pdev = to_platform_device(card->dev);
struct snd_soc_codec *codec; struct snd_soc_codec *codec;
struct snd_soc_codec_conf *codec_conf; struct snd_soc_codec_conf *codec_conf;
enum snd_soc_compress_type compress_type; enum snd_soc_compress_type compress_type;
...@@ -1781,7 +1780,7 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card) ...@@ -1781,7 +1780,7 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card)
/* initialise the sound card only once */ /* initialise the sound card only once */
if (card->probe) { if (card->probe) {
ret = card->probe(pdev); ret = card->probe(card);
if (ret < 0) if (ret < 0)
goto card_probe_error; goto card_probe_error;
} }
...@@ -1842,7 +1841,7 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card) ...@@ -1842,7 +1841,7 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card)
card_probe_error: card_probe_error:
if (card->remove) if (card->remove)
card->remove(pdev); card->remove(card);
snd_card_free(card->snd_card); snd_card_free(card->snd_card);
...@@ -1888,7 +1887,6 @@ static int soc_probe(struct platform_device *pdev) ...@@ -1888,7 +1887,6 @@ static int soc_probe(struct platform_device *pdev)
static int soc_cleanup_card_resources(struct snd_soc_card *card) static int soc_cleanup_card_resources(struct snd_soc_card *card)
{ {
struct platform_device *pdev = to_platform_device(card->dev);
int i; int i;
/* make sure any delayed work runs */ /* make sure any delayed work runs */
...@@ -1909,7 +1907,7 @@ static int soc_cleanup_card_resources(struct snd_soc_card *card) ...@@ -1909,7 +1907,7 @@ static int soc_cleanup_card_resources(struct snd_soc_card *card)
/* remove the card */ /* remove the card */
if (card->remove) if (card->remove)
card->remove(pdev); card->remove(card);
kfree(card->rtd); kfree(card->rtd);
snd_card_free(card->snd_card); snd_card_free(card->snd_card);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment