summaryrefslogtreecommitdiff
path: root/include/linux/pwm.h
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@kernel.org>2025-02-05 14:57:18 -0800
committerNamhyung Kim <namhyung@kernel.org>2025-02-05 14:57:18 -0800
commit9e676a024fa1fa2bd8150c2d2ba85478280353bc (patch)
tree5cf0e1d4ab27002fcafdc7dc5bdfdd9ff3f3c9f1 /include/linux/pwm.h
parent357b965deba9fb71467413e473764ec4e1694d8d (diff)
parent2014c95afecee3e76ca4a56956a936e23283f05b (diff)
Merge tag 'v6.14-rc1' into perf-tools-next
To get the various fixes in the current master. Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Diffstat (limited to 'include/linux/pwm.h')
-rw-r--r--include/linux/pwm.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/pwm.h b/include/linux/pwm.h
index 6853e29d9674..a2df509056ac 100644
--- a/include/linux/pwm.h
+++ b/include/linux/pwm.h
@@ -347,6 +347,23 @@ struct pwm_chip {
struct pwm_device pwms[] __counted_by(npwm);
};
+/**
+ * pwmchip_supports_waveform() - checks if the given chip supports waveform callbacks
+ * @chip: The pwm_chip to test
+ *
+ * Returns true iff the pwm chip support the waveform functions like
+ * pwm_set_waveform_might_sleep() and pwm_round_waveform_might_sleep()
+ */
+static inline bool pwmchip_supports_waveform(struct pwm_chip *chip)
+{
+ /*
+ * only check for .write_waveform(). If that is available,
+ * .round_waveform_tohw() and .round_waveform_fromhw() asserted to be
+ * available, too, in pwmchip_add().
+ */
+ return chip->ops->write_waveform != NULL;
+}
+
static inline struct device *pwmchip_parent(const struct pwm_chip *chip)
{
return chip->dev.parent;