summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/tpa6130a2.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/codecs/tpa6130a2.c')
-rw-r--r--sound/soc/codecs/tpa6130a2.c53
1 files changed, 16 insertions, 37 deletions
diff --git a/sound/soc/codecs/tpa6130a2.c b/sound/soc/codecs/tpa6130a2.c
index b27c396..c58bee8 100644
--- a/sound/soc/codecs/tpa6130a2.c
+++ b/sound/soc/codecs/tpa6130a2.c
@@ -30,7 +30,6 @@
#include <sound/tpa6130a2-plat.h>
#include <sound/soc.h>
#include <sound/tlv.h>
-#include <linux/of_gpio.h>
#include "tpa6130a2.h"
@@ -56,8 +55,7 @@ static int tpa6130a2_i2c_read(int reg)
struct tpa6130a2_data *data;
int val;
- if (WARN_ON(!tpa6130a2_client))
- return -EINVAL;
+ BUG_ON(tpa6130a2_client == NULL);
data = i2c_get_clientdata(tpa6130a2_client);
/* If powered off, return the cached value */
@@ -79,8 +77,7 @@ static int tpa6130a2_i2c_write(int reg, u8 value)
struct tpa6130a2_data *data;
int val = 0;
- if (WARN_ON(!tpa6130a2_client))
- return -EINVAL;
+ BUG_ON(tpa6130a2_client == NULL);
data = i2c_get_clientdata(tpa6130a2_client);
if (data->power_state) {
@@ -101,8 +98,7 @@ static u8 tpa6130a2_read(int reg)
{
struct tpa6130a2_data *data;
- if (WARN_ON(!tpa6130a2_client))
- return 0;
+ BUG_ON(tpa6130a2_client == NULL);
data = i2c_get_clientdata(tpa6130a2_client);
return data->regs[reg];
@@ -113,8 +109,7 @@ static int tpa6130a2_initialize(void)
struct tpa6130a2_data *data;
int i, ret = 0;
- if (WARN_ON(!tpa6130a2_client))
- return -EINVAL;
+ BUG_ON(tpa6130a2_client == NULL);
data = i2c_get_clientdata(tpa6130a2_client);
for (i = 1; i < TPA6130A2_REG_VERSION; i++) {
@@ -132,8 +127,7 @@ static int tpa6130a2_power(u8 power)
u8 val;
int ret = 0;
- if (WARN_ON(!tpa6130a2_client))
- return -EINVAL;
+ BUG_ON(tpa6130a2_client == NULL);
data = i2c_get_clientdata(tpa6130a2_client);
mutex_lock(&data->mutex);
@@ -199,8 +193,7 @@ static int tpa6130a2_get_volsw(struct snd_kcontrol *kcontrol,
unsigned int mask = (1 << fls(max)) - 1;
unsigned int invert = mc->invert;
- if (WARN_ON(!tpa6130a2_client))
- return -EINVAL;
+ BUG_ON(tpa6130a2_client == NULL);
data = i2c_get_clientdata(tpa6130a2_client);
mutex_lock(&data->mutex);
@@ -230,8 +223,7 @@ static int tpa6130a2_put_volsw(struct snd_kcontrol *kcontrol,
unsigned int val = (ucontrol->value.integer.value[0] & mask);
unsigned int val_reg;
- if (WARN_ON(!tpa6130a2_client))
- return -EINVAL;
+ BUG_ON(tpa6130a2_client == NULL);
data = i2c_get_clientdata(tpa6130a2_client);
if (invert)
@@ -372,33 +364,30 @@ static int tpa6130a2_probe(struct i2c_client *client,
{
struct device *dev;
struct tpa6130a2_data *data;
- struct tpa6130a2_platform_data *pdata = client->dev.platform_data;
- struct device_node *np = client->dev.of_node;
+ struct tpa6130a2_platform_data *pdata;
const char *regulator;
int ret;
dev = &client->dev;
+ if (client->dev.platform_data == NULL) {
+ dev_err(dev, "Platform data not set\n");
+ dump_stack();
+ return -ENODEV;
+ }
+
data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL);
if (data == NULL) {
dev_err(dev, "Can not allocate memory\n");
return -ENOMEM;
}
- if (pdata) {
- data->power_gpio = pdata->power_gpio;
- } else if (np) {
- data->power_gpio = of_get_named_gpio(np, "power-gpio", 0);
- } else {
- dev_err(dev, "Platform data not set\n");
- dump_stack();
- return -ENODEV;
- }
-
tpa6130a2_client = client;
i2c_set_clientdata(tpa6130a2_client, data);
+ pdata = client->dev.platform_data;
+ data->power_gpio = pdata->power_gpio;
data->id = id->driver_data;
mutex_init(&data->mutex);
@@ -477,20 +466,10 @@ static const struct i2c_device_id tpa6130a2_id[] = {
};
MODULE_DEVICE_TABLE(i2c, tpa6130a2_id);
-#if IS_ENABLED(CONFIG_OF)
-static const struct of_device_id tpa6130a2_of_match[] = {
- { .compatible = "ti,tpa6130a2", },
- { .compatible = "ti,tpa6140a2" },
- {},
-};
-MODULE_DEVICE_TABLE(of, tpa6130a2_of_match);
-#endif
-
static struct i2c_driver tpa6130a2_i2c_driver = {
.driver = {
.name = "tpa6130a2",
.owner = THIS_MODULE,
- .of_match_table = of_match_ptr(tpa6130a2_of_match),
},
.probe = tpa6130a2_probe,
.remove = tpa6130a2_remove,