From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: "Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Flavio Suligoi" <f.suligoi@asem.it>,
"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
"Thierry Reding" <thierry.reding@gmail.com>,
linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pwm@vger.kernel.org
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
Len Brown <lenb@kernel.org>, Lee Jones <lee.jones@linaro.org>
Subject: [PATCH v1 2/5] pwm: core: Always require PWM flags to be provided
Date: Mon, 31 May 2021 18:43:48 +0300 [thread overview]
Message-ID: <20210531154351.53614-2-andriy.shevchenko@linux.intel.com> (raw)
In-Reply-To: <20210531154351.53614-1-andriy.shevchenko@linux.intel.com>
It makes little sense to make PWM flags optional since in case
of multi-channel consumer the flags can be optional only for
the last listed channel. Thus always require PWM flags to be
provided.
Fixes: 4a6ef8e37c4d ("pwm: Add support referencing PWMs from ACPI")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
drivers/pwm/core.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index c165c5822703..25f7b3370672 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -852,8 +852,10 @@ static struct pwm_chip *device_to_pwmchip(struct device *dev)
*
* This is analogous to of_pwm_get() except con_id is not yet supported.
* ACPI entries must look like
- * Package () {"pwms", Package ()
- * { <PWM device reference>, <PWM index>, <PWM period> [, <PWM flags>]}}
+ * Package () { "pwms", Package () {
+ * <PWM device reference>, <PWM index>, <PWM period>, <PWM flags>,
+ * }
+ * }
*
* Returns: A pointer to the requested PWM device or an ERR_PTR()-encoded
* error code on failure.
@@ -877,7 +879,7 @@ static struct pwm_device *acpi_pwm_get(struct fwnode_handle *fwnode)
if (!acpi)
return ERR_PTR(-EINVAL);
- if (args.nargs < 2)
+ if (args.nargs < 3)
return ERR_PTR(-EPROTO);
chip = device_to_pwmchip(&acpi->dev);
@@ -891,7 +893,7 @@ static struct pwm_device *acpi_pwm_get(struct fwnode_handle *fwnode)
pwm->args.period = args.args[1];
pwm->args.polarity = PWM_POLARITY_NORMAL;
- if (args.nargs > 2 && args.args[2] & PWM_POLARITY_INVERTED)
+ if (args.args[2] & PWM_POLARITY_INVERTED)
pwm->args.polarity = PWM_POLARITY_INVERSED;
#endif
--
2.30.2
next prev parent reply other threads:[~2021-05-31 15:52 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-31 15:43 [PATCH v1 1/5] docs: firmware-guide: ACPI: Add a PWM example Andy Shevchenko
2021-05-31 15:43 ` Andy Shevchenko [this message]
2021-05-31 15:43 ` [PATCH v1 3/5] pwm: core: Convert to use fwnode for matching Andy Shevchenko
2021-05-31 15:43 ` [PATCH v1 4/5] pwm: core: Reuse fwnode_to_pwmchip() in ACPI case Andy Shevchenko
2021-05-31 15:43 ` [PATCH v1 5/5] pwm: core: Unify fwnode checks in the module Andy Shevchenko
2021-05-31 16:09 ` [PATCH v1 1/5] docs: firmware-guide: ACPI: Add a PWM example Andy Shevchenko
2021-05-31 19:41 ` Andy Shevchenko
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=20210531154351.53614-2-andriy.shevchenko@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=f.suligoi@asem.it \
--cc=lee.jones@linaro.org \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=rjw@rjwysocki.net \
--cc=thierry.reding@gmail.com \
--cc=u.kleine-koenig@pengutronix.de \
/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.