pwm: Remove pwm_can_sleep()
Subsystems (9)
PATCH 1/2 pwm: Remove pwm_can_sleep()
The last user of this function has been removed, so it is no longer needed.
--- drivers/pwm/core.c | 12 ------------ include/linux/pwm.h | 7 ------- 2 files changed, 19 deletions(-)
drivers/pwm/core.c +0 -12
@@ -960,18 +960,6 @@ void devm_pwm_put(struct device *dev, struct pwm_device *pwm) }EXPORT_SYMBOL_GPL (devm_pwm_put); -/** -* pwm_can_sleep() - report whether PWM access will sleep -* @pwm: PWM device -* -* Returns: True if accessing the PWM can sleep, false otherwise. -*/ -bool pwm_can_sleep (struct pwm_device *pwm) -{ -return true; -} -EXPORT_SYMBOL_GPL (pwm_can_sleep); -#ifdef CONFIG_DEBUG_FS static void pwm_dbg_show (struct pwm_chip *chip,struct seq_file *s) {
include/linux/pwm.h +0 -7
@@ -451,8 +451,6 @@ struct pwm_device *devm_pwm_get(struct device *dev, const char *con_id);struct pwm_device *devm_of_pwm_get (struct device *dev,struct device_node *np,const char *con_id);void devm_pwm_put (struct device *dev,struct pwm_device *pwm); - -bool pwm_can_sleep (struct pwm_device *pwm);#else static inline struct pwm_device *pwm_request (int pwm_id,const char *label) {
@@ -566,11 +564,6 @@ static inline struct pwm_device *devm_of_pwm_get(struct device *dev,static inline void devm_pwm_put (struct device *dev,struct pwm_device *pwm) { } - -static inline bool pwm_can_sleep (struct pwm_device *pwm) -{ -return false; -}#endif static inline void pwm_apply_args (struct pwm_device *pwm)
Signature · 1 line
2.11.0
PATCH 2/2 pwm: Remove .can_sleep from struct pwm_chip
All PWM devices have been marked as "might sleep" since v4.5, there is no longer a need to differentiate on a per-chip basis.
--- drivers/pwm/pwm-atmel-hlcdc.c | 1 - drivers/pwm/pwm-atmel.c | 1 - drivers/pwm/pwm-bcm-kona.c | 1 - drivers/pwm/pwm-berlin.c | 1 - drivers/pwm/pwm-brcmstb.c | 1 - drivers/pwm/pwm-fsl-ftm.c | 1 - drivers/pwm/pwm-imx.c | 1 - drivers/pwm/pwm-lp3943.c | 1 - drivers/pwm/pwm-mxs.c | 2 +- drivers/pwm/pwm-pca9685.c | 1 - drivers/pwm/pwm-sti.c | 1 - drivers/pwm/pwm-sun4i.c | 1 - drivers/pwm/pwm-twl-led.c | 1 - drivers/pwm/pwm-twl.c | 1 - drivers/staging/greybus/pwm.c | 1 - include/linux/pwm.h | 3 --- 16 files changed, 1 insertion(+), 18 deletions(-)
drivers/pwm/pwm-atmel-hlcdc.c +0 -1
@@ -270,7 +270,6 @@ static int atmel_hlcdc_pwm_probe(struct platform_device *pdev) chip->chip.npwm =1 ; chip->chip.of_xlate = of_pwm_xlate_with_flags; chip->chip.of_pwm_n_cells =3 ; - chip->chip.can_sleep =1 ; ret =pwmchip_add_with_polarity (&chip->chip,PWM_POLARITY_INVERSED );if (ret) {
drivers/pwm/pwm-atmel.c +0 -1
@@ -385,7 +385,6 @@ static int atmel_pwm_probe(struct platform_device *pdev) atmel_pwm->chip.base =-1 ; atmel_pwm->chip.npwm =4 ; - atmel_pwm->chip.can_sleep = true; atmel_pwm->config = data->config; atmel_pwm->updated_pwms =0 ;mutex_init (&atmel_pwm->isr_lock);
drivers/pwm/pwm-bcm-kona.c +0 -1
@@ -276,7 +276,6 @@ static int kona_pwmc_probe(struct platform_device *pdev) kp->chip.npwm =6 ; kp->chip.of_xlate = of_pwm_xlate_with_flags; kp->chip.of_pwm_n_cells =3 ; - kp->chip.can_sleep = true; res =platform_get_resource (pdev,IORESOURCE_MEM ,0 ); kp->base =devm_ioremap_resource (&pdev->dev, res);
drivers/pwm/pwm-berlin.c +0 -1
@@ -206,7 +206,6 @@ static int berlin_pwm_probe(struct platform_device *pdev) pwm->chip.ops = &berlin_pwm_ops; pwm->chip.base =-1 ; pwm->chip.npwm =4 ; - pwm->chip.can_sleep = true; pwm->chip.of_xlate = of_pwm_xlate_with_flags; pwm->chip.of_pwm_n_cells =3 ;
drivers/pwm/pwm-brcmstb.c +0 -1
@@ -270,7 +270,6 @@ static int brcmstb_pwm_probe(struct platform_device *pdev) p->chip.ops = &brcmstb_pwm_ops; p->chip.base =-1 ; p->chip.npwm =2 ; - p->chip.can_sleep = true; res =platform_get_resource (pdev,IORESOURCE_MEM ,0 ); p->base =devm_ioremap_resource (&pdev->dev, res);
drivers/pwm/pwm-fsl-ftm.c +0 -1
@@ -446,7 +446,6 @@ static int fsl_pwm_probe(struct platform_device *pdev) fpc->chip.of_pwm_n_cells =3 ; fpc->chip.base =-1 ; fpc->chip.npwm =8 ; - fpc->chip.can_sleep = true; ret =pwmchip_add (&fpc->chip);if (ret <0 ) {
drivers/pwm/pwm-imx.c +0 -1
@@ -304,7 +304,6 @@ static int imx_pwm_probe(struct platform_device *pdev) imx->chip.dev = &pdev->dev; imx->chip.base =-1 ; imx->chip.npwm =1 ; - imx->chip.can_sleep = true; r =platform_get_resource (pdev,IORESOURCE_MEM ,0 ); imx->mmio_base =devm_ioremap_resource (&pdev->dev, r);
drivers/pwm/pwm-lp3943.c +0 -1
@@ -278,7 +278,6 @@ static int lp3943_pwm_probe(struct platform_device *pdev) lp3943_pwm->chip.dev = &pdev->dev; lp3943_pwm->chip.ops = &lp3943_pwm_ops; lp3943_pwm->chip.npwm =LP3943_NUM_PWMS ; - lp3943_pwm->chip.can_sleep = true;platform_set_drvdata (pdev, lp3943_pwm);
drivers/pwm/pwm-mxs.c +1 -1
@@ -151,7 +151,7 @@ static int mxs_pwm_probe(struct platform_device *pdev) mxs->chip.dev = &pdev->dev; mxs->chip.ops = &mxs_pwm_ops; mxs->chip.base =-1 ; - mxs->chip.can_sleep = true; + ret =of_property_read_u32 (np,"fsl,pwm-number" , &mxs->chip.npwm);if (ret <0 ) {dev_err (&pdev->dev,"failed to get pwm number: %d\n" , ret);
drivers/pwm/pwm-pca9685.c +0 -1
@@ -343,7 +343,6 @@ static int pca9685_pwm_probe(struct i2c_client *client, pca->chip.dev = &client->dev; pca->chip.base =-1 ; - pca->chip.can_sleep = true;return pwmchip_add (&pca->chip); }
drivers/pwm/pwm-sti.c +0 -1
@@ -635,7 +635,6 @@ static int sti_pwm_probe(struct platform_device *pdev) pc->chip.ops = &sti_pwm_ops; pc->chip.base =-1 ; pc->chip.npwm = pc->cdata->pwm_num_devs; - pc->chip.can_sleep = true; ret =pwmchip_add (&pc->chip);if (ret <0 ) {
drivers/pwm/pwm-sun4i.c +0 -1
@@ -340,7 +340,6 @@ static int sun4i_pwm_probe(struct platform_device *pdev) pwm->chip.ops = &sun4i_pwm_ops; pwm->chip.base =-1 ; pwm->chip.npwm = pwm->data->npwm; - pwm->chip.can_sleep = true; pwm->chip.of_xlate = of_pwm_xlate_with_flags; pwm->chip.of_pwm_n_cells =3 ;
drivers/pwm/pwm-twl-led.c +0 -1
@@ -303,7 +303,6 @@ static int twl_pwmled_probe(struct platform_device *pdev) twl->chip.dev = &pdev->dev; twl->chip.base =-1 ; - twl->chip.can_sleep = true;mutex_init (&twl->mutex);
drivers/pwm/pwm-twl.c +0 -1
@@ -323,7 +323,6 @@ static int twl_pwm_probe(struct platform_device *pdev) twl->chip.dev = &pdev->dev; twl->chip.base =-1 ; twl->chip.npwm =2 ; - twl->chip.can_sleep = true;mutex_init (&twl->mutex);
drivers/staging/greybus/pwm.c +0 -1
@@ -284,7 +284,6 @@ static int gb_pwm_probe(struct gbphy_device *gbphy_dev, pwm->ops = &gb_pwm_ops; pwm->base =-1 ;/* Allocate base dynamically */ pwm->npwm = pwmc->pwm_max +1 ; - pwm->can_sleep = true;/* FIXME */ ret =pwmchip_add (pwm);if (ret) {
include/linux/pwm.h +0 -3
@@ -287,8 +287,6 @@ struct pwm_ops {* @pwms: array of PWM devices allocated by the framework * @of_xlate: request a PWM device given a device tree PWM specifier * @of_pwm_n_cells: number of cells expected in the device tree PWM specifier -* @can_sleep: must be true if the .config(), .enable() or .disable() -* operations may sleep */ struct pwm_chip {struct device *dev;
@@ -302,7 +300,6 @@ struct pwm_chip {struct pwm_device * (*of_xlate)(struct pwm_chip *pc,const struct of_phandle_args *args);unsigned int of_pwm_n_cells; -bool can_sleep; };/**
Signature · 1 line
2.11.0
kbuild test robot
build botreproduce:
Hi Thierry,
[auto build test ERROR on pwm/for-next]
[also build test ERROR on v4.10-rc2 next-20170104]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Thierry-Reding/pwm-Remove-pwm_can_sleep/20170104-222234 base: https://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm.git for-next config: x86_64-randconfig-i0-201701 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>):
drivers/leds/leds-pwm.c: In function 'led_pwm_add':
>> drivers/leds/leds-pwm.c:115:2: error: implicit declaration of function 'pwm_can_sleep' [-Werror=implicit-function-declaration]
led_data->can_sleep = pwm_can_sleep(led_data->pwm);
^cc1: some warnings being treated as errors
vim +/pwm_can_sleep +115 drivers/leds/leds-pwm.c
5f7b03dc Russell King 2014-04-06 109 ret = PTR_ERR(led_data->pwm); 5f7b03dc Russell King 2014-04-06 110 dev_err(dev, "unable to request PWM for %s: %d\n", 5f7b03dc Russell King 2014-04-06 111 led->name, ret); 5f7b03dc Russell King 2014-04-06 112 return ret; 5f7b03dc Russell King 2014-04-06 113 } 5f7b03dc Russell King 2014-04-06 114 5f7b03dc Russell King 2014-04-06 @115 led_data->can_sleep = pwm_can_sleep(led_data->pwm); 9aa07625 Jacek Anaszewski 2015-08-20 116 if (!led_data->can_sleep) 9aa07625 Jacek Anaszewski 2015-08-20 117 led_data->cdev.brightness_set = led_pwm_set; 9aa07625 Jacek Anaszewski 2015-08-20 118 else
:::::: The code at line 115 was first introduced by commit
:::::: 5f7b03dc2ab5f4ca16e5d6bc3e6dcd2953c6fede leds: leds-pwm: provide a common function to setup a single led-pwm device
:::::: TO: Russell King <[email protected]> :::::: CC: Bryan Wu <[email protected]>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel