Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb762a5b authored by Jesse Marroquin's avatar Jesse Marroquin Committed by Mark Brown
Browse files

ASoC: Add support for MAX98089 CODEC



This patch adds initial support for the MAX98089 CODEC.

Signed-off-by: default avatarJesse Marroquin <jesse.marroquin@maxim-ic.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent bedad0ca
Loading
Loading
Loading
Loading
+10 −1
Original line number Original line Diff line number Diff line
@@ -28,6 +28,11 @@
#include <sound/max98088.h>
#include <sound/max98088.h>
#include "max98088.h"
#include "max98088.h"


enum max98088_type {
       MAX98088,
       MAX98089,
};

struct max98088_cdata {
struct max98088_cdata {
       unsigned int rate;
       unsigned int rate;
       unsigned int fmt;
       unsigned int fmt;
@@ -36,6 +41,7 @@ struct max98088_cdata {


struct max98088_priv {
struct max98088_priv {
       u8 reg_cache[M98088_REG_CNT];
       u8 reg_cache[M98088_REG_CNT];
       enum max98088_type devtype;
       void *control_data;
       void *control_data;
       struct max98088_pdata *pdata;
       struct max98088_pdata *pdata;
       unsigned int sysclk;
       unsigned int sysclk;
@@ -2040,6 +2046,8 @@ static int max98088_i2c_probe(struct i2c_client *i2c,
       if (max98088 == NULL)
       if (max98088 == NULL)
               return -ENOMEM;
               return -ENOMEM;


       max98088->devtype = id->driver_data;

       i2c_set_clientdata(i2c, max98088);
       i2c_set_clientdata(i2c, max98088);
       max98088->control_data = i2c;
       max98088->control_data = i2c;
       max98088->pdata = i2c->dev.platform_data;
       max98088->pdata = i2c->dev.platform_data;
@@ -2059,7 +2067,8 @@ static int __devexit max98088_i2c_remove(struct i2c_client *client)
}
}


static const struct i2c_device_id max98088_i2c_id[] = {
static const struct i2c_device_id max98088_i2c_id[] = {
       { "max98088", 0 },
       { "max98088", MAX98088 },
       { "max98089", MAX98089 },
       { }
       { }
};
};
MODULE_DEVICE_TABLE(i2c, max98088_i2c_id);
MODULE_DEVICE_TABLE(i2c, max98088_i2c_id);