Hi Thierry,

Today's linux-next merge of the pwm tree got a conflict in
drivers/pwm/pwm-tiecap.c between commit 3e9fe83d278c ("pwm: remove use of
__devinit") from the driver-core tree and commit 333b08ee8c6e ("pwm:
tiecap: Add device-tree binding") from the pwm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    s...@canb.auug.org.au

diff --cc drivers/pwm/pwm-tiecap.c
index 87c091b,b4f9d47..0000000
--- a/drivers/pwm/pwm-tiecap.c
+++ b/drivers/pwm/pwm-tiecap.c
@@@ -184,7 -188,13 +188,13 @@@ static const struct pwm_ops ecap_pwm_op
        .owner          = THIS_MODULE,
  };
  
+ static const struct of_device_id ecap_of_match[] = {
+       { .compatible   = "ti,am33xx-ecap" },
+       {},
+ };
+ MODULE_DEVICE_TABLE(of, ecap_of_match);
+ 
 -static int __devinit ecap_pwm_probe(struct platform_device *pdev)
 +static int ecap_pwm_probe(struct platform_device *pdev)
  {
        int ret;
        struct resource *r;
@@@ -231,11 -249,29 +249,29 @@@
        }
  
        pm_runtime_enable(&pdev->dev);
+       pm_runtime_get_sync(&pdev->dev);
+ 
+       status = pwmss_submodule_state_change(pdev->dev.parent,
+                       PWMSS_ECAPCLK_EN);
+       if (!(status & PWMSS_ECAPCLK_EN_ACK)) {
+               dev_err(&pdev->dev, "PWMSS config space clock enable failed\n");
+               ret = -EINVAL;
+               goto pwmss_clk_failure;
+       }
+ 
+       pm_runtime_put_sync(&pdev->dev);
+ 
        platform_set_drvdata(pdev, pc);
        return 0;
+ 
+ pwmss_clk_failure:
+       pm_runtime_put_sync(&pdev->dev);
+       pm_runtime_disable(&pdev->dev);
+       pwmchip_remove(&pc->chip);
+       return ret;
  }
  
 -static int __devexit ecap_pwm_remove(struct platform_device *pdev)
 +static int ecap_pwm_remove(struct platform_device *pdev)
  {
        struct ecap_pwm_chip *pc = platform_get_drvdata(pdev);
  
@@@ -246,10 -290,12 +290,12 @@@
  
  static struct platform_driver ecap_pwm_driver = {
        .driver = {
-               .name = "ecap",
+               .name   = "ecap",
+               .owner  = THIS_MODULE,
+               .of_match_table = ecap_of_match,
        },
        .probe = ecap_pwm_probe,
 -      .remove = __devexit_p(ecap_pwm_remove),
 +      .remove = ecap_pwm_remove,
  };
  
  module_platform_driver(ecap_pwm_driver);

Attachment: pgp40SlhQqUjL.pgp
Description: PGP signature

Reply via email to