diff for duplicates of <20160425171332.468f0bc0@xhacker> diff --git a/a/1.txt b/N1/1.txt index f175814..18e6492 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -19,19 +19,19 @@ On Mon, 25 Apr 2016 12:07:15 +0300 Andy Shevchenko wrote: > > > > > > Signed-off-by: Jisheng Zhang <jszhang@marvell.com> > > > --- -> > > Since v3: -> > > - use runtime PM rather than rpm in commit msg -> > > - remove duplicated "(" in commit msg +> > > ? Since v3: +> > > ???- use runtime PM rather than rpm in commit msg +> > > ???- remove duplicated "(" in commit msg > > > -> > > Since v2: -> > > - s/clk/clock -> > > - describe why use pm_runtime_put_noidle() +> > > ? Since v2: +> > > ???- s/clk/clock +> > > ???- describe why use pm_runtime_put_noidle() > > > -> > > Since v1: -> > > - fix commit msg: "not rely on rpm" rather than "rely on rpm" -> > > - call i2c_dw_plat_prepare_clk after pm_rumtime_disable() -> > > drivers/i2c/busses/i2c-designware-platdrv.c | 16 ++++++++++------ -> > > 1 file changed, 10 insertions(+), 6 deletions(-) +> > > ? Since v1: +> > > ???- fix commit msg: "not rely on rpm" rather than "rely on rpm" +> > > ???- call i2c_dw_plat_prepare_clk after pm_rumtime_disable() +> > > ? drivers/i2c/busses/i2c-designware-platdrv.c | 16 ++++++++++------ +> > > ? 1 file changed, 10 insertions(+), 6 deletions(-) > > > > > > diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c > > > b/drivers/i2c/busses/i2c-designware-platdrv.c @@ -40,9 +40,9 @@ On Mon, 25 Apr 2016 12:07:15 +0300 Andy Shevchenko wrote: > > > +++ b/drivers/i2c/busses/i2c-designware-platdrv.c > > > @@ -253,8 +253,11 @@ static int dw_i2c_plat_probe(struct > > > platform_device *pdev) -> > > } +> > > ?? } > > > -> > > r = i2c_dw_probe(dev); +> > > ?? r = i2c_dw_probe(dev); > > > - if (r && !dev->pm_runtime_disabled) > > > - pm_runtime_disable(&pdev->dev); > > > + if (r) { @@ -51,21 +51,21 @@ On Mon, 25 Apr 2016 12:07:15 +0300 Andy Shevchenko wrote: > > > + i2c_dw_plat_prepare_clk(dev, false); > > > + } > > > -> > > return r; -> > > } +> > > ?? return r; +> > > ? } > > > @@ -264,15 +267,16 @@ static int dw_i2c_plat_remove(struct > > > platform_device *pdev) -> > > struct dw_i2c_dev *dev = platform_get_drvdata(pdev); +> > > ?? struct dw_i2c_dev *dev = platform_get_drvdata(pdev); > > > -> > > pm_runtime_get_sync(&pdev->dev); +> > > ?? pm_runtime_get_sync(&pdev->dev); > > > + pm_runtime_dont_use_autosuspend(&pdev->dev); > > > + if (!dev->pm_runtime_disabled) > > > + pm_runtime_disable(&pdev->dev); > > > + pm_runtime_put_noidle(&pdev->dev); > > > -> > > i2c_del_adapter(&dev->adapter); +> > > ?? i2c_del_adapter(&dev->adapter); > > > -> > > i2c_dw_disable(dev); +> > > ?? i2c_dw_disable(dev); > > > > > > - pm_runtime_dont_use_autosuspend(&pdev->dev); > > > - pm_runtime_put_sync(&pdev->dev); @@ -73,45 +73,45 @@ On Mon, 25 Apr 2016 12:07:15 +0300 Andy Shevchenko wrote: > > > - pm_runtime_disable(&pdev->dev); > > > + i2c_dw_plat_prepare_clk(dev, false); > > > -> > This feels a bit an invasive change to me for unbalanced clock -> > enable/disable and I noticed this changes semantics how +> > This feels a bit an invasive change to me for unbalanced clock? +> > enable/disable and I noticed this changes semantics how? > > drivers/acpi/acpi_lpss.c devices are shutdown when removing the -> > driver. +> > driver.? > > Although I didn't notice does it cause any regression. > > > > Before patch: > > 1. drivers/base/dd.c: __device_release_driver() -> > - pm_runtime_get_sync() -> > -> acpi_device_set_power(D0) -> > acpi_lpss_restore_ctx() -> > dw_i2c_plat_resume() +> > ????- pm_runtime_get_sync() +> > ??????-> acpi_device_set_power(D0) +> > ?????????acpi_lpss_restore_ctx() +> > ?????????dw_i2c_plat_resume() > > 2. dw_i2c_plat_remove() -> > - pm_runtime_dont_use_autosuspend() -> > pm_runtime_put_sync() -> > -> dw_i2c_plat_suspend() -> > acpi_lpss_save_ctx() -> > acpi_device_set_power(D3) +> > ????- pm_runtime_dont_use_autosuspend() +> > ??????pm_runtime_put_sync() +> > ??????-> dw_i2c_plat_suspend() +> > ?????????acpi_lpss_save_ctx() +> > ?????????acpi_device_set_power(D3) > > 3. __device_release_driver() continue -> > - dev->pm_domain->dismiss(dev) -> > -> acpi_lpss_dismiss() ... -> acpi_device_set_power(D3) +> > ????- dev->pm_domain->dismiss(dev) +> > ??????-> acpi_lpss_dismiss() ... -> acpi_device_set_power(D3) > > > > After patch: > > 1. drivers/base/dd.c: __device_release_driver() -> > - pm_runtime_get_sync() -> > -> acpi_device_set_power(D0) -> > acpi_lpss_restore_ctx() -> > dw_i2c_plat_resume() +> > ? - pm_runtime_get_sync() +> > ????-> acpi_device_set_power(D0) +> > ???????acpi_lpss_restore_ctx() +> > ???????dw_i2c_plat_resume() > > 2. dw_i2c_plat_remove() -> > - pm_runtime_dont_use_autosuspend() -> > pm_runtime_put_noidle() -> > * no device suspending and acpi_lpss_save_ctx() +> > ????- pm_runtime_dont_use_autosuspend() +> > ??????pm_runtime_put_noidle() +> > ??????* no device suspending and acpi_lpss_save_ctx() > > 3. __device_release_driver() continue -> > - dev->pm_domain->dismiss(dev) -> > -> acpi_lpss_dismiss() ... -> acpi_device_set_power(D3) -> > * powers down here +> > ????- dev->pm_domain->dismiss(dev) +> > ????-> acpi_lpss_dismiss() ... -> acpi_device_set_power(D3) +> > ??????* powers down here > > -> > So after patch there is no acpi_lpss_save_ctx() call but I don't see -> > does it cause any issue here. Maybe it's better to track clock only. +> > So after patch there is no acpi_lpss_save_ctx() call but I don't see? +> > does it cause any issue here. Maybe it's better to track clock only.? > > What you think Andy? > > Now it looks like two fixes in one patch. From the commit message I diff --git a/a/content_digest b/N1/content_digest index 541d5bf..81bb379 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,16 +1,10 @@ "ref\01461314971-5944-1-git-send-email-jszhang@marvell.com\0" "ref\0571A2E43.9030109@linux.intel.com\0" "ref\01461575235.17131.3.camel@linux.intel.com\0" - "From\0Jisheng Zhang <jszhang@marvell.com>\0" - "Subject\0Re: [PATCH v4] i2c: designware-platdrv: fix unbalanced clk enable and prepare\0" + "From\0jszhang@marvell.com (Jisheng Zhang)\0" + "Subject\0[PATCH v4] i2c: designware-platdrv: fix unbalanced clk enable and prepare\0" "Date\0Mon, 25 Apr 2016 17:13:32 +0800\0" - "To\0Andy Shevchenko <andriy.shevchenko@linux.intel.com>\0" - "Cc\0Jarkko Nikula <jarkko.nikula@linux.intel.com>" - mika.westerberg@linux.intel.com - wsa@the-dreams.de - linux-i2c@vger.kernel.org - linux-kernel@vger.kernel.org - " linux-arm-kernel@lists.infradead.org\0" + "To\0linux-arm-kernel@lists.infradead.org\0" "\00:1\0" "b\0" "Dear Andy\n" @@ -34,19 +28,19 @@ "> > > \n" "> > > Signed-off-by: Jisheng Zhang <jszhang@marvell.com>\n" "> > > ---\n" - "> > > \302\240 Since v3:\n" - "> > > \302\240\302\240\302\240- use runtime PM rather than rpm in commit msg\n" - "> > > \302\240\302\240\302\240- remove duplicated \"(\" in commit msg\n" + "> > > ? Since v3:\n" + "> > > ???- use runtime PM rather than rpm in commit msg\n" + "> > > ???- remove duplicated \"(\" in commit msg\n" "> > > \n" - "> > > \302\240 Since v2:\n" - "> > > \302\240\302\240\302\240- s/clk/clock\n" - "> > > \302\240\302\240\302\240- describe why use pm_runtime_put_noidle()\n" + "> > > ? Since v2:\n" + "> > > ???- s/clk/clock\n" + "> > > ???- describe why use pm_runtime_put_noidle()\n" "> > > \n" - "> > > \302\240 Since v1:\n" - "> > > \302\240\302\240\302\240- fix commit msg: \"not rely on rpm\" rather than \"rely on rpm\"\n" - "> > > \302\240\302\240\302\240- call i2c_dw_plat_prepare_clk after pm_rumtime_disable()\n" - "> > > \302\240 drivers/i2c/busses/i2c-designware-platdrv.c | 16 ++++++++++------\n" - "> > > \302\240 1 file changed, 10 insertions(+), 6 deletions(-)\n" + "> > > ? Since v1:\n" + "> > > ???- fix commit msg: \"not rely on rpm\" rather than \"rely on rpm\"\n" + "> > > ???- call i2c_dw_plat_prepare_clk after pm_rumtime_disable()\n" + "> > > ? drivers/i2c/busses/i2c-designware-platdrv.c | 16 ++++++++++------\n" + "> > > ? 1 file changed, 10 insertions(+), 6 deletions(-)\n" "> > > \n" "> > > diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c\n" "> > > b/drivers/i2c/busses/i2c-designware-platdrv.c\n" @@ -55,9 +49,9 @@ "> > > +++ b/drivers/i2c/busses/i2c-designware-platdrv.c\n" "> > > @@ -253,8 +253,11 @@ static int dw_i2c_plat_probe(struct\n" "> > > platform_device *pdev)\n" - "> > > \302\240\302\240\t}\n" + "> > > ??\t}\n" "> > > \n" - "> > > \302\240\302\240\tr = i2c_dw_probe(dev);\n" + "> > > ??\tr = i2c_dw_probe(dev);\n" "> > > -\tif (r && !dev->pm_runtime_disabled)\n" "> > > -\t\tpm_runtime_disable(&pdev->dev);\n" "> > > +\tif (r) {\n" @@ -66,21 +60,21 @@ "> > > +\t\ti2c_dw_plat_prepare_clk(dev, false);\n" "> > > +\t}\n" "> > > \n" - "> > > \302\240\302\240\treturn r;\n" - "> > > \302\240 }\n" + "> > > ??\treturn r;\n" + "> > > ? }\n" "> > > @@ -264,15 +267,16 @@ static int dw_i2c_plat_remove(struct\n" "> > > platform_device *pdev)\n" - "> > > \302\240\302\240\tstruct dw_i2c_dev *dev = platform_get_drvdata(pdev);\n" + "> > > ??\tstruct dw_i2c_dev *dev = platform_get_drvdata(pdev);\n" "> > > \n" - "> > > \302\240\302\240\tpm_runtime_get_sync(&pdev->dev);\n" + "> > > ??\tpm_runtime_get_sync(&pdev->dev);\n" "> > > +\tpm_runtime_dont_use_autosuspend(&pdev->dev);\n" "> > > +\tif (!dev->pm_runtime_disabled)\n" "> > > +\t\tpm_runtime_disable(&pdev->dev);\n" "> > > +\tpm_runtime_put_noidle(&pdev->dev);\n" "> > > \n" - "> > > \302\240\302\240\ti2c_del_adapter(&dev->adapter);\n" + "> > > ??\ti2c_del_adapter(&dev->adapter);\n" "> > > \n" - "> > > \302\240\302\240\ti2c_dw_disable(dev);\n" + "> > > ??\ti2c_dw_disable(dev);\n" "> > > \n" "> > > -\tpm_runtime_dont_use_autosuspend(&pdev->dev);\n" "> > > -\tpm_runtime_put_sync(&pdev->dev);\n" @@ -88,45 +82,45 @@ "> > > -\t\tpm_runtime_disable(&pdev->dev);\n" "> > > +\ti2c_dw_plat_prepare_clk(dev, false);\n" "> > > \n" - "> > This feels a bit an invasive change to me for unbalanced clock\302\240\n" - "> > enable/disable and I noticed this changes semantics how\302\240\n" + "> > This feels a bit an invasive change to me for unbalanced clock?\n" + "> > enable/disable and I noticed this changes semantics how?\n" "> > drivers/acpi/acpi_lpss.c devices are shutdown when removing the\n" - "> > driver.\302\240\n" + "> > driver.?\n" "> > Although I didn't notice does it cause any regression.\n" "> > \n" "> > Before patch:\n" "> > 1. drivers/base/dd.c: __device_release_driver()\n" - "> > \302\240\302\240\302\240\302\240- pm_runtime_get_sync()\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240-> acpi_device_set_power(D0)\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240acpi_lpss_restore_ctx()\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240dw_i2c_plat_resume()\n" + "> > ????- pm_runtime_get_sync()\n" + "> > ??????-> acpi_device_set_power(D0)\n" + "> > ?????????acpi_lpss_restore_ctx()\n" + "> > ?????????dw_i2c_plat_resume()\n" "> > 2. dw_i2c_plat_remove()\n" - "> > \302\240\302\240\302\240\302\240- pm_runtime_dont_use_autosuspend()\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240pm_runtime_put_sync()\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240-> dw_i2c_plat_suspend()\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240acpi_lpss_save_ctx()\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240acpi_device_set_power(D3)\n" + "> > ????- pm_runtime_dont_use_autosuspend()\n" + "> > ??????pm_runtime_put_sync()\n" + "> > ??????-> dw_i2c_plat_suspend()\n" + "> > ?????????acpi_lpss_save_ctx()\n" + "> > ?????????acpi_device_set_power(D3)\n" "> > 3. __device_release_driver() continue\n" - "> > \302\240\302\240\302\240\302\240- dev->pm_domain->dismiss(dev)\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240-> acpi_lpss_dismiss() ... -> acpi_device_set_power(D3)\n" + "> > ????- dev->pm_domain->dismiss(dev)\n" + "> > ??????-> acpi_lpss_dismiss() ... -> acpi_device_set_power(D3)\n" "> > \n" "> > After patch:\n" "> > 1. drivers/base/dd.c: __device_release_driver()\n" - "> > \302\240 - pm_runtime_get_sync()\n" - "> > \302\240\302\240\302\240\302\240-> acpi_device_set_power(D0)\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240acpi_lpss_restore_ctx()\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240\302\240dw_i2c_plat_resume()\n" + "> > ? - pm_runtime_get_sync()\n" + "> > ????-> acpi_device_set_power(D0)\n" + "> > ???????acpi_lpss_restore_ctx()\n" + "> > ???????dw_i2c_plat_resume()\n" "> > 2. dw_i2c_plat_remove()\n" - "> > \302\240\302\240\302\240\302\240- pm_runtime_dont_use_autosuspend()\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240pm_runtime_put_noidle()\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240* no device suspending and acpi_lpss_save_ctx()\n" + "> > ????- pm_runtime_dont_use_autosuspend()\n" + "> > ??????pm_runtime_put_noidle()\n" + "> > ??????* no device suspending and acpi_lpss_save_ctx()\n" "> > 3. __device_release_driver() continue\n" - "> > \302\240\302\240\302\240\302\240- dev->pm_domain->dismiss(dev)\n" - "> > \302\240\302\240\302\240\302\240-> acpi_lpss_dismiss() ... -> acpi_device_set_power(D3)\n" - "> > \302\240\302\240\302\240\302\240\302\240\302\240* powers down here\n" + "> > ????- dev->pm_domain->dismiss(dev)\n" + "> > ????-> acpi_lpss_dismiss() ... -> acpi_device_set_power(D3)\n" + "> > ??????* powers down here\n" "> > \n" - "> > So after patch there is no acpi_lpss_save_ctx() call but I don't see\302\240\n" - "> > does it cause any issue here. Maybe it's better to track clock only.\302\240\n" + "> > So after patch there is no acpi_lpss_save_ctx() call but I don't see?\n" + "> > does it cause any issue here. Maybe it's better to track clock only.?\n" "> > What you think Andy? \n" "> \n" "> Now it looks like two fixes in one patch. From the commit message I\n" @@ -145,4 +139,4 @@ "Thanks,\n" Jisheng -43394a86093081980e22f3baf20f28aa1a447be236850a8cbba7a0d80112c652 +5990bcb622e9ed78b1d77c6ac02d03e67d36abb2a874b7ebd55455d4f8af8bd0
diff --git a/a/content_digest b/N2/content_digest index 541d5bf..b5effe4 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -6,11 +6,11 @@ "Date\0Mon, 25 Apr 2016 17:13:32 +0800\0" "To\0Andy Shevchenko <andriy.shevchenko@linux.intel.com>\0" "Cc\0Jarkko Nikula <jarkko.nikula@linux.intel.com>" - mika.westerberg@linux.intel.com - wsa@the-dreams.de - linux-i2c@vger.kernel.org - linux-kernel@vger.kernel.org - " linux-arm-kernel@lists.infradead.org\0" + <mika.westerberg@linux.intel.com> + <wsa@the-dreams.de> + <linux-i2c@vger.kernel.org> + <linux-kernel@vger.kernel.org> + " <linux-arm-kernel@lists.infradead.org>\0" "\00:1\0" "b\0" "Dear Andy\n" @@ -145,4 +145,4 @@ "Thanks,\n" Jisheng -43394a86093081980e22f3baf20f28aa1a447be236850a8cbba7a0d80112c652 +2b3618f3c482660bfb658bffe1e62bfafe667a62328076429ca3bc5ae1db5ad3
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.