adg.c (7c89746eede3acbbb67f848a741f8bca412986af) adg.c (5ba17b42e1755c3c5cfe96370cfd47f34d01f62c)
1/*
2 * Helper routines for R-Car sound ADG.
3 *
4 * Copyright (C) 2013 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.

--- 505 unchanged lines hidden (view full) ---

514
515 adg = devm_kzalloc(dev, sizeof(*adg), GFP_KERNEL);
516 if (!adg) {
517 dev_err(dev, "ADG allocate failed\n");
518 return -ENOMEM;
519 }
520
521 rsnd_mod_init(priv, &adg->mod, &adg_ops,
1/*
2 * Helper routines for R-Car sound ADG.
3 *
4 * Copyright (C) 2013 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.

--- 505 unchanged lines hidden (view full) ---

514
515 adg = devm_kzalloc(dev, sizeof(*adg), GFP_KERNEL);
516 if (!adg) {
517 dev_err(dev, "ADG allocate failed\n");
518 return -ENOMEM;
519 }
520
521 rsnd_mod_init(priv, &adg->mod, &adg_ops,
522 NULL, 0, 0);
522 NULL, NULL, 0, 0);
523
524 rsnd_adg_get_clkin(priv, adg);
525 rsnd_adg_get_clkout(priv, adg);
526
527 priv->adg = adg;
528
529 return 0;
530}
531
532void rsnd_adg_remove(struct rsnd_priv *priv)
533{
534 struct rsnd_adg *adg = rsnd_priv_to_adg(priv);
535 struct clk *clk;
536 int i;
537
538 for_each_rsnd_clk(clk, adg, i) {
539 clk_disable_unprepare(clk);
540 }
541}
523
524 rsnd_adg_get_clkin(priv, adg);
525 rsnd_adg_get_clkout(priv, adg);
526
527 priv->adg = adg;
528
529 return 0;
530}
531
532void rsnd_adg_remove(struct rsnd_priv *priv)
533{
534 struct rsnd_adg *adg = rsnd_priv_to_adg(priv);
535 struct clk *clk;
536 int i;
537
538 for_each_rsnd_clk(clk, adg, i) {
539 clk_disable_unprepare(clk);
540 }
541}