aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2015-05-26 16:38:44 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2015-05-26 16:38:44 +1000
commit762ac644fca42068b6801769057e78576df1305b (patch)
tree45252834fc36651d26512f8c2dec3beffa71c94c
parentf6450d1a66872ebc0f29da09942b36863ae19d13 (diff)
parentcccb94543c8299e0bc7564cc6f8b26e0f15bafde (diff)
Merge remote-tracking branch 'pwm/for-next'
-rw-r--r--drivers/pwm/core.c17
-rw-r--r--drivers/pwm/pwm-samsung.c1
-rw-r--r--include/linux/pwm.h5
3 files changed, 23 insertions, 0 deletions
diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index ba34c7d89042..27cd58d16881 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -586,6 +586,23 @@ void pwm_add_table(struct pwm_lookup *table, size_t num)
}
/**
+ * pwm_remove_table() - unregister PWM device consumers
+ * @table: array of consumers to unregister
+ * @num: number of consumers in table
+ */
+void pwm_remove_table(struct pwm_lookup *table, size_t num)
+{
+ mutex_lock(&pwm_lookup_lock);
+
+ while (num--) {
+ list_del(&table->list);
+ table++;
+ }
+
+ mutex_unlock(&pwm_lookup_lock);
+}
+
+/**
* pwm_get() - look up and request a PWM device
* @dev: device for PWM consumer
* @con_id: consumer name
diff --git a/drivers/pwm/pwm-samsung.c b/drivers/pwm/pwm-samsung.c
index ff201e1b9219..ada2d326dc3e 100644
--- a/drivers/pwm/pwm-samsung.c
+++ b/drivers/pwm/pwm-samsung.c
@@ -456,6 +456,7 @@ static const struct of_device_id samsung_pwm_matches[] = {
{ .compatible = "samsung,exynos4210-pwm", .data = &s5p64x0_variant },
{},
};
+MODULE_DEVICE_TABLE(of, samsung_pwm_matches);
static int pwm_samsung_parse_dt(struct samsung_pwm_chip *chip)
{
diff --git a/include/linux/pwm.h b/include/linux/pwm.h
index e90628cac8fa..cfe2d8df5be0 100644
--- a/include/linux/pwm.h
+++ b/include/linux/pwm.h
@@ -290,10 +290,15 @@ struct pwm_lookup {
#if IS_ENABLED(CONFIG_PWM)
void pwm_add_table(struct pwm_lookup *table, size_t num);
+void pwm_remove_table(struct pwm_lookup *table, size_t num);
#else
static inline void pwm_add_table(struct pwm_lookup *table, size_t num)
{
}
+
+static inline void pwm_remove_table(struct pwm_lookup *table, size_t num)
+{
+}
#endif
#ifdef CONFIG_PWM_SYSFS