ASoC: rt5640: Remove unused rt5640_platform_data
There are no in tree users of platform-data for the rt5640 codec driver, so lets remove support for it. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
e9e7a3bdcd
commit
8e3ebf5e8f
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* linux/sound/rt5640.h -- Platform data for RT5640
|
|
||||||
*
|
|
||||||
* Copyright 2011 Realtek Microelectronics
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License version 2 as
|
|
||||||
* published by the Free Software Foundation.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __LINUX_SND_RT5640_H
|
|
||||||
#define __LINUX_SND_RT5640_H
|
|
||||||
|
|
||||||
struct rt5640_platform_data {
|
|
||||||
/* IN1 & IN2 & IN3 can optionally be differential */
|
|
||||||
bool in1_diff;
|
|
||||||
bool in2_diff;
|
|
||||||
bool in3_diff;
|
|
||||||
|
|
||||||
bool dmic_en;
|
|
||||||
bool dmic1_data_pin; /* 0 = IN1P; 1 = GPIO3 */
|
|
||||||
bool dmic2_data_pin; /* 0 = IN1N; 1 = GPIO4 */
|
|
||||||
|
|
||||||
int ldo1_en; /* GPIO for LDO1_EN */
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -2138,10 +2138,6 @@ static int rt5640_probe(struct snd_soc_component *component)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rt5640->pdata.dmic_en)
|
|
||||||
rt5640_dmic_enable(component, rt5640->pdata.dmic1_data_pin,
|
|
||||||
rt5640->pdata.dmic2_data_pin);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2159,8 +2155,8 @@ static int rt5640_suspend(struct snd_soc_component *component)
|
||||||
rt5640_reset(component);
|
rt5640_reset(component);
|
||||||
regcache_cache_only(rt5640->regmap, true);
|
regcache_cache_only(rt5640->regmap, true);
|
||||||
regcache_mark_dirty(rt5640->regmap);
|
regcache_mark_dirty(rt5640->regmap);
|
||||||
if (gpio_is_valid(rt5640->pdata.ldo1_en))
|
if (gpio_is_valid(rt5640->ldo1_en))
|
||||||
gpio_set_value_cansleep(rt5640->pdata.ldo1_en, 0);
|
gpio_set_value_cansleep(rt5640->ldo1_en, 0);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2169,8 +2165,8 @@ static int rt5640_resume(struct snd_soc_component *component)
|
||||||
{
|
{
|
||||||
struct rt5640_priv *rt5640 = snd_soc_component_get_drvdata(component);
|
struct rt5640_priv *rt5640 = snd_soc_component_get_drvdata(component);
|
||||||
|
|
||||||
if (gpio_is_valid(rt5640->pdata.ldo1_en)) {
|
if (gpio_is_valid(rt5640->ldo1_en)) {
|
||||||
gpio_set_value_cansleep(rt5640->pdata.ldo1_en, 1);
|
gpio_set_value_cansleep(rt5640->ldo1_en, 1);
|
||||||
msleep(400);
|
msleep(400);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2302,22 +2298,16 @@ MODULE_DEVICE_TABLE(acpi, rt5640_acpi_match);
|
||||||
|
|
||||||
static int rt5640_parse_dt(struct rt5640_priv *rt5640, struct device_node *np)
|
static int rt5640_parse_dt(struct rt5640_priv *rt5640, struct device_node *np)
|
||||||
{
|
{
|
||||||
rt5640->pdata.in1_diff = of_property_read_bool(np,
|
rt5640->ldo1_en = of_get_named_gpio(np, "realtek,ldo1-en-gpios", 0);
|
||||||
"realtek,in1-differential");
|
|
||||||
rt5640->pdata.in2_diff = of_property_read_bool(np,
|
|
||||||
"realtek,in2-differential");
|
|
||||||
|
|
||||||
rt5640->pdata.ldo1_en = of_get_named_gpio(np,
|
|
||||||
"realtek,ldo1-en-gpios", 0);
|
|
||||||
/*
|
/*
|
||||||
* LDO1_EN is optional (it may be statically tied on the board).
|
* LDO1_EN is optional (it may be statically tied on the board).
|
||||||
* -ENOENT means that the property doesn't exist, i.e. there is no
|
* -ENOENT means that the property doesn't exist, i.e. there is no
|
||||||
* GPIO, so is not an error. Any other error code means the property
|
* GPIO, so is not an error. Any other error code means the property
|
||||||
* exists, but could not be parsed.
|
* exists, but could not be parsed.
|
||||||
*/
|
*/
|
||||||
if (!gpio_is_valid(rt5640->pdata.ldo1_en) &&
|
if (!gpio_is_valid(rt5640->ldo1_en) &&
|
||||||
(rt5640->pdata.ldo1_en != -ENOENT))
|
(rt5640->ldo1_en != -ENOENT))
|
||||||
return rt5640->pdata.ldo1_en;
|
return rt5640->ldo1_en;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2325,7 +2315,6 @@ static int rt5640_parse_dt(struct rt5640_priv *rt5640, struct device_node *np)
|
||||||
static int rt5640_i2c_probe(struct i2c_client *i2c,
|
static int rt5640_i2c_probe(struct i2c_client *i2c,
|
||||||
const struct i2c_device_id *id)
|
const struct i2c_device_id *id)
|
||||||
{
|
{
|
||||||
struct rt5640_platform_data *pdata = dev_get_platdata(&i2c->dev);
|
|
||||||
struct rt5640_priv *rt5640;
|
struct rt5640_priv *rt5640;
|
||||||
int ret;
|
int ret;
|
||||||
unsigned int val;
|
unsigned int val;
|
||||||
|
@ -2337,22 +2326,12 @@ static int rt5640_i2c_probe(struct i2c_client *i2c,
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
i2c_set_clientdata(i2c, rt5640);
|
i2c_set_clientdata(i2c, rt5640);
|
||||||
|
|
||||||
if (pdata) {
|
if (i2c->dev.of_node) {
|
||||||
rt5640->pdata = *pdata;
|
|
||||||
/*
|
|
||||||
* Translate zero'd out (default) pdata value to an invalid
|
|
||||||
* GPIO ID. This makes the pdata and DT paths consistent in
|
|
||||||
* terms of the value left in this field when no GPIO is
|
|
||||||
* specified, but means we can't actually use GPIO 0.
|
|
||||||
*/
|
|
||||||
if (!rt5640->pdata.ldo1_en)
|
|
||||||
rt5640->pdata.ldo1_en = -EINVAL;
|
|
||||||
} else if (i2c->dev.of_node) {
|
|
||||||
ret = rt5640_parse_dt(rt5640, i2c->dev.of_node);
|
ret = rt5640_parse_dt(rt5640, i2c->dev.of_node);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
} else
|
} else
|
||||||
rt5640->pdata.ldo1_en = -EINVAL;
|
rt5640->ldo1_en = -EINVAL;
|
||||||
|
|
||||||
rt5640->regmap = devm_regmap_init_i2c(i2c, &rt5640_regmap);
|
rt5640->regmap = devm_regmap_init_i2c(i2c, &rt5640_regmap);
|
||||||
if (IS_ERR(rt5640->regmap)) {
|
if (IS_ERR(rt5640->regmap)) {
|
||||||
|
@ -2362,13 +2341,13 @@ static int rt5640_i2c_probe(struct i2c_client *i2c,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gpio_is_valid(rt5640->pdata.ldo1_en)) {
|
if (gpio_is_valid(rt5640->ldo1_en)) {
|
||||||
ret = devm_gpio_request_one(&i2c->dev, rt5640->pdata.ldo1_en,
|
ret = devm_gpio_request_one(&i2c->dev, rt5640->ldo1_en,
|
||||||
GPIOF_OUT_INIT_HIGH,
|
GPIOF_OUT_INIT_HIGH,
|
||||||
"RT5640 LDO1_EN");
|
"RT5640 LDO1_EN");
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(&i2c->dev, "Failed to request LDO1_EN %d: %d\n",
|
dev_err(&i2c->dev, "Failed to request LDO1_EN %d: %d\n",
|
||||||
rt5640->pdata.ldo1_en, ret);
|
rt5640->ldo1_en, ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
msleep(400);
|
msleep(400);
|
||||||
|
@ -2391,15 +2370,15 @@ static int rt5640_i2c_probe(struct i2c_client *i2c,
|
||||||
regmap_update_bits(rt5640->regmap, RT5640_DUMMY1,
|
regmap_update_bits(rt5640->regmap, RT5640_DUMMY1,
|
||||||
RT5640_MCLK_DET, RT5640_MCLK_DET);
|
RT5640_MCLK_DET, RT5640_MCLK_DET);
|
||||||
|
|
||||||
if (rt5640->pdata.in1_diff)
|
if (device_property_read_bool(&i2c->dev, "realtek,in1-differential"))
|
||||||
regmap_update_bits(rt5640->regmap, RT5640_IN1_IN2,
|
regmap_update_bits(rt5640->regmap, RT5640_IN1_IN2,
|
||||||
RT5640_IN_DF1, RT5640_IN_DF1);
|
RT5640_IN_DF1, RT5640_IN_DF1);
|
||||||
|
|
||||||
if (rt5640->pdata.in2_diff)
|
if (device_property_read_bool(&i2c->dev, "realtek,in2-differential"))
|
||||||
regmap_update_bits(rt5640->regmap, RT5640_IN3_IN4,
|
regmap_update_bits(rt5640->regmap, RT5640_IN3_IN4,
|
||||||
RT5640_IN_DF2, RT5640_IN_DF2);
|
RT5640_IN_DF2, RT5640_IN_DF2);
|
||||||
|
|
||||||
if (rt5640->pdata.in3_diff)
|
if (device_property_read_bool(&i2c->dev, "realtek,in3-differential"))
|
||||||
regmap_update_bits(rt5640->regmap, RT5640_IN1_IN2,
|
regmap_update_bits(rt5640->regmap, RT5640_IN1_IN2,
|
||||||
RT5640_IN_DF2, RT5640_IN_DF2);
|
RT5640_IN_DF2, RT5640_IN_DF2);
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
#define _RT5640_H
|
#define _RT5640_H
|
||||||
|
|
||||||
#include <linux/clk.h>
|
#include <linux/clk.h>
|
||||||
#include <sound/rt5640.h>
|
|
||||||
|
|
||||||
/* Info */
|
/* Info */
|
||||||
#define RT5640_RESET 0x00
|
#define RT5640_RESET 0x00
|
||||||
|
@ -2103,10 +2102,10 @@ enum {
|
||||||
|
|
||||||
struct rt5640_priv {
|
struct rt5640_priv {
|
||||||
struct snd_soc_component *component;
|
struct snd_soc_component *component;
|
||||||
struct rt5640_platform_data pdata;
|
|
||||||
struct regmap *regmap;
|
struct regmap *regmap;
|
||||||
struct clk *mclk;
|
struct clk *mclk;
|
||||||
|
|
||||||
|
int ldo1_en; /* GPIO for LDO1_EN */
|
||||||
int sysclk;
|
int sysclk;
|
||||||
int sysclk_src;
|
int sysclk_src;
|
||||||
int lrck[RT5640_AIFS];
|
int lrck[RT5640_AIFS];
|
||||||
|
|
Loading…
Reference in New Issue