ASoC: remaining i2c_match_id i2c probe changes
Merge series from Stephen Kitt <steve@sk2.org>: This series covers all the remaining changes to migrate sound/soc/codecs i2c probes to probe_new, where the const struct i2c_client * argument is still used. Instead of relying on the parameter passed in, i2c_match_id is used instead. With this set of patches, all the sound/soc/codecs i2c probes use the new probe definition. Changes since v1: two missing files were added. Stephen Kitt (7): ASoC: ak*: use i2c_match_id and simple i2c probe ASoC: alc56*: use i2c_match_id and simple i2c probe ASoC: max980*: use i2c_match_id and simple i2c probe ASoC: pcm186x: use i2c_match_id and simple i2c probe ASoC: tas*: use i2c_match_id and simple i2c probe ASoC: tlv320*: use i2c_match_id and simple i2c probe ASoC: tpa6130: use i2c_match_id and simple i2c probe sound/soc/codecs/ak4613.c | 10 +++++---- sound/soc/codecs/ak4642.c | 8 ++++--- sound/soc/codecs/alc5623.c | 24 +++++++++++---------- sound/soc/codecs/alc5632.c | 20 +++++++++-------- sound/soc/codecs/max98088.c | 21 +++++++++--------- sound/soc/codecs/max98090.c | 23 ++++++++++---------- sound/soc/codecs/max98095.c | 19 +++++++++-------- sound/soc/codecs/pcm186x-i2c.c | 24 ++++++++++----------- sound/soc/codecs/tas2562.c | 25 +++++++++++----------- sound/soc/codecs/tas571x.c | 11 ++++++---- sound/soc/codecs/tas5720.c | 21 +++++++++--------- sound/soc/codecs/tlv320adc3xxx.c | 21 +++++++++--------- sound/soc/codecs/tlv320aic31xx.c | 32 ++++++++++++++-------------- sound/soc/codecs/tlv320aic32x4-i2c.c | 11 ++++++---- sound/soc/codecs/tlv320aic3x-i2c.c | 25 +++++++++++----------- sound/soc/codecs/tpa6130a2.c | 19 +++++++++-------- 16 files changed, 168 insertions(+), 146 deletions(-) base-commit: 5d763a740e5b24e4a2ca04317255e7e941876338 -- 2.27.0
This commit is contained in:
commit
b34a068c02
@ -876,8 +876,7 @@ static void ak4613_parse_of(struct ak4613_priv *priv,
|
||||
AK4613_CONFIG_SDTI_set(priv, sdti_num);
|
||||
}
|
||||
|
||||
static int ak4613_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *id)
|
||||
static int ak4613_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
struct device *dev = &i2c->dev;
|
||||
struct device_node *np = dev->of_node;
|
||||
@ -888,8 +887,11 @@ static int ak4613_i2c_probe(struct i2c_client *i2c,
|
||||
regmap_cfg = NULL;
|
||||
if (np)
|
||||
regmap_cfg = of_device_get_match_data(dev);
|
||||
else
|
||||
else {
|
||||
const struct i2c_device_id *id =
|
||||
i2c_match_id(ak4613_i2c_id, i2c);
|
||||
regmap_cfg = (const struct regmap_config *)id->driver_data;
|
||||
}
|
||||
|
||||
if (!regmap_cfg)
|
||||
return -EINVAL;
|
||||
@ -927,7 +929,7 @@ static struct i2c_driver ak4613_i2c_driver = {
|
||||
.name = "ak4613-codec",
|
||||
.of_match_table = ak4613_of_match,
|
||||
},
|
||||
.probe = ak4613_i2c_probe,
|
||||
.probe_new = ak4613_i2c_probe,
|
||||
.remove = ak4613_i2c_remove,
|
||||
.id_table = ak4613_i2c_id,
|
||||
};
|
||||
|
@ -630,8 +630,8 @@ static struct clk *ak4642_of_parse_mcko(struct device *dev)
|
||||
#endif
|
||||
|
||||
static const struct of_device_id ak4642_of_match[];
|
||||
static int ak4642_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *id)
|
||||
static const struct i2c_device_id ak4642_i2c_id[];
|
||||
static int ak4642_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
struct device *dev = &i2c->dev;
|
||||
struct device_node *np = dev->of_node;
|
||||
@ -651,6 +651,8 @@ static int ak4642_i2c_probe(struct i2c_client *i2c,
|
||||
if (of_id)
|
||||
drvdata = of_id->data;
|
||||
} else {
|
||||
const struct i2c_device_id *id =
|
||||
i2c_match_id(ak4642_i2c_id, i2c);
|
||||
drvdata = (const struct ak4642_drvdata *)id->driver_data;
|
||||
}
|
||||
|
||||
@ -697,7 +699,7 @@ static struct i2c_driver ak4642_i2c_driver = {
|
||||
.name = "ak4642-codec",
|
||||
.of_match_table = ak4642_of_match,
|
||||
},
|
||||
.probe = ak4642_i2c_probe,
|
||||
.probe_new = ak4642_i2c_probe,
|
||||
.id_table = ak4642_i2c_id,
|
||||
};
|
||||
|
||||
|
@ -968,14 +968,21 @@ static const struct regmap_config alc5623_regmap = {
|
||||
.cache_type = REGCACHE_RBTREE,
|
||||
};
|
||||
|
||||
static const struct i2c_device_id alc5623_i2c_table[] = {
|
||||
{"alc5621", 0x21},
|
||||
{"alc5622", 0x22},
|
||||
{"alc5623", 0x23},
|
||||
{}
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, alc5623_i2c_table);
|
||||
|
||||
/*
|
||||
* ALC5623 2 wire address is determined by A1 pin
|
||||
* state during powerup.
|
||||
* low = 0x1a
|
||||
* high = 0x1b
|
||||
*/
|
||||
static int alc5623_i2c_probe(struct i2c_client *client,
|
||||
const struct i2c_device_id *id)
|
||||
static int alc5623_i2c_probe(struct i2c_client *client)
|
||||
{
|
||||
struct alc5623_platform_data *pdata;
|
||||
struct alc5623_priv *alc5623;
|
||||
@ -983,6 +990,7 @@ static int alc5623_i2c_probe(struct i2c_client *client,
|
||||
unsigned int vid1, vid2;
|
||||
int ret;
|
||||
u32 val32;
|
||||
const struct i2c_device_id *id;
|
||||
|
||||
alc5623 = devm_kzalloc(&client->dev, sizeof(struct alc5623_priv),
|
||||
GFP_KERNEL);
|
||||
@ -1009,6 +1017,8 @@ static int alc5623_i2c_probe(struct i2c_client *client,
|
||||
}
|
||||
vid2 >>= 8;
|
||||
|
||||
id = i2c_match_id(alc5623_i2c_table, client);
|
||||
|
||||
if ((vid1 != 0x10ec) || (vid2 != id->driver_data)) {
|
||||
dev_err(&client->dev, "unknown or wrong codec\n");
|
||||
dev_err(&client->dev, "Expected %x:%lx, got %x:%x\n",
|
||||
@ -1060,14 +1070,6 @@ static int alc5623_i2c_probe(struct i2c_client *client,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct i2c_device_id alc5623_i2c_table[] = {
|
||||
{"alc5621", 0x21},
|
||||
{"alc5622", 0x22},
|
||||
{"alc5623", 0x23},
|
||||
{}
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, alc5623_i2c_table);
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id alc5623_of_match[] = {
|
||||
{ .compatible = "realtek,alc5623", },
|
||||
@ -1082,7 +1084,7 @@ static struct i2c_driver alc5623_i2c_driver = {
|
||||
.name = "alc562x-codec",
|
||||
.of_match_table = of_match_ptr(alc5623_of_match),
|
||||
},
|
||||
.probe = alc5623_i2c_probe,
|
||||
.probe_new = alc5623_i2c_probe,
|
||||
.id_table = alc5623_i2c_table,
|
||||
};
|
||||
|
||||
|
@ -1092,18 +1092,24 @@ static const struct regmap_config alc5632_regmap = {
|
||||
.cache_type = REGCACHE_RBTREE,
|
||||
};
|
||||
|
||||
static const struct i2c_device_id alc5632_i2c_table[] = {
|
||||
{"alc5632", 0x5c},
|
||||
{}
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, alc5632_i2c_table);
|
||||
|
||||
/*
|
||||
* alc5632 2 wire address is determined by A1 pin
|
||||
* state during powerup.
|
||||
* low = 0x1a
|
||||
* high = 0x1b
|
||||
*/
|
||||
static int alc5632_i2c_probe(struct i2c_client *client,
|
||||
const struct i2c_device_id *id)
|
||||
static int alc5632_i2c_probe(struct i2c_client *client)
|
||||
{
|
||||
struct alc5632_priv *alc5632;
|
||||
int ret, ret1, ret2;
|
||||
unsigned int vid1, vid2;
|
||||
const struct i2c_device_id *id;
|
||||
|
||||
alc5632 = devm_kzalloc(&client->dev,
|
||||
sizeof(struct alc5632_priv), GFP_KERNEL);
|
||||
@ -1129,6 +1135,8 @@ static int alc5632_i2c_probe(struct i2c_client *client,
|
||||
|
||||
vid2 >>= 8;
|
||||
|
||||
id = i2c_match_id(alc5632_i2c_table, client);
|
||||
|
||||
if ((vid1 != 0x10EC) || (vid2 != id->driver_data)) {
|
||||
dev_err(&client->dev,
|
||||
"Device is not a ALC5632: VID1=0x%x, VID2=0x%x\n", vid1, vid2);
|
||||
@ -1161,12 +1169,6 @@ static int alc5632_i2c_probe(struct i2c_client *client,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct i2c_device_id alc5632_i2c_table[] = {
|
||||
{"alc5632", 0x5c},
|
||||
{}
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, alc5632_i2c_table);
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id alc5632_of_match[] = {
|
||||
{ .compatible = "realtek,alc5632", },
|
||||
@ -1181,7 +1183,7 @@ static struct i2c_driver alc5632_i2c_driver = {
|
||||
.name = "alc5632",
|
||||
.of_match_table = of_match_ptr(alc5632_of_match),
|
||||
},
|
||||
.probe = alc5632_i2c_probe,
|
||||
.probe_new = alc5632_i2c_probe,
|
||||
.id_table = alc5632_i2c_table,
|
||||
};
|
||||
|
||||
|
@ -1737,11 +1737,18 @@ static const struct snd_soc_component_driver soc_component_dev_max98088 = {
|
||||
.non_legacy_dai_naming = 1,
|
||||
};
|
||||
|
||||
static int max98088_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *id)
|
||||
static const struct i2c_device_id max98088_i2c_id[] = {
|
||||
{ "max98088", MAX98088 },
|
||||
{ "max98089", MAX98089 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, max98088_i2c_id);
|
||||
|
||||
static int max98088_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
struct max98088_priv *max98088;
|
||||
int ret;
|
||||
const struct i2c_device_id *id;
|
||||
|
||||
max98088 = devm_kzalloc(&i2c->dev, sizeof(struct max98088_priv),
|
||||
GFP_KERNEL);
|
||||
@ -1757,6 +1764,7 @@ static int max98088_i2c_probe(struct i2c_client *i2c,
|
||||
if (PTR_ERR(max98088->mclk) == -EPROBE_DEFER)
|
||||
return PTR_ERR(max98088->mclk);
|
||||
|
||||
id = i2c_match_id(max98088_i2c_id, i2c);
|
||||
max98088->devtype = id->driver_data;
|
||||
|
||||
i2c_set_clientdata(i2c, max98088);
|
||||
@ -1767,13 +1775,6 @@ static int max98088_i2c_probe(struct i2c_client *i2c,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct i2c_device_id max98088_i2c_id[] = {
|
||||
{ "max98088", MAX98088 },
|
||||
{ "max98089", MAX98089 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, max98088_i2c_id);
|
||||
|
||||
#if defined(CONFIG_OF)
|
||||
static const struct of_device_id max98088_of_match[] = {
|
||||
{ .compatible = "maxim,max98088" },
|
||||
@ -1788,7 +1789,7 @@ static struct i2c_driver max98088_i2c_driver = {
|
||||
.name = "max98088",
|
||||
.of_match_table = of_match_ptr(max98088_of_match),
|
||||
},
|
||||
.probe = max98088_i2c_probe,
|
||||
.probe_new = max98088_i2c_probe,
|
||||
.id_table = max98088_i2c_id,
|
||||
};
|
||||
|
||||
|
@ -2529,8 +2529,14 @@ static const struct regmap_config max98090_regmap = {
|
||||
.cache_type = REGCACHE_RBTREE,
|
||||
};
|
||||
|
||||
static int max98090_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *i2c_id)
|
||||
static const struct i2c_device_id max98090_i2c_id[] = {
|
||||
{ "max98090", MAX98090 },
|
||||
{ "max98091", MAX98091 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, max98090_i2c_id);
|
||||
|
||||
static int max98090_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
struct max98090_priv *max98090;
|
||||
const struct acpi_device_id *acpi_id;
|
||||
@ -2552,7 +2558,9 @@ static int max98090_i2c_probe(struct i2c_client *i2c,
|
||||
return -EINVAL;
|
||||
}
|
||||
driver_data = acpi_id->driver_data;
|
||||
} else if (i2c_id) {
|
||||
} else {
|
||||
const struct i2c_device_id *i2c_id =
|
||||
i2c_match_id(max98090_i2c_id, i2c);
|
||||
driver_data = i2c_id->driver_data;
|
||||
}
|
||||
|
||||
@ -2659,13 +2667,6 @@ static const struct dev_pm_ops max98090_pm = {
|
||||
SET_SYSTEM_SLEEP_PM_OPS(NULL, max98090_resume)
|
||||
};
|
||||
|
||||
static const struct i2c_device_id max98090_i2c_id[] = {
|
||||
{ "max98090", MAX98090 },
|
||||
{ "max98091", MAX98091 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, max98090_i2c_id);
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id max98090_of_match[] = {
|
||||
{ .compatible = "maxim,max98090", },
|
||||
@ -2690,7 +2691,7 @@ static struct i2c_driver max98090_i2c_driver = {
|
||||
.of_match_table = of_match_ptr(max98090_of_match),
|
||||
.acpi_match_table = ACPI_PTR(max98090_acpi_match),
|
||||
},
|
||||
.probe = max98090_i2c_probe,
|
||||
.probe_new = max98090_i2c_probe,
|
||||
.shutdown = max98090_i2c_shutdown,
|
||||
.remove = max98090_i2c_remove,
|
||||
.id_table = max98090_i2c_id,
|
||||
|
@ -2106,11 +2106,17 @@ static const struct snd_soc_component_driver soc_component_dev_max98095 = {
|
||||
.non_legacy_dai_naming = 1,
|
||||
};
|
||||
|
||||
static int max98095_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *id)
|
||||
static const struct i2c_device_id max98095_i2c_id[] = {
|
||||
{ "max98095", MAX98095 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, max98095_i2c_id);
|
||||
|
||||
static int max98095_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
struct max98095_priv *max98095;
|
||||
int ret;
|
||||
const struct i2c_device_id *id;
|
||||
|
||||
max98095 = devm_kzalloc(&i2c->dev, sizeof(struct max98095_priv),
|
||||
GFP_KERNEL);
|
||||
@ -2126,6 +2132,7 @@ static int max98095_i2c_probe(struct i2c_client *i2c,
|
||||
return ret;
|
||||
}
|
||||
|
||||
id = i2c_match_id(max98095_i2c_id, i2c);
|
||||
max98095->devtype = id->driver_data;
|
||||
i2c_set_clientdata(i2c, max98095);
|
||||
max98095->pdata = i2c->dev.platform_data;
|
||||
@ -2136,12 +2143,6 @@ static int max98095_i2c_probe(struct i2c_client *i2c,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct i2c_device_id max98095_i2c_id[] = {
|
||||
{ "max98095", MAX98095 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, max98095_i2c_id);
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id max98095_of_match[] = {
|
||||
{ .compatible = "maxim,max98095", },
|
||||
@ -2155,7 +2156,7 @@ static struct i2c_driver max98095_i2c_driver = {
|
||||
.name = "max98095",
|
||||
.of_match_table = of_match_ptr(max98095_of_match),
|
||||
},
|
||||
.probe = max98095_i2c_probe,
|
||||
.probe_new = max98095_i2c_probe,
|
||||
.id_table = max98095_i2c_id,
|
||||
};
|
||||
|
||||
|
@ -22,9 +22,18 @@ static const struct of_device_id pcm186x_of_match[] = {
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, pcm186x_of_match);
|
||||
|
||||
static int pcm186x_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *id)
|
||||
static const struct i2c_device_id pcm186x_i2c_id[] = {
|
||||
{ "pcm1862", PCM1862 },
|
||||
{ "pcm1863", PCM1863 },
|
||||
{ "pcm1864", PCM1864 },
|
||||
{ "pcm1865", PCM1865 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, pcm186x_i2c_id);
|
||||
|
||||
static int pcm186x_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
const struct i2c_device_id *id = i2c_match_id(pcm186x_i2c_id, i2c);
|
||||
const enum pcm186x_type type = (enum pcm186x_type)id->driver_data;
|
||||
int irq = i2c->irq;
|
||||
struct regmap *regmap;
|
||||
@ -36,17 +45,8 @@ static int pcm186x_i2c_probe(struct i2c_client *i2c,
|
||||
return pcm186x_probe(&i2c->dev, type, irq, regmap);
|
||||
}
|
||||
|
||||
static const struct i2c_device_id pcm186x_i2c_id[] = {
|
||||
{ "pcm1862", PCM1862 },
|
||||
{ "pcm1863", PCM1863 },
|
||||
{ "pcm1864", PCM1864 },
|
||||
{ "pcm1865", PCM1865 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, pcm186x_i2c_id);
|
||||
|
||||
static struct i2c_driver pcm186x_i2c_driver = {
|
||||
.probe = pcm186x_i2c_probe,
|
||||
.probe_new = pcm186x_i2c_probe,
|
||||
.id_table = pcm186x_i2c_id,
|
||||
.driver = {
|
||||
.name = "pcm186x",
|
||||
|
@ -754,17 +754,27 @@ static int tas2562_parse_dt(struct tas2562_data *tas2562)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int tas2562_probe(struct i2c_client *client,
|
||||
const struct i2c_device_id *id)
|
||||
static const struct i2c_device_id tas2562_id[] = {
|
||||
{ "tas2562", TAS2562 },
|
||||
{ "tas2563", TAS2563 },
|
||||
{ "tas2564", TAS2564 },
|
||||
{ "tas2110", TAS2110 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, tas2562_id);
|
||||
|
||||
static int tas2562_probe(struct i2c_client *client)
|
||||
{
|
||||
struct device *dev = &client->dev;
|
||||
struct tas2562_data *data;
|
||||
int ret;
|
||||
const struct i2c_device_id *id;
|
||||
|
||||
data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
|
||||
if (!data)
|
||||
return -ENOMEM;
|
||||
|
||||
id = i2c_match_id(tas2562_id, client);
|
||||
data->client = client;
|
||||
data->dev = &client->dev;
|
||||
data->model_id = id->driver_data;
|
||||
@ -792,15 +802,6 @@ static int tas2562_probe(struct i2c_client *client,
|
||||
|
||||
}
|
||||
|
||||
static const struct i2c_device_id tas2562_id[] = {
|
||||
{ "tas2562", TAS2562 },
|
||||
{ "tas2563", TAS2563 },
|
||||
{ "tas2564", TAS2564 },
|
||||
{ "tas2110", TAS2110 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, tas2562_id);
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id tas2562_of_match[] = {
|
||||
{ .compatible = "ti,tas2562", },
|
||||
@ -817,7 +818,7 @@ static struct i2c_driver tas2562_i2c_driver = {
|
||||
.name = "tas2562",
|
||||
.of_match_table = of_match_ptr(tas2562_of_match),
|
||||
},
|
||||
.probe = tas2562_probe,
|
||||
.probe_new = tas2562_probe,
|
||||
.id_table = tas2562_id,
|
||||
};
|
||||
|
||||
|
@ -774,9 +774,9 @@ static struct snd_soc_dai_driver tas571x_dai = {
|
||||
};
|
||||
|
||||
static const struct of_device_id tas571x_of_match[] __maybe_unused;
|
||||
static const struct i2c_device_id tas571x_i2c_id[];
|
||||
|
||||
static int tas571x_i2c_probe(struct i2c_client *client,
|
||||
const struct i2c_device_id *id)
|
||||
static int tas571x_i2c_probe(struct i2c_client *client)
|
||||
{
|
||||
struct tas571x_private *priv;
|
||||
struct device *dev = &client->dev;
|
||||
@ -791,8 +791,11 @@ static int tas571x_i2c_probe(struct i2c_client *client,
|
||||
of_id = of_match_device(tas571x_of_match, dev);
|
||||
if (of_id)
|
||||
priv->chip = of_id->data;
|
||||
else
|
||||
else {
|
||||
const struct i2c_device_id *id =
|
||||
i2c_match_id(tas571x_i2c_id, client);
|
||||
priv->chip = (void *) id->driver_data;
|
||||
}
|
||||
|
||||
priv->mclk = devm_clk_get(dev, "mclk");
|
||||
if (IS_ERR(priv->mclk) && PTR_ERR(priv->mclk) != -ENOENT) {
|
||||
@ -914,7 +917,7 @@ static struct i2c_driver tas571x_i2c_driver = {
|
||||
.name = "tas571x",
|
||||
.of_match_table = of_match_ptr(tas571x_of_match),
|
||||
},
|
||||
.probe = tas571x_i2c_probe,
|
||||
.probe_new = tas571x_i2c_probe,
|
||||
.remove = tas571x_i2c_remove,
|
||||
.id_table = tas571x_i2c_id,
|
||||
};
|
||||
|
@ -633,12 +633,19 @@ static struct snd_soc_dai_driver tas5720_dai[] = {
|
||||
},
|
||||
};
|
||||
|
||||
static int tas5720_probe(struct i2c_client *client,
|
||||
const struct i2c_device_id *id)
|
||||
static const struct i2c_device_id tas5720_id[] = {
|
||||
{ "tas5720", TAS5720 },
|
||||
{ "tas5722", TAS5722 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, tas5720_id);
|
||||
|
||||
static int tas5720_probe(struct i2c_client *client)
|
||||
{
|
||||
struct device *dev = &client->dev;
|
||||
struct tas5720_data *data;
|
||||
const struct regmap_config *regmap_config;
|
||||
const struct i2c_device_id *id;
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
@ -646,6 +653,7 @@ static int tas5720_probe(struct i2c_client *client,
|
||||
if (!data)
|
||||
return -ENOMEM;
|
||||
|
||||
id = i2c_match_id(tas5720_id, client);
|
||||
data->tas5720_client = client;
|
||||
data->devtype = id->driver_data;
|
||||
|
||||
@ -704,13 +712,6 @@ static int tas5720_probe(struct i2c_client *client,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct i2c_device_id tas5720_id[] = {
|
||||
{ "tas5720", TAS5720 },
|
||||
{ "tas5722", TAS5722 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, tas5720_id);
|
||||
|
||||
#if IS_ENABLED(CONFIG_OF)
|
||||
static const struct of_device_id tas5720_of_match[] = {
|
||||
{ .compatible = "ti,tas5720", },
|
||||
@ -725,7 +726,7 @@ static struct i2c_driver tas5720_i2c_driver = {
|
||||
.name = "tas5720",
|
||||
.of_match_table = of_match_ptr(tas5720_of_match),
|
||||
},
|
||||
.probe = tas5720_probe,
|
||||
.probe_new = tas5720_probe,
|
||||
.id_table = tas5720_id,
|
||||
};
|
||||
|
||||
|
@ -1337,11 +1337,18 @@ static const struct snd_soc_component_driver soc_component_dev_adc3xxx = {
|
||||
.num_dapm_routes = ARRAY_SIZE(adc3xxx_intercon),
|
||||
};
|
||||
|
||||
static int adc3xxx_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *id)
|
||||
static const struct i2c_device_id adc3xxx_i2c_id[] = {
|
||||
{ "tlv320adc3001", ADC3001 },
|
||||
{ "tlv320adc3101", ADC3101 },
|
||||
{}
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, adc3xxx_i2c_id);
|
||||
|
||||
static int adc3xxx_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
struct device *dev = &i2c->dev;
|
||||
struct adc3xxx *adc3xxx = NULL;
|
||||
const struct i2c_device_id *id;
|
||||
int ret;
|
||||
|
||||
adc3xxx = devm_kzalloc(dev, sizeof(struct adc3xxx), GFP_KERNEL);
|
||||
@ -1394,6 +1401,7 @@ static int adc3xxx_i2c_probe(struct i2c_client *i2c,
|
||||
|
||||
i2c_set_clientdata(i2c, adc3xxx);
|
||||
|
||||
id = i2c_match_id(adc3xxx_i2c_id, i2c);
|
||||
adc3xxx->type = id->driver_data;
|
||||
|
||||
/* Reset codec chip */
|
||||
@ -1436,19 +1444,12 @@ static const struct of_device_id tlv320adc3xxx_of_match[] = {
|
||||
};
|
||||
MODULE_DEVICE_TABLE(of, tlv320adc3xxx_of_match);
|
||||
|
||||
static const struct i2c_device_id adc3xxx_i2c_id[] = {
|
||||
{ "tlv320adc3001", ADC3001 },
|
||||
{ "tlv320adc3101", ADC3101 },
|
||||
{}
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, adc3xxx_i2c_id);
|
||||
|
||||
static struct i2c_driver adc3xxx_i2c_driver = {
|
||||
.driver = {
|
||||
.name = "tlv320adc3xxx-codec",
|
||||
.of_match_table = tlv320adc3xxx_of_match,
|
||||
},
|
||||
.probe = adc3xxx_i2c_probe,
|
||||
.probe_new = adc3xxx_i2c_probe,
|
||||
.remove = adc3xxx_i2c_remove,
|
||||
.id_table = adc3xxx_i2c_id,
|
||||
};
|
||||
|
@ -1628,11 +1628,24 @@ static void aic31xx_configure_ocmv(struct aic31xx_priv *priv)
|
||||
}
|
||||
}
|
||||
|
||||
static int aic31xx_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *id)
|
||||
static const struct i2c_device_id aic31xx_i2c_id[] = {
|
||||
{ "tlv320aic310x", AIC3100 },
|
||||
{ "tlv320aic311x", AIC3110 },
|
||||
{ "tlv320aic3100", AIC3100 },
|
||||
{ "tlv320aic3110", AIC3110 },
|
||||
{ "tlv320aic3120", AIC3120 },
|
||||
{ "tlv320aic3111", AIC3111 },
|
||||
{ "tlv320dac3100", DAC3100 },
|
||||
{ "tlv320dac3101", DAC3101 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, aic31xx_i2c_id);
|
||||
|
||||
static int aic31xx_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
struct aic31xx_priv *aic31xx;
|
||||
unsigned int micbias_value = MICBIAS_2_0V;
|
||||
const struct i2c_device_id *id = i2c_match_id(aic31xx_i2c_id, i2c);
|
||||
int i, ret;
|
||||
|
||||
dev_dbg(&i2c->dev, "## %s: %s codec_type = %d\n", __func__,
|
||||
@ -1729,26 +1742,13 @@ static int aic31xx_i2c_probe(struct i2c_client *i2c,
|
||||
ARRAY_SIZE(aic31xx_dai_driver));
|
||||
}
|
||||
|
||||
static const struct i2c_device_id aic31xx_i2c_id[] = {
|
||||
{ "tlv320aic310x", AIC3100 },
|
||||
{ "tlv320aic311x", AIC3110 },
|
||||
{ "tlv320aic3100", AIC3100 },
|
||||
{ "tlv320aic3110", AIC3110 },
|
||||
{ "tlv320aic3120", AIC3120 },
|
||||
{ "tlv320aic3111", AIC3111 },
|
||||
{ "tlv320dac3100", DAC3100 },
|
||||
{ "tlv320dac3101", DAC3101 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, aic31xx_i2c_id);
|
||||
|
||||
static struct i2c_driver aic31xx_i2c_driver = {
|
||||
.driver = {
|
||||
.name = "tlv320aic31xx-codec",
|
||||
.of_match_table = of_match_ptr(tlv320aic31xx_of_match),
|
||||
.acpi_match_table = ACPI_PTR(aic31xx_acpi_match),
|
||||
},
|
||||
.probe = aic31xx_i2c_probe,
|
||||
.probe_new = aic31xx_i2c_probe,
|
||||
.id_table = aic31xx_i2c_id,
|
||||
};
|
||||
module_i2c_driver(aic31xx_i2c_driver);
|
||||
|
@ -17,9 +17,9 @@
|
||||
#include "tlv320aic32x4.h"
|
||||
|
||||
static const struct of_device_id aic32x4_of_id[];
|
||||
static const struct i2c_device_id aic32x4_i2c_id[];
|
||||
|
||||
static int aic32x4_i2c_probe(struct i2c_client *i2c,
|
||||
const struct i2c_device_id *id)
|
||||
static int aic32x4_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
struct regmap *regmap;
|
||||
struct regmap_config config;
|
||||
@ -35,7 +35,10 @@ static int aic32x4_i2c_probe(struct i2c_client *i2c,
|
||||
|
||||
oid = of_match_node(aic32x4_of_id, i2c->dev.of_node);
|
||||
dev_set_drvdata(&i2c->dev, (void *)oid->data);
|
||||
} else if (id) {
|
||||
} else {
|
||||
const struct i2c_device_id *id;
|
||||
|
||||
id = i2c_match_id(aic32x4_i2c_id, i2c);
|
||||
dev_set_drvdata(&i2c->dev, (void *)id->driver_data);
|
||||
}
|
||||
|
||||
@ -70,7 +73,7 @@ static struct i2c_driver aic32x4_i2c_driver = {
|
||||
.name = "tlv320aic32x4",
|
||||
.of_match_table = aic32x4_of_id,
|
||||
},
|
||||
.probe = aic32x4_i2c_probe,
|
||||
.probe_new = aic32x4_i2c_probe,
|
||||
.remove = aic32x4_i2c_remove,
|
||||
.id_table = aic32x4_i2c_id,
|
||||
};
|
||||
|
@ -17,10 +17,21 @@
|
||||
|
||||
#include "tlv320aic3x.h"
|
||||
|
||||
static int aic3x_i2c_probe(struct i2c_client *i2c, const struct i2c_device_id *id)
|
||||
static const struct i2c_device_id aic3x_i2c_id[] = {
|
||||
{ "tlv320aic3x", AIC3X_MODEL_3X },
|
||||
{ "tlv320aic33", AIC3X_MODEL_33 },
|
||||
{ "tlv320aic3007", AIC3X_MODEL_3007 },
|
||||
{ "tlv320aic3104", AIC3X_MODEL_3104 },
|
||||
{ "tlv320aic3106", AIC3X_MODEL_3106 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, aic3x_i2c_id);
|
||||
|
||||
static int aic3x_i2c_probe(struct i2c_client *i2c)
|
||||
{
|
||||
struct regmap *regmap;
|
||||
struct regmap_config config;
|
||||
const struct i2c_device_id *id = i2c_match_id(aic3x_i2c_id, i2c);
|
||||
|
||||
config = aic3x_regmap;
|
||||
config.reg_bits = 8;
|
||||
@ -37,16 +48,6 @@ static int aic3x_i2c_remove(struct i2c_client *i2c)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct i2c_device_id aic3x_i2c_id[] = {
|
||||
{ "tlv320aic3x", AIC3X_MODEL_3X },
|
||||
{ "tlv320aic33", AIC3X_MODEL_33 },
|
||||
{ "tlv320aic3007", AIC3X_MODEL_3007 },
|
||||
{ "tlv320aic3104", AIC3X_MODEL_3104 },
|
||||
{ "tlv320aic3106", AIC3X_MODEL_3106 },
|
||||
{ }
|
||||
};
|
||||
MODULE_DEVICE_TABLE(i2c, aic3x_i2c_id);
|
||||
|
||||
static const struct of_device_id aic3x_of_id[] = {
|
||||
{ .compatible = "ti,tlv320aic3x", },
|
||||
{ .compatible = "ti,tlv320aic33" },
|
||||
@ -62,7 +63,7 @@ static struct i2c_driver aic3x_i2c_driver = {
|
||||
.name = "tlv320aic3x",
|
||||
.of_match_table = aic3x_of_id,
|
||||
},
|
||||
.probe = aic3x_i2c_probe,
|
||||
.probe_new = aic3x_i2c_probe,
|
||||
.remove = aic3x_i2c_remove,
|
||||
.id_table = aic3x_i2c_id,
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user