diff mbox series

[V2,1/2] regulator: core: Add regulator_is_equal() helper

Message ID 20191220164450.1395038-1-marex@denx.de (mailing list archive)
State Accepted
Commit b059b7e0ec3208ff1e17cff6387d75a9fbab4e02
Headers show
Series [V2,1/2] regulator: core: Add regulator_is_equal() helper | expand

Commit Message

Marek Vasut Dec. 20, 2019, 4:44 p.m. UTC
Add regulator_is_equal() helper to compare whether two regulators are
the same. This is useful for checking whether two separate regulators
in a driver are actually the same supply.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Igor Opaniuk <igor.opaniuk@toradex.com>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
---
V2: New patch
---
 drivers/regulator/helpers.c        | 14 ++++++++++++++
 include/linux/regulator/consumer.h |  7 +++++++
 2 files changed, 21 insertions(+)

Comments

Pierre-Louis Bossart Jan. 14, 2020, 7:48 p.m. UTC | #1
> +static inline bool
> +regulator_is_equal(struct regulator *reg1, struct regulator *reg2);
> +{
> +	return false;
> +}
>   #endif

this breaks my build... shouldn't this be:


diff --git a/include/linux/regulator/consumer.h 
b/include/linux/regulator/consumer.h
index 2c89d886595c..6a92fd3105a3 100644
--- a/include/linux/regulator/consumer.h
+++ b/include/linux/regulator/consumer.h
@@ -596,7 +596,7 @@ regulator_bulk_set_supply_names(struct 
regulator_bulk_data *consumers,
  }

  static inline bool
-regulator_is_equal(struct regulator *reg1, struct regulator *reg2);
+regulator_is_equal(struct regulator *reg1, struct regulator *reg2)
  {
         return false;
  }
Mark Brown Jan. 16, 2020, 11:59 a.m. UTC | #2
On Tue, Jan 14, 2020 at 01:48:53PM -0600, Pierre-Louis Bossart wrote:
> 
> > +static inline bool
> > +regulator_is_equal(struct regulator *reg1, struct regulator *reg2);
> > +{
> > +	return false;
> > +}
> >   #endif
> 
> this breaks my build... shouldn't this be:

Fixes were already sent for this.
diff mbox series

Patch

diff --git a/drivers/regulator/helpers.c b/drivers/regulator/helpers.c
index ca3dc3f3bb292..bb16c465426ef 100644
--- a/drivers/regulator/helpers.c
+++ b/drivers/regulator/helpers.c
@@ -13,6 +13,8 @@ 
 #include <linux/regulator/driver.h>
 #include <linux/module.h>
 
+#include "internal.h"
+
 /**
  * regulator_is_enabled_regmap - standard is_enabled() for regmap users
  *
@@ -881,3 +883,15 @@  void regulator_bulk_set_supply_names(struct regulator_bulk_data *consumers,
 		consumers[i].supply = supply_names[i];
 }
 EXPORT_SYMBOL_GPL(regulator_bulk_set_supply_names);
+
+/**
+ * regulator_is_equal - test whether two regulators are the same
+ *
+ * @reg1: first regulator to operate on
+ * @reg2: second regulator to operate on
+ */
+bool regulator_is_equal(struct regulator *reg1, struct regulator *reg2)
+{
+	return reg1->rdev == reg2->rdev;
+}
+EXPORT_SYMBOL_GPL(regulator_is_equal);
diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h
index 337a463915278..2c89d886595cb 100644
--- a/include/linux/regulator/consumer.h
+++ b/include/linux/regulator/consumer.h
@@ -287,6 +287,8 @@  void regulator_bulk_set_supply_names(struct regulator_bulk_data *consumers,
 				     const char *const *supply_names,
 				     unsigned int num_supplies);
 
+bool regulator_is_equal(struct regulator *reg1, struct regulator *reg2);
+
 #else
 
 /*
@@ -593,6 +595,11 @@  regulator_bulk_set_supply_names(struct regulator_bulk_data *consumers,
 {
 }
 
+static inline bool
+regulator_is_equal(struct regulator *reg1, struct regulator *reg2);
+{
+	return false;
+}
 #endif
 
 static inline int regulator_set_voltage_triplet(struct regulator *regulator,