aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-04-03 19:50:22 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-04-09 07:37:09 -0400
commitc172708d38a401b2f3f841dfcd862b469fa0b670 (patch)
tree75e89c63fd0c76a2c69bb5ad6e45b3762bceb6b6 /sound/soc
parent1474e4dbcae04125ed6e503eadcef266846f4675 (diff)
regulator: core: Use a struct to pass in regulator runtime configuration
Rather than adding new arguments to regulator_register() every time we want to add a new bit of dynamic information at runtime change the function to take these via a struct. By doing this we avoid needing to do further changes like the recent addition of device tree support which required each regulator driver to be updated to take an additional parameter. The regulator_desc which should (mostly) be static data is still passed separately as most drivers are able to configure this statically at build time. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/sgtl5000.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index d1926266fe00..a554b0c8ad38 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -808,6 +808,7 @@ static int ldo_regulator_register(struct snd_soc_codec *codec,
808{ 808{
809 struct ldo_regulator *ldo; 809 struct ldo_regulator *ldo;
810 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec); 810 struct sgtl5000_priv *sgtl5000 = snd_soc_codec_get_drvdata(codec);
811 struct regulator_config config = { };
811 812
812 ldo = kzalloc(sizeof(struct ldo_regulator), GFP_KERNEL); 813 ldo = kzalloc(sizeof(struct ldo_regulator), GFP_KERNEL);
813 814
@@ -831,8 +832,11 @@ static int ldo_regulator_register(struct snd_soc_codec *codec,
831 ldo->codec_data = codec; 832 ldo->codec_data = codec;
832 ldo->voltage = voltage; 833 ldo->voltage = voltage;
833 834
834 ldo->dev = regulator_register(&ldo->desc, codec->dev, 835 config.dev = codec->dev;
835 init_data, ldo, NULL); 836 config.driver_data = ldo;
837 config.init_data = init_data;
838
839 ldo->dev = regulator_register(&ldo->desc, &config);
836 if (IS_ERR(ldo->dev)) { 840 if (IS_ERR(ldo->dev)) {
837 int ret = PTR_ERR(ldo->dev); 841 int ret = PTR_ERR(ldo->dev);
838 842