Some drivers don't set the .owner fields of the struct device_driver or struct pwm_ops, which causes the module usage count to become wrong. Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
@@ -434,6 +434,7 @@ MODULE_DEVICE_TABLE(of, atmel_tcb_pwm_dt_ids);
static struct platform_driver atmel_tcb_pwm_driver = {
.driver = {
.name = "atmel-tcb-pwm",
+ .owner = THIS_MODULE,
.of_match_table = atmel_tcb_pwm_dt_ids,
},
.probe = atmel_tcb_pwm_probe,
@@ -149,6 +149,7 @@ static int bfin_pwm_remove(struct platform_device *pdev)
static struct platform_driver bfin_pwm_driver = {
.name = "bfin-pwm",
.probe = bfin_pwm_probe,
.remove = bfin_pwm_remove,
@@ -295,6 +295,7 @@ static int imx_pwm_remove(struct platform_device *pdev)
static struct platform_driver imx_pwm_driver = {
.name = "imx-pwm",
.of_match_table = of_match_ptr(imx_pwm_dt_ids),
.probe = imx_pwm_probe,
@@ -171,6 +171,7 @@ MODULE_DEVICE_TABLE(of, lpc32xx_pwm_dt_ids);
static struct platform_driver lpc32xx_pwm_driver = {
.name = "lpc32xx-pwm",
.of_match_table = of_match_ptr(lpc32xx_pwm_dt_ids),
.probe = lpc32xx_pwm_probe,
@@ -182,6 +182,7 @@ MODULE_DEVICE_TABLE(of, mxs_pwm_dt_ids);
static struct platform_driver mxs_pwm_driver = {
.name = "mxs-pwm",
.of_match_table = of_match_ptr(mxs_pwm_dt_ids),
.probe = mxs_pwm_probe,
@@ -199,6 +199,7 @@ static const struct pwm_ops pca9685_pwm_ops = {
.config = pca9685_pwm_config,
.request = pca9685_pwm_request,
.free = pca9685_pwm_free,
};
static struct regmap_config pca9685_regmap_i2c_config = {
@@ -146,6 +146,7 @@ static int pwm_remove(struct platform_device *pdev)
static struct platform_driver puv3_pwm_driver = {
.name = "PKUnity-v3-PWM",
.probe = pwm_probe,
.remove = pwm_remove,
@@ -259,6 +259,7 @@ MODULE_DEVICE_TABLE(of, spear_pwm_of_match);
static struct platform_driver spear_pwm_driver = {
.name = "spear-pwm",
.of_match_table = spear_pwm_of_match,
.probe = spear_pwm_probe,
@@ -239,6 +239,7 @@ MODULE_DEVICE_TABLE(of, tegra_pwm_of_match);
static struct platform_driver tegra_pwm_driver = {
.name = "tegra-pwm",
.of_match_table = tegra_pwm_of_match,
.probe = tegra_pwm_probe,