Hello, the semantic of pwm_[sg]et_chip_data() overlaps with that of the standard dev_[sg]et_drvdata() functions. Also as noted by George Stark there is a problem in pwm-sti that relies on chipdata being available even after a pwm_put (which clears chipdata). To improve the situation this series converts all drivers that make use of pwm chipdata to use well-known driver data instead and drop chipdata support from the pwm framework. Best regards Uwe Uwe Kleine-König (8): pwm: berlin: Put channel config into driver data pwm: samsung: Put channel data into driver data pwm: jz4740: Put per-channel clk into driver data pwm: lp3943: Drop usage of pwm_[gs]et_chip_data() pwm: renesas: Drop usage of pwm_[gs]et_chip_data() pwm: sti: Reduce number of allocations and drop usage of chip_data pwm: cros-ec: Put per channel data into driver data pwm: Drop pwm_[sg]et_chip_data() drivers/pwm/core.c | 31 ----------------------------- drivers/pwm/pwm-berlin.c | 37 ++++++----------------------------- drivers/pwm/pwm-cros-ec.c | 31 +++++++---------------------- drivers/pwm/pwm-jz4740.c | 11 +++++++---- drivers/pwm/pwm-lp3943.c | 21 +++++++------------- drivers/pwm/pwm-renesas-tpu.c | 22 ++++++++++----------- drivers/pwm/pwm-samsung.c | 20 +++++-------------- drivers/pwm/pwm-sti.c | 29 +++++++++++++-------------- include/linux/pwm.h | 14 ------------- 9 files changed, 57 insertions(+), 159 deletions(-) base-commit: 92554cdd428fce212d2a71a06939e7cab90f7c77 -- 2.39.2