regulator: pfuze100-regulator: Remove global variable
PATCH 1/3 regulator: pfuze100-regulator: Remove global variable
From: Fabio Estevam <[email protected]>
We should better not use a global 'struct pfuze_regulator' variable, as this could cause problems if multiple regulator chips are used.
Place it inside the private struct instead.
--- drivers/regulator/pfuze100-regulator.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
drivers/regulator/pfuze100-regulator.c +6 -7
@@ -70,6 +70,7 @@ struct pfuze_chip {struct device *dev;struct pfuze_regulator regulator_descs[PFUZE100_MAX_REGULATOR ];struct regulator_dev *regulators[PFUZE100_MAX_REGULATOR ]; +struct pfuze_regulator *pfuze_regulators; };static const int pfuze100_swbst[] = {
@@ -334,8 +335,6 @@ static struct pfuze_regulator pfuze3000_regulators[] = { PFUZE100_VGEN_REG(PFUZE3000, VLDO4, PFUZE100_VGEN6VOL, 1800000, 3300000, 100000), }; -static struct pfuze_regulator *pfuze_regulators; -#ifdef CONFIG_OF /* PFUZE100 */ static struct of_regulator_match pfuze100_matches[] = {
@@ -563,21 +562,21 @@ static int pfuze100_regulator_probe(struct i2c_client *client,/* use the right regulators after identify the right device */ switch (pfuze_chip->chip_id) {case PFUZE3000 : - pfuze_regulators = pfuze3000_regulators; + pfuze_chip->pfuze_regulators = pfuze3000_regulators; regulator_num =ARRAY_SIZE (pfuze3000_regulators); sw_check_start =PFUZE3000_SW2 ; sw_check_end =PFUZE3000_SW2 ; sw_hi =1 <<3 ;break ;case PFUZE200 : - pfuze_regulators = pfuze200_regulators; + pfuze_chip->pfuze_regulators = pfuze200_regulators; regulator_num =ARRAY_SIZE (pfuze200_regulators); sw_check_start =PFUZE200_SW2 ; sw_check_end =PFUZE200_SW3B ;break ;case PFUZE100 :default : - pfuze_regulators = pfuze100_regulators; + pfuze_chip->pfuze_regulators = pfuze100_regulators; regulator_num =ARRAY_SIZE (pfuze100_regulators); sw_check_start =PFUZE100_SW2 ; sw_check_end =PFUZE100_SW4 ;
@@ -587,7 +586,7 @@ static int pfuze100_regulator_probe(struct i2c_client *client, (pfuze_chip->chip_id ==PFUZE100 ) ?"100" : ((pfuze_chip->chip_id == PFUZE200) ? "200" : "3000")); -memcpy (pfuze_chip->regulator_descs, pfuze_regulators, +memcpy (pfuze_chip->regulator_descs, pfuze_chip->pfuze_regulators,sizeof (pfuze_chip->regulator_descs)); ret =pfuze_parse_regulators_dt (pfuze_chip);
@@ -631,7 +630,7 @@ static int pfuze100_regulator_probe(struct i2c_client *client,devm_regulator_register (&client->dev, desc, &config);if (IS_ERR (pfuze_chip->regulators[i])) {dev_err (&client->dev,"register regulator%s failed\n" , - pfuze_regulators[i].desc.name); + pfuze_chip->pfuze_regulators[i].desc.name);return PTR_ERR (pfuze_chip->regulators[i]); } }
Signature · 1 line
1.9.1
PATCH 2/3 regulator: Kconfig: Mention that PFUZE3000 is also supported
From: Fabio Estevam <[email protected]>
The CONFIG_REGULATOR_PFUZE100 option also supports PFUZE3000, so mention that in the Kconfig text.
--- drivers/regulator/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/regulator/Kconfig +2 -2
@@ -543,12 +543,12 @@ config REGULATOR_PCF50633 on PCF50633 config REGULATOR_PFUZE100 - tristate "Freescale PFUZE100/PFUZE200 regulator driver" + tristate "Freescale PFUZE100/200/3000 regulator driver" depends on I2C select REGMAP_I2C help Say y here to support the regulators found on the Freescale - PFUZE100/PFUZE200 PMIC. + PFUZE100/200/3000 PMIC. config REGULATOR_PV88060 tristate "Powerventure Semiconductor PV88060 regulator"
Signature · 1 line
1.9.1
Mark Brown
maintainerApplied "regulator: Kconfig: Mention that PFUZE3000 is also supported" to the regulator tree
The patch
regulator: Kconfig: Mention that PFUZE3000 is also supported
has been applied to the regulator tree at
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark
Quoted 1 line
From
af2c55cd4752d77699453ff5550dc316e86d6c77Mon Sep 17 00:00:00 2001
From: Fabio Estevam <[email protected]>
Date: Sun, 5 Jun 2016 19:17:39 -0300
Subject: [PATCH] regulator: Kconfig: Mention that PFUZE3000 is also supported
The CONFIG_REGULATOR_PFUZE100 option also supports PFUZE3000, so mention that in the Kconfig text.
--- drivers/regulator/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/regulator/Kconfig +2 -2
@@ -543,12 +543,12 @@ config REGULATOR_PCF50633 on PCF50633 config REGULATOR_PFUZE100 - tristate "Freescale PFUZE100/PFUZE200 regulator driver" + tristate "Freescale PFUZE100/200/3000 regulator driver" depends on I2C select REGMAP_I2C help Say y here to support the regulators found on the Freescale - PFUZE100/PFUZE200 PMIC. + PFUZE100/200/3000 PMIC. config REGULATOR_PV88060 tristate "Powerventure Semiconductor PV88060 regulator"
Signature · 1 line
2.8.1
PATCH 3/3 regulator: pfuze100-regulator: Adjust MODULE_DESCRIPTION()
In reply to Fabio EstevamFrom: Fabio Estevam <[email protected]>
Adjust the MODULE_DESCRIPTION() text to also include the PFUZE3000 as a supported device.
--- drivers/regulator/pfuze100-regulator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/regulator/pfuze100-regulator.c +1 -1
@@ -649,5 +649,5 @@ static struct i2c_driver pfuze_driver = {module_i2c_driver (pfuze_driver);MODULE_AUTHOR ("Robin Gong <[email protected]>" ); -MODULE_DESCRIPTION ("Regulator Driver for Freescale PFUZE100/PFUZE200 PMIC" ); +MODULE_DESCRIPTION ("Regulator Driver for Freescale PFUZE100/200/3000 PMIC" );MODULE_LICENSE ("GPL v2" );
Signature · 1 line
1.9.1
Mark Brown
maintainerApplied "regulator: pfuze100-regulator: Adjust MODULE_DESCRIPTION()" to the regulator tree
The patch
regulator: pfuze100-regulator: Adjust MODULE_DESCRIPTION()
has been applied to the regulator tree at
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark
Quoted 1 line
From
7eeeab8c02c546207be971283adfca1ebf18e387Mon Sep 17 00:00:00 2001
From: Fabio Estevam <[email protected]>
Date: Sun, 5 Jun 2016 19:17:40 -0300
Subject: [PATCH] regulator: pfuze100-regulator: Adjust MODULE_DESCRIPTION()
Adjust the MODULE_DESCRIPTION() text to also include the PFUZE3000 as a supported device.
--- drivers/regulator/pfuze100-regulator.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/regulator/pfuze100-regulator.c +1 -1
@@ -649,5 +649,5 @@ static struct i2c_driver pfuze_driver = {module_i2c_driver (pfuze_driver);MODULE_AUTHOR ("Robin Gong <[email protected]>" ); -MODULE_DESCRIPTION ("Regulator Driver for Freescale PFUZE100/PFUZE200 PMIC" ); +MODULE_DESCRIPTION ("Regulator Driver for Freescale PFUZE100/200/3000 PMIC" );MODULE_LICENSE ("GPL v2" );
Signature · 1 line
2.8.1
Mark Brown
maintainerApplied "regulator: pfuze100-regulator: Remove global variable" to the regulator tree
In reply to Fabio EstevamThe patch
regulator: pfuze100-regulator: Remove global variable
has been applied to the regulator tree at
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git
All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying to this mail.
Thanks,
Mark
Quoted 1 line
From
124256548f4e7d3ff81a37a64acb439778bcdbfbMon Sep 17 00:00:00 2001
From: Fabio Estevam <[email protected]>
Date: Sun, 5 Jun 2016 19:17:38 -0300
Subject: [PATCH] regulator: pfuze100-regulator: Remove global variable
We should better not use a global 'struct pfuze_regulator' variable, as this could cause problems if multiple regulator chips are used.
Place it inside the private struct instead.
--- drivers/regulator/pfuze100-regulator.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
drivers/regulator/pfuze100-regulator.c +6 -7
@@ -70,6 +70,7 @@ struct pfuze_chip {struct device *dev;struct pfuze_regulator regulator_descs[PFUZE100_MAX_REGULATOR ];struct regulator_dev *regulators[PFUZE100_MAX_REGULATOR ]; +struct pfuze_regulator *pfuze_regulators; };static const int pfuze100_swbst[] = {
@@ -334,8 +335,6 @@ static struct pfuze_regulator pfuze3000_regulators[] = { PFUZE100_VGEN_REG(PFUZE3000, VLDO4, PFUZE100_VGEN6VOL, 1800000, 3300000, 100000), }; -static struct pfuze_regulator *pfuze_regulators; -#ifdef CONFIG_OF /* PFUZE100 */ static struct of_regulator_match pfuze100_matches[] = {
@@ -563,21 +562,21 @@ static int pfuze100_regulator_probe(struct i2c_client *client,/* use the right regulators after identify the right device */ switch (pfuze_chip->chip_id) {case PFUZE3000 : - pfuze_regulators = pfuze3000_regulators; + pfuze_chip->pfuze_regulators = pfuze3000_regulators; regulator_num =ARRAY_SIZE (pfuze3000_regulators); sw_check_start =PFUZE3000_SW2 ; sw_check_end =PFUZE3000_SW2 ; sw_hi =1 <<3 ;break ;case PFUZE200 : - pfuze_regulators = pfuze200_regulators; + pfuze_chip->pfuze_regulators = pfuze200_regulators; regulator_num =ARRAY_SIZE (pfuze200_regulators); sw_check_start =PFUZE200_SW2 ; sw_check_end =PFUZE200_SW3B ;break ;case PFUZE100 :default : - pfuze_regulators = pfuze100_regulators; + pfuze_chip->pfuze_regulators = pfuze100_regulators; regulator_num =ARRAY_SIZE (pfuze100_regulators); sw_check_start =PFUZE100_SW2 ; sw_check_end =PFUZE100_SW4 ;
@@ -587,7 +586,7 @@ static int pfuze100_regulator_probe(struct i2c_client *client, (pfuze_chip->chip_id ==PFUZE100 ) ?"100" : ((pfuze_chip->chip_id == PFUZE200) ? "200" : "3000")); -memcpy (pfuze_chip->regulator_descs, pfuze_regulators, +memcpy (pfuze_chip->regulator_descs, pfuze_chip->pfuze_regulators,sizeof (pfuze_chip->regulator_descs)); ret =pfuze_parse_regulators_dt (pfuze_chip);
@@ -631,7 +630,7 @@ static int pfuze100_regulator_probe(struct i2c_client *client,devm_regulator_register (&client->dev, desc, &config);if (IS_ERR (pfuze_chip->regulators[i])) {dev_err (&client->dev,"register regulator%s failed\n" , - pfuze_regulators[i].desc.name); + pfuze_chip->pfuze_regulators[i].desc.name);return PTR_ERR (pfuze_chip->regulators[i]); } }
Signature · 1 line
2.8.1