From: Arnd Bergmann <arnd@kernel.org>
To: "Liam Girdwood" <lgirdwood@gmail.com>,
"Mark Brown" <broonie@kernel.org>,
"Nathan Chancellor" <nathan@kernel.org>,
"Nick Desaulniers" <ndesaulniers@google.com>,
"Maíra Canal" <maira.canal@usp.br>
Cc: Arnd Bergmann <arnd@arndb.de>,
Colin Ian King <colin.king@canonical.com>,
linux-kernel@vger.kernel.org, llvm@lists.linux.dev
Subject: [PATCH] regulator: lp872x: fix enum conversion warning
Date: Tue, 19 Oct 2021 17:38:43 +0200 [thread overview]
Message-ID: <20211019153851.509626-1-arnd@kernel.org> (raw)
From: Arnd Bergmann <arnd@arndb.de>
clang warns that the argument to devm_gpiod_get_optional()
is the wrong type:
drivers/regulator/lp872x.c:689:57: error: implicit conversion from enumeration type 'enum lp872x_dvs_state' to different enumeration type 'enum gpiod_flags' [-Werror,-Wenum-conversion]
dvs->gpio = devm_gpiod_get_optional(lp->dev, "ti,dvs", pinstate);
~~~~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~
The enum value is specifcally chosen to be the same here, but
the compiler only sees the mismatched types. This could be
worked around using another ?: expression, but it seems easiest
to replace the assignment with a macro.
Fixes: 72bf80cf09c4 ("regulator: lp872x: replacing legacy gpio interface for gpiod")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/regulator/lp872x.c | 6 +++---
include/linux/regulator/lp872x.h | 8 +++-----
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/drivers/regulator/lp872x.c b/drivers/regulator/lp872x.c
index 1dba5dbcd461..61412ebc8d8d 100644
--- a/drivers/regulator/lp872x.c
+++ b/drivers/regulator/lp872x.c
@@ -103,7 +103,7 @@ struct lp872x {
enum lp872x_id chipid;
struct lp872x_platform_data *pdata;
int num_regulators;
- enum lp872x_dvs_state dvs_pin;
+ enum gpiod_flags dvs_pin;
};
/* LP8720/LP8725 shared voltage table for LDOs */
@@ -251,7 +251,7 @@ static int lp872x_regulator_enable_time(struct regulator_dev *rdev)
static void lp872x_set_dvs(struct lp872x *lp, enum lp872x_dvs_sel dvs_sel,
struct gpio_desc *gpio)
{
- enum lp872x_dvs_state state;
+ enum gpiod_flags state;
state = dvs_sel == SEL_V1 ? DVS_HIGH : DVS_LOW;
gpiod_set_value(gpio, state);
@@ -675,7 +675,7 @@ static const struct regulator_desc lp8725_regulator_desc[] = {
static int lp872x_init_dvs(struct lp872x *lp)
{
struct lp872x_dvs *dvs = lp->pdata ? lp->pdata->dvs : NULL;
- enum lp872x_dvs_state pinstate;
+ enum gpiod_flags pinstate;
u8 mask[] = { LP8720_EXT_DVS_M, LP8725_DVS1_M | LP8725_DVS2_M };
u8 default_dvs_mode[] = { LP8720_DEFAULT_DVS, LP8725_DEFAULT_DVS };
diff --git a/include/linux/regulator/lp872x.h b/include/linux/regulator/lp872x.h
index 8e7e0343c6e1..5b94fe38fc78 100644
--- a/include/linux/regulator/lp872x.h
+++ b/include/linux/regulator/lp872x.h
@@ -40,10 +40,8 @@ enum lp872x_regulator_id {
LP872X_ID_MAX,
};
-enum lp872x_dvs_state {
- DVS_LOW = GPIOD_OUT_LOW,
- DVS_HIGH = GPIOD_OUT_HIGH,
-};
+#define DVS_LOW GPIOD_OUT_LOW
+#define DVS_HIGH GPIOD_OUT_HIGH
enum lp872x_dvs_sel {
SEL_V1,
@@ -59,7 +57,7 @@ enum lp872x_dvs_sel {
struct lp872x_dvs {
struct gpio_desc *gpio;
enum lp872x_dvs_sel vsel;
- enum lp872x_dvs_state init_state;
+ enum gpiod_flags init_state;
};
/**
--
2.29.2
next reply other threads:[~2021-10-19 15:38 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-19 15:38 Arnd Bergmann [this message]
2021-10-19 17:40 ` [PATCH] regulator: lp872x: fix enum conversion warning Nathan Chancellor
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211019153851.509626-1-arnd@kernel.org \
--to=arnd@kernel.org \
--cc=arnd@arndb.de \
--cc=broonie@kernel.org \
--cc=colin.king@canonical.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=maira.canal@usp.br \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.