* [PATCH] media: st-delta: Fix PM disable depth imbalance in delta_probe
@ 2022-01-05 11:55 Miaoqian Lin
2022-01-05 21:05 ` kernel test robot
2022-03-01 3:12 ` [PATCH v2] " Miaoqian Lin
0 siblings, 2 replies; 8+ messages in thread
From: Miaoqian Lin @ 2022-01-05 11:55 UTC (permalink / raw)
Cc: linmq006, Hugues Fruchet, Mauro Carvalho Chehab, Peter Griffin,
linux-media, linux-kernel
The pm_runtime_enable will increase power disable depth.
If the probe fails, we should use pm_runtime_disable() to balance
pm_runtime_enable().
Fixes: f386509 ("[media] st-delta: STiH4xx multi-format video decoder v4l2 driver")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
drivers/media/platform/sti/delta/delta-v4l2.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/media/platform/sti/delta/delta-v4l2.c b/drivers/media/platform/sti/delta/delta-v4l2.c
index c887a31ebb54..dbcfd0484da4 100644
--- a/drivers/media/platform/sti/delta/delta-v4l2.c
+++ b/drivers/media/platform/sti/delta/delta-v4l2.c
@@ -1898,6 +1898,8 @@ static int delta_probe(struct platform_device *pdev)
destroy_workqueue(delta->work_queue);
err_v4l2:
v4l2_device_unregister(&delta->v4l2_dev);
+disable_pm_runtime:
+ pm_runtime_disable(dev);
err:
return ret;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] media: st-delta: Fix PM disable depth imbalance in delta_probe
2022-01-05 11:55 [PATCH] media: st-delta: Fix PM disable depth imbalance in delta_probe Miaoqian Lin
@ 2022-01-05 21:05 ` kernel test robot
2022-03-01 3:12 ` [PATCH v2] " Miaoqian Lin
1 sibling, 0 replies; 8+ messages in thread
From: kernel test robot @ 2022-01-05 21:05 UTC (permalink / raw)
To: Miaoqian Lin; +Cc: llvm, kbuild-all
Hi Miaoqian,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on media-tree/master]
[also build test WARNING on v5.16-rc8 next-20220105]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Miaoqian-Lin/media-st-delta-Fix-PM-disable-depth-imbalance-in-delta_probe/20220105-195600
base: git://linuxtv.org/media_tree.git master
config: riscv-randconfig-r022-20220105 (https://download.01.org/0day-ci/archive/20220106/202201060446.2MV9VJaE-lkp@intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d5b6e30ed3acad794dd0aec400e617daffc6cc3d)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/df377b6adc1cca5963348f9ac16f033e5da299cb
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Miaoqian-Lin/media-st-delta-Fix-PM-disable-depth-imbalance-in-delta_probe/20220105-195600
git checkout df377b6adc1cca5963348f9ac16f033e5da299cb
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/media/platform/sti/bdisp/ drivers/media/platform/sti/delta/ drivers/media/platform/sti/hva/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/media/platform/sti/delta/delta-v4l2.c:1901:1: warning: unused label 'disable_pm_runtime' [-Wunused-label]
disable_pm_runtime:
^~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +/disable_pm_runtime +1901 drivers/media/platform/sti/delta/delta-v4l2.c
1812
1813 static int delta_probe(struct platform_device *pdev)
1814 {
1815 struct delta_dev *delta;
1816 struct device *dev = &pdev->dev;
1817 int ret;
1818
1819 delta = devm_kzalloc(dev, sizeof(*delta), GFP_KERNEL);
1820 if (!delta) {
1821 ret = -ENOMEM;
1822 goto err;
1823 }
1824
1825 delta->dev = dev;
1826 delta->pdev = pdev;
1827 platform_set_drvdata(pdev, delta);
1828
1829 mutex_init(&delta->lock);
1830
1831 /* get clock resources */
1832 delta->clk_delta = devm_clk_get(dev, "delta");
1833 if (IS_ERR(delta->clk_delta)) {
1834 dev_dbg(dev, "%s can't get delta clock\n", DELTA_PREFIX);
1835 delta->clk_delta = NULL;
1836 }
1837
1838 delta->clk_st231 = devm_clk_get(dev, "delta-st231");
1839 if (IS_ERR(delta->clk_st231)) {
1840 dev_dbg(dev, "%s can't get delta-st231 clock\n", DELTA_PREFIX);
1841 delta->clk_st231 = NULL;
1842 }
1843
1844 delta->clk_flash_promip = devm_clk_get(dev, "delta-flash-promip");
1845 if (IS_ERR(delta->clk_flash_promip)) {
1846 dev_dbg(dev, "%s can't get delta-flash-promip clock\n",
1847 DELTA_PREFIX);
1848 delta->clk_flash_promip = NULL;
1849 }
1850
1851 /* init pm_runtime used for power management */
1852 pm_runtime_set_autosuspend_delay(dev, DELTA_HW_AUTOSUSPEND_DELAY_MS);
1853 pm_runtime_use_autosuspend(dev);
1854 pm_runtime_set_suspended(dev);
1855 pm_runtime_enable(dev);
1856
1857 /* init firmware ipc channel */
1858 ret = delta_ipc_init(delta);
1859 if (ret) {
1860 dev_err(delta->dev, "%s failed to initialize firmware ipc channel\n",
1861 DELTA_PREFIX);
1862 goto err;
1863 }
1864
1865 /* register all available decoders */
1866 register_decoders(delta);
1867
1868 /* register all supported formats */
1869 register_formats(delta);
1870
1871 /* register on V4L2 */
1872 ret = v4l2_device_register(dev, &delta->v4l2_dev);
1873 if (ret) {
1874 dev_err(delta->dev, "%s failed to register V4L2 device\n",
1875 DELTA_PREFIX);
1876 goto err;
1877 }
1878
1879 delta->work_queue = create_workqueue(DELTA_NAME);
1880 if (!delta->work_queue) {
1881 dev_err(delta->dev, "%s failed to allocate work queue\n",
1882 DELTA_PREFIX);
1883 ret = -ENOMEM;
1884 goto err_v4l2;
1885 }
1886
1887 /* register device */
1888 ret = delta_register_device(delta);
1889 if (ret)
1890 goto err_work_queue;
1891
1892 dev_info(dev, "%s %s registered as /dev/video%d\n",
1893 DELTA_PREFIX, delta->vdev->name, delta->vdev->num);
1894
1895 return 0;
1896
1897 err_work_queue:
1898 destroy_workqueue(delta->work_queue);
1899 err_v4l2:
1900 v4l2_device_unregister(&delta->v4l2_dev);
> 1901 disable_pm_runtime:
1902 pm_runtime_disable(dev);
1903 err:
1904 return ret;
1905 }
1906
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] media: st-delta: Fix PM disable depth imbalance in delta_probe
@ 2022-01-05 21:05 ` kernel test robot
0 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2022-01-05 21:05 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 5285 bytes --]
Hi Miaoqian,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on media-tree/master]
[also build test WARNING on v5.16-rc8 next-20220105]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Miaoqian-Lin/media-st-delta-Fix-PM-disable-depth-imbalance-in-delta_probe/20220105-195600
base: git://linuxtv.org/media_tree.git master
config: riscv-randconfig-r022-20220105 (https://download.01.org/0day-ci/archive/20220106/202201060446.2MV9VJaE-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d5b6e30ed3acad794dd0aec400e617daffc6cc3d)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/df377b6adc1cca5963348f9ac16f033e5da299cb
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Miaoqian-Lin/media-st-delta-Fix-PM-disable-depth-imbalance-in-delta_probe/20220105-195600
git checkout df377b6adc1cca5963348f9ac16f033e5da299cb
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/media/platform/sti/bdisp/ drivers/media/platform/sti/delta/ drivers/media/platform/sti/hva/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/media/platform/sti/delta/delta-v4l2.c:1901:1: warning: unused label 'disable_pm_runtime' [-Wunused-label]
disable_pm_runtime:
^~~~~~~~~~~~~~~~~~~
1 warning generated.
vim +/disable_pm_runtime +1901 drivers/media/platform/sti/delta/delta-v4l2.c
1812
1813 static int delta_probe(struct platform_device *pdev)
1814 {
1815 struct delta_dev *delta;
1816 struct device *dev = &pdev->dev;
1817 int ret;
1818
1819 delta = devm_kzalloc(dev, sizeof(*delta), GFP_KERNEL);
1820 if (!delta) {
1821 ret = -ENOMEM;
1822 goto err;
1823 }
1824
1825 delta->dev = dev;
1826 delta->pdev = pdev;
1827 platform_set_drvdata(pdev, delta);
1828
1829 mutex_init(&delta->lock);
1830
1831 /* get clock resources */
1832 delta->clk_delta = devm_clk_get(dev, "delta");
1833 if (IS_ERR(delta->clk_delta)) {
1834 dev_dbg(dev, "%s can't get delta clock\n", DELTA_PREFIX);
1835 delta->clk_delta = NULL;
1836 }
1837
1838 delta->clk_st231 = devm_clk_get(dev, "delta-st231");
1839 if (IS_ERR(delta->clk_st231)) {
1840 dev_dbg(dev, "%s can't get delta-st231 clock\n", DELTA_PREFIX);
1841 delta->clk_st231 = NULL;
1842 }
1843
1844 delta->clk_flash_promip = devm_clk_get(dev, "delta-flash-promip");
1845 if (IS_ERR(delta->clk_flash_promip)) {
1846 dev_dbg(dev, "%s can't get delta-flash-promip clock\n",
1847 DELTA_PREFIX);
1848 delta->clk_flash_promip = NULL;
1849 }
1850
1851 /* init pm_runtime used for power management */
1852 pm_runtime_set_autosuspend_delay(dev, DELTA_HW_AUTOSUSPEND_DELAY_MS);
1853 pm_runtime_use_autosuspend(dev);
1854 pm_runtime_set_suspended(dev);
1855 pm_runtime_enable(dev);
1856
1857 /* init firmware ipc channel */
1858 ret = delta_ipc_init(delta);
1859 if (ret) {
1860 dev_err(delta->dev, "%s failed to initialize firmware ipc channel\n",
1861 DELTA_PREFIX);
1862 goto err;
1863 }
1864
1865 /* register all available decoders */
1866 register_decoders(delta);
1867
1868 /* register all supported formats */
1869 register_formats(delta);
1870
1871 /* register on V4L2 */
1872 ret = v4l2_device_register(dev, &delta->v4l2_dev);
1873 if (ret) {
1874 dev_err(delta->dev, "%s failed to register V4L2 device\n",
1875 DELTA_PREFIX);
1876 goto err;
1877 }
1878
1879 delta->work_queue = create_workqueue(DELTA_NAME);
1880 if (!delta->work_queue) {
1881 dev_err(delta->dev, "%s failed to allocate work queue\n",
1882 DELTA_PREFIX);
1883 ret = -ENOMEM;
1884 goto err_v4l2;
1885 }
1886
1887 /* register device */
1888 ret = delta_register_device(delta);
1889 if (ret)
1890 goto err_work_queue;
1891
1892 dev_info(dev, "%s %s registered as /dev/video%d\n",
1893 DELTA_PREFIX, delta->vdev->name, delta->vdev->num);
1894
1895 return 0;
1896
1897 err_work_queue:
1898 destroy_workqueue(delta->work_queue);
1899 err_v4l2:
1900 v4l2_device_unregister(&delta->v4l2_dev);
> 1901 disable_pm_runtime:
1902 pm_runtime_disable(dev);
1903 err:
1904 return ret;
1905 }
1906
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2] media: st-delta: Fix PM disable depth imbalance in delta_probe
2022-01-05 11:55 [PATCH] media: st-delta: Fix PM disable depth imbalance in delta_probe Miaoqian Lin
2022-01-05 21:05 ` kernel test robot
@ 2022-03-01 3:12 ` Miaoqian Lin
2022-03-07 7:35 ` Hans Verkuil
1 sibling, 1 reply; 8+ messages in thread
From: Miaoqian Lin @ 2022-03-01 3:12 UTC (permalink / raw)
To: Hugues Fruchet, Mauro Carvalho Chehab, Peter Griffin,
linux-media, linux-kernel
Cc: linmq006
The pm_runtime_enable will increase power disable depth.
If the probe fails, we should use pm_runtime_disable() to balance
pm_runtime_enable().
Fixes: f386509 ("[media] st-delta: STiH4xx multi-format video decoder v4l2 driver")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
changes in v2:
- remove unused label.
---
drivers/media/platform/sti/delta/delta-v4l2.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/media/platform/sti/delta/delta-v4l2.c b/drivers/media/platform/sti/delta/delta-v4l2.c
index c887a31ebb54..36ce0775f3f9 100644
--- a/drivers/media/platform/sti/delta/delta-v4l2.c
+++ b/drivers/media/platform/sti/delta/delta-v4l2.c
@@ -1899,6 +1899,7 @@ static int delta_probe(struct platform_device *pdev)
err_v4l2:
v4l2_device_unregister(&delta->v4l2_dev);
err:
+ pm_runtime_disable(dev);
return ret;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2] media: st-delta: Fix PM disable depth imbalance in delta_probe
2022-03-01 3:12 ` [PATCH v2] " Miaoqian Lin
@ 2022-03-07 7:35 ` Hans Verkuil
2022-03-07 8:08 ` [PATCH v3] " Miaoqian Lin
0 siblings, 1 reply; 8+ messages in thread
From: Hans Verkuil @ 2022-03-07 7:35 UTC (permalink / raw)
To: Miaoqian Lin, Hugues Fruchet, Mauro Carvalho Chehab,
Peter Griffin, linux-media, linux-kernel
Hi Miaoqian Lin,
On 3/1/22 04:12, Miaoqian Lin wrote:
> The pm_runtime_enable will increase power disable depth.
> If the probe fails, we should use pm_runtime_disable() to balance
> pm_runtime_enable().
>
> Fixes: f386509 ("[media] st-delta: STiH4xx multi-format video decoder v4l2 driver")
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> ---
> changes in v2:
> - remove unused label.
> ---
> drivers/media/platform/sti/delta/delta-v4l2.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/media/platform/sti/delta/delta-v4l2.c b/drivers/media/platform/sti/delta/delta-v4l2.c
> index c887a31ebb54..36ce0775f3f9 100644
> --- a/drivers/media/platform/sti/delta/delta-v4l2.c
> +++ b/drivers/media/platform/sti/delta/delta-v4l2.c
> @@ -1899,6 +1899,7 @@ static int delta_probe(struct platform_device *pdev)
> err_v4l2:
> v4l2_device_unregister(&delta->v4l2_dev);
> err:
> + pm_runtime_disable(dev);
This isn't right. If the devm_kzalloc at the beginning fails, then it also jump
to this label, but at that time no pm_runtime_enable() has been called yet,
so this patch will just introduce another imbalance.
You *do* need a new label here (like you did in v1 of this patch), and update
the 'goto err;' instances after the call to pm_runtime_enable() to go to that
new label.
Regards,
Hans
> return ret;
> }
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3] media: st-delta: Fix PM disable depth imbalance in delta_probe
2022-03-07 7:35 ` Hans Verkuil
@ 2022-03-07 8:08 ` Miaoqian Lin
2022-03-10 16:32 ` Hugues FRUCHET - FOSS
0 siblings, 1 reply; 8+ messages in thread
From: Miaoqian Lin @ 2022-03-07 8:08 UTC (permalink / raw)
To: Hugues Fruchet, Mauro Carvalho Chehab, Peter Griffin,
linux-media, linux-kernel
Cc: linmq006
The pm_runtime_enable will decrease power disable depth.
If the probe fails, we should use pm_runtime_disable() to balance
pm_runtime_enable().
Fixes: f386509 ("[media] st-delta: STiH4xx multi-format video decoder v4l2 driver")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
---
changes in v2:
- remove unused label.
changes in v3:
- add err_pm_disable label and update related 'goto err'.
- update commit message
---
drivers/media/platform/sti/delta/delta-v4l2.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/media/platform/sti/delta/delta-v4l2.c b/drivers/media/platform/sti/delta/delta-v4l2.c
index c887a31ebb54..420ad4d8df5d 100644
--- a/drivers/media/platform/sti/delta/delta-v4l2.c
+++ b/drivers/media/platform/sti/delta/delta-v4l2.c
@@ -1859,7 +1859,7 @@ static int delta_probe(struct platform_device *pdev)
if (ret) {
dev_err(delta->dev, "%s failed to initialize firmware ipc channel\n",
DELTA_PREFIX);
- goto err;
+ goto err_pm_disable;
}
/* register all available decoders */
@@ -1873,7 +1873,7 @@ static int delta_probe(struct platform_device *pdev)
if (ret) {
dev_err(delta->dev, "%s failed to register V4L2 device\n",
DELTA_PREFIX);
- goto err;
+ goto err_pm_disable;
}
delta->work_queue = create_workqueue(DELTA_NAME);
@@ -1898,6 +1898,8 @@ static int delta_probe(struct platform_device *pdev)
destroy_workqueue(delta->work_queue);
err_v4l2:
v4l2_device_unregister(&delta->v4l2_dev);
+err_pm_disable:
+ pm_runtime_disable(dev);
err:
return ret;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3] media: st-delta: Fix PM disable depth imbalance in delta_probe
2022-03-07 8:08 ` [PATCH v3] " Miaoqian Lin
@ 2022-03-10 16:32 ` Hugues FRUCHET - FOSS
0 siblings, 0 replies; 8+ messages in thread
From: Hugues FRUCHET - FOSS @ 2022-03-10 16:32 UTC (permalink / raw)
To: Miaoqian Lin, Mauro Carvalho Chehab, Peter Griffin, linux-media,
linux-kernel
Hi Miaoqian Lin,
Thanks for the patch !
Acked-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
BR,
Hugues.
On 3/7/22 9:08 AM, Miaoqian Lin wrote:
> The pm_runtime_enable will decrease power disable depth.
> If the probe fails, we should use pm_runtime_disable() to balance
> pm_runtime_enable().
>
> Fixes: f386509 ("[media] st-delta: STiH4xx multi-format video decoder v4l2 driver")
> Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
> ---
> changes in v2:
> - remove unused label.
> changes in v3:
> - add err_pm_disable label and update related 'goto err'.
> - update commit message
> ---
> drivers/media/platform/sti/delta/delta-v4l2.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/platform/sti/delta/delta-v4l2.c b/drivers/media/platform/sti/delta/delta-v4l2.c
> index c887a31ebb54..420ad4d8df5d 100644
> --- a/drivers/media/platform/sti/delta/delta-v4l2.c
> +++ b/drivers/media/platform/sti/delta/delta-v4l2.c
> @@ -1859,7 +1859,7 @@ static int delta_probe(struct platform_device *pdev)
> if (ret) {
> dev_err(delta->dev, "%s failed to initialize firmware ipc channel\n",
> DELTA_PREFIX);
> - goto err;
> + goto err_pm_disable;
> }
>
> /* register all available decoders */
> @@ -1873,7 +1873,7 @@ static int delta_probe(struct platform_device *pdev)
> if (ret) {
> dev_err(delta->dev, "%s failed to register V4L2 device\n",
> DELTA_PREFIX);
> - goto err;
> + goto err_pm_disable;
> }
>
> delta->work_queue = create_workqueue(DELTA_NAME);
> @@ -1898,6 +1898,8 @@ static int delta_probe(struct platform_device *pdev)
> destroy_workqueue(delta->work_queue);
> err_v4l2:
> v4l2_device_unregister(&delta->v4l2_dev);
> +err_pm_disable:
> + pm_runtime_disable(dev);
> err:
> return ret;
> }
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] media: st-delta: Fix PM disable depth imbalance in delta_probe
@ 2022-01-05 23:08 kernel test robot
0 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2022-01-05 23:08 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 9884 bytes --]
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20220105115515.12196-1-linmq006@gmail.com>
References: <20220105115515.12196-1-linmq006@gmail.com>
TO: Miaoqian Lin <linmq006@gmail.com>
Hi Miaoqian,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on media-tree/master]
[also build test WARNING on v5.16-rc8 next-20220105]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Miaoqian-Lin/media-st-delta-Fix-PM-disable-depth-imbalance-in-delta_probe/20220105-195600
base: git://linuxtv.org/media_tree.git master
:::::: branch date: 11 hours ago
:::::: commit date: 11 hours ago
config: mips-randconfig-s032-20220105 (https://download.01.org/0day-ci/archive/20220106/202201060724.NNqAORgm-lkp(a)intel.com/config)
compiler: mipsel-linux-gcc (GCC) 11.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/df377b6adc1cca5963348f9ac16f033e5da299cb
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Miaoqian-Lin/media-st-delta-Fix-PM-disable-depth-imbalance-in-delta_probe/20220105-195600
git checkout df377b6adc1cca5963348f9ac16f033e5da299cb
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=mips SHELL=/bin/bash drivers/media/platform/sti/delta/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
command-line: note: in included file:
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQUIRE redefined
builtin:0:0: sparse: this was the original definition
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_SEQ_CST redefined
builtin:0:0: sparse: this was the original definition
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_ACQ_REL redefined
builtin:0:0: sparse: this was the original definition
builtin:1:9: sparse: sparse: preprocessor token __ATOMIC_RELEASE redefined
builtin:0:0: sparse: this was the original definition
>> drivers/media/platform/sti/delta/delta-v4l2.c:1901:1: sparse: sparse: unused label 'disable_pm_runtime'
vim +/disable_pm_runtime +1901 drivers/media/platform/sti/delta/delta-v4l2.c
f386509e4959459 Hugues Fruchet 2017-02-02 1812
f386509e4959459 Hugues Fruchet 2017-02-02 1813 static int delta_probe(struct platform_device *pdev)
f386509e4959459 Hugues Fruchet 2017-02-02 1814 {
f386509e4959459 Hugues Fruchet 2017-02-02 1815 struct delta_dev *delta;
f386509e4959459 Hugues Fruchet 2017-02-02 1816 struct device *dev = &pdev->dev;
f386509e4959459 Hugues Fruchet 2017-02-02 1817 int ret;
f386509e4959459 Hugues Fruchet 2017-02-02 1818
f386509e4959459 Hugues Fruchet 2017-02-02 1819 delta = devm_kzalloc(dev, sizeof(*delta), GFP_KERNEL);
f386509e4959459 Hugues Fruchet 2017-02-02 1820 if (!delta) {
f386509e4959459 Hugues Fruchet 2017-02-02 1821 ret = -ENOMEM;
f386509e4959459 Hugues Fruchet 2017-02-02 1822 goto err;
f386509e4959459 Hugues Fruchet 2017-02-02 1823 }
f386509e4959459 Hugues Fruchet 2017-02-02 1824
f386509e4959459 Hugues Fruchet 2017-02-02 1825 delta->dev = dev;
f386509e4959459 Hugues Fruchet 2017-02-02 1826 delta->pdev = pdev;
f386509e4959459 Hugues Fruchet 2017-02-02 1827 platform_set_drvdata(pdev, delta);
f386509e4959459 Hugues Fruchet 2017-02-02 1828
f386509e4959459 Hugues Fruchet 2017-02-02 1829 mutex_init(&delta->lock);
f386509e4959459 Hugues Fruchet 2017-02-02 1830
f386509e4959459 Hugues Fruchet 2017-02-02 1831 /* get clock resources */
f386509e4959459 Hugues Fruchet 2017-02-02 1832 delta->clk_delta = devm_clk_get(dev, "delta");
f386509e4959459 Hugues Fruchet 2017-02-02 1833 if (IS_ERR(delta->clk_delta)) {
f386509e4959459 Hugues Fruchet 2017-02-02 1834 dev_dbg(dev, "%s can't get delta clock\n", DELTA_PREFIX);
f386509e4959459 Hugues Fruchet 2017-02-02 1835 delta->clk_delta = NULL;
f386509e4959459 Hugues Fruchet 2017-02-02 1836 }
f386509e4959459 Hugues Fruchet 2017-02-02 1837
f386509e4959459 Hugues Fruchet 2017-02-02 1838 delta->clk_st231 = devm_clk_get(dev, "delta-st231");
f386509e4959459 Hugues Fruchet 2017-02-02 1839 if (IS_ERR(delta->clk_st231)) {
f386509e4959459 Hugues Fruchet 2017-02-02 1840 dev_dbg(dev, "%s can't get delta-st231 clock\n", DELTA_PREFIX);
f386509e4959459 Hugues Fruchet 2017-02-02 1841 delta->clk_st231 = NULL;
f386509e4959459 Hugues Fruchet 2017-02-02 1842 }
f386509e4959459 Hugues Fruchet 2017-02-02 1843
f386509e4959459 Hugues Fruchet 2017-02-02 1844 delta->clk_flash_promip = devm_clk_get(dev, "delta-flash-promip");
f386509e4959459 Hugues Fruchet 2017-02-02 1845 if (IS_ERR(delta->clk_flash_promip)) {
f386509e4959459 Hugues Fruchet 2017-02-02 1846 dev_dbg(dev, "%s can't get delta-flash-promip clock\n",
f386509e4959459 Hugues Fruchet 2017-02-02 1847 DELTA_PREFIX);
f386509e4959459 Hugues Fruchet 2017-02-02 1848 delta->clk_flash_promip = NULL;
f386509e4959459 Hugues Fruchet 2017-02-02 1849 }
f386509e4959459 Hugues Fruchet 2017-02-02 1850
f386509e4959459 Hugues Fruchet 2017-02-02 1851 /* init pm_runtime used for power management */
f386509e4959459 Hugues Fruchet 2017-02-02 1852 pm_runtime_set_autosuspend_delay(dev, DELTA_HW_AUTOSUSPEND_DELAY_MS);
f386509e4959459 Hugues Fruchet 2017-02-02 1853 pm_runtime_use_autosuspend(dev);
f386509e4959459 Hugues Fruchet 2017-02-02 1854 pm_runtime_set_suspended(dev);
f386509e4959459 Hugues Fruchet 2017-02-02 1855 pm_runtime_enable(dev);
f386509e4959459 Hugues Fruchet 2017-02-02 1856
91c83f395fbe7c8 Hugues Fruchet 2017-02-02 1857 /* init firmware ipc channel */
91c83f395fbe7c8 Hugues Fruchet 2017-02-02 1858 ret = delta_ipc_init(delta);
91c83f395fbe7c8 Hugues Fruchet 2017-02-02 1859 if (ret) {
91c83f395fbe7c8 Hugues Fruchet 2017-02-02 1860 dev_err(delta->dev, "%s failed to initialize firmware ipc channel\n",
91c83f395fbe7c8 Hugues Fruchet 2017-02-02 1861 DELTA_PREFIX);
91c83f395fbe7c8 Hugues Fruchet 2017-02-02 1862 goto err;
91c83f395fbe7c8 Hugues Fruchet 2017-02-02 1863 }
91c83f395fbe7c8 Hugues Fruchet 2017-02-02 1864
f386509e4959459 Hugues Fruchet 2017-02-02 1865 /* register all available decoders */
f386509e4959459 Hugues Fruchet 2017-02-02 1866 register_decoders(delta);
f386509e4959459 Hugues Fruchet 2017-02-02 1867
f386509e4959459 Hugues Fruchet 2017-02-02 1868 /* register all supported formats */
f386509e4959459 Hugues Fruchet 2017-02-02 1869 register_formats(delta);
f386509e4959459 Hugues Fruchet 2017-02-02 1870
f386509e4959459 Hugues Fruchet 2017-02-02 1871 /* register on V4L2 */
f386509e4959459 Hugues Fruchet 2017-02-02 1872 ret = v4l2_device_register(dev, &delta->v4l2_dev);
f386509e4959459 Hugues Fruchet 2017-02-02 1873 if (ret) {
f386509e4959459 Hugues Fruchet 2017-02-02 1874 dev_err(delta->dev, "%s failed to register V4L2 device\n",
f386509e4959459 Hugues Fruchet 2017-02-02 1875 DELTA_PREFIX);
f386509e4959459 Hugues Fruchet 2017-02-02 1876 goto err;
f386509e4959459 Hugues Fruchet 2017-02-02 1877 }
f386509e4959459 Hugues Fruchet 2017-02-02 1878
f386509e4959459 Hugues Fruchet 2017-02-02 1879 delta->work_queue = create_workqueue(DELTA_NAME);
f386509e4959459 Hugues Fruchet 2017-02-02 1880 if (!delta->work_queue) {
f386509e4959459 Hugues Fruchet 2017-02-02 1881 dev_err(delta->dev, "%s failed to allocate work queue\n",
f386509e4959459 Hugues Fruchet 2017-02-02 1882 DELTA_PREFIX);
f386509e4959459 Hugues Fruchet 2017-02-02 1883 ret = -ENOMEM;
f386509e4959459 Hugues Fruchet 2017-02-02 1884 goto err_v4l2;
f386509e4959459 Hugues Fruchet 2017-02-02 1885 }
f386509e4959459 Hugues Fruchet 2017-02-02 1886
f386509e4959459 Hugues Fruchet 2017-02-02 1887 /* register device */
f386509e4959459 Hugues Fruchet 2017-02-02 1888 ret = delta_register_device(delta);
f386509e4959459 Hugues Fruchet 2017-02-02 1889 if (ret)
f386509e4959459 Hugues Fruchet 2017-02-02 1890 goto err_work_queue;
f386509e4959459 Hugues Fruchet 2017-02-02 1891
f386509e4959459 Hugues Fruchet 2017-02-02 1892 dev_info(dev, "%s %s registered as /dev/video%d\n",
f386509e4959459 Hugues Fruchet 2017-02-02 1893 DELTA_PREFIX, delta->vdev->name, delta->vdev->num);
f386509e4959459 Hugues Fruchet 2017-02-02 1894
f386509e4959459 Hugues Fruchet 2017-02-02 1895 return 0;
f386509e4959459 Hugues Fruchet 2017-02-02 1896
f386509e4959459 Hugues Fruchet 2017-02-02 1897 err_work_queue:
f386509e4959459 Hugues Fruchet 2017-02-02 1898 destroy_workqueue(delta->work_queue);
f386509e4959459 Hugues Fruchet 2017-02-02 1899 err_v4l2:
f386509e4959459 Hugues Fruchet 2017-02-02 1900 v4l2_device_unregister(&delta->v4l2_dev);
df377b6adc1cca5 Miaoqian Lin 2022-01-05 @1901 disable_pm_runtime:
df377b6adc1cca5 Miaoqian Lin 2022-01-05 1902 pm_runtime_disable(dev);
f386509e4959459 Hugues Fruchet 2017-02-02 1903 err:
f386509e4959459 Hugues Fruchet 2017-02-02 1904 return ret;
f386509e4959459 Hugues Fruchet 2017-02-02 1905 }
f386509e4959459 Hugues Fruchet 2017-02-02 1906
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-03-10 16:32 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-05 11:55 [PATCH] media: st-delta: Fix PM disable depth imbalance in delta_probe Miaoqian Lin
2022-01-05 21:05 ` kernel test robot
2022-01-05 21:05 ` kernel test robot
2022-03-01 3:12 ` [PATCH v2] " Miaoqian Lin
2022-03-07 7:35 ` Hans Verkuil
2022-03-07 8:08 ` [PATCH v3] " Miaoqian Lin
2022-03-10 16:32 ` Hugues FRUCHET - FOSS
2022-01-05 23:08 [PATCH] " kernel test robot
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.