pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 10 Nov 2021 08:49:48 +0000 (09:49 +0100)
committerThierry Reding <thierry.reding@gmail.com>
Wed, 2 Feb 2022 16:03:46 +0000 (17:03 +0100)
commit0401f24cd238ae200a23a13925f98de3d2c883b8
tree4f44f5b0ee87b1a2d839e1b4f56fce49b3a9f68d
parent914195ec7ecb55e0be5404e3e0edc561888dd9f0
pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()

When a driver calls pwmchip_add() it has to be prepared to immediately
get its callbacks called. So move allocation of driver data and hardware
initialization before the call to pwmchip_add().

This fixes a potential NULL pointer exception and a race condition on
register writes.

Fixes: 841e6f90bb78 ("pwm: NXP LPC18xx PWM/SCT driver")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-lpc18xx-sct.c