Commit b059b7e0 authored by Marek Vasut's avatar Marek Vasut Committed by Mark Brown

regulator: core: Add regulator_is_equal() helper

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: default avatarMarek 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>
Link: https://lore.kernel.org/r/20191220164450.1395038-1-marex@denx.deSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent e42617b8
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
#include <linux/regulator/driver.h> #include <linux/regulator/driver.h>
#include <linux/module.h> #include <linux/module.h>
#include "internal.h"
/** /**
* regulator_is_enabled_regmap - standard is_enabled() for regmap users * 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, ...@@ -881,3 +883,15 @@ void regulator_bulk_set_supply_names(struct regulator_bulk_data *consumers,
consumers[i].supply = supply_names[i]; consumers[i].supply = supply_names[i];
} }
EXPORT_SYMBOL_GPL(regulator_bulk_set_supply_names); 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);
...@@ -287,6 +287,8 @@ void regulator_bulk_set_supply_names(struct regulator_bulk_data *consumers, ...@@ -287,6 +287,8 @@ void regulator_bulk_set_supply_names(struct regulator_bulk_data *consumers,
const char *const *supply_names, const char *const *supply_names,
unsigned int num_supplies); unsigned int num_supplies);
bool regulator_is_equal(struct regulator *reg1, struct regulator *reg2);
#else #else
/* /*
...@@ -593,6 +595,11 @@ regulator_bulk_set_supply_names(struct regulator_bulk_data *consumers, ...@@ -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 #endif
static inline int regulator_set_voltage_triplet(struct regulator *regulator, static inline int regulator_set_voltage_triplet(struct regulator *regulator,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment