sound: Use the general GpioOps paramater for max98357a
[depthcharge.git] / src / drivers / sound / max98357a.c
1 /*
2  * max98357a.c -- MAX98357A Audio driver
3  *
4  * Copyright (C) 2015 Google Inc.
5  * Copyright (C) 2015 Intel Corporation.
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; version 2 of the License.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
14  * GNU General Public License for more details.
15  */
16
17 #include <libpayload.h>
18
19 #include "base/container_of.h"
20 #include "max98357a.h"
21
22 static int max98357a_enable(SoundRouteComponentOps *me)
23 {
24         max98357aCodec *codec = container_of(me, max98357aCodec, component.ops);
25
26         return gpio_set(codec->sdmode_gpio, 1);
27 }
28
29 max98357aCodec *new_max98357a_codec(GpioOps *ops)
30 {
31         max98357aCodec *codec = xzalloc(sizeof(*codec));
32
33         codec->sdmode_gpio = ops;
34         codec->component.ops.enable = &max98357a_enable;
35
36         return codec;
37 }