CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Miaoqian Lin <[email protected]>
CC: [email protected]
CC: Eugen Hristev <[email protected]>
CC: Mauro Carvalho Chehab <[email protected]>
CC: [email protected]
CC: Nicolas Ferre <[email protected]>
CC: Alexandre Belloni <[email protected]>
CC: Ludovic Desroches <[email protected]>
CC: Hans Verkuil <[email protected]>
CC: [email protected]
CC: [email protected]

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-atmel-atmel-isc-Fix-PM-disable-depth-imbalance-in-atmel_isc_probe/20220105-191228
base:   git://linuxtv.org/media_tree.git master
:::::: branch date: 8 hours ago
:::::: commit date: 8 hours ago
config: alpha-randconfig-s031-20220105 
(https://download.01.org/0day-ci/archive/20220106/[email protected]/config)
compiler: alpha-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/f116d8f81c642486900c9589a7c10d137d7eb0a2
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review 
Miaoqian-Lin/media-atmel-atmel-isc-Fix-PM-disable-depth-imbalance-in-atmel_isc_probe/20220105-191228
        git checkout f116d8f81c642486900c9589a7c10d137d7eb0a2
        # 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=alpha 
SHELL=/bin/bash drivers/media/platform/atmel/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)
>> drivers/media/platform/atmel/atmel-sama5d2-isc.c:562:1: sparse: sparse: 
>> unused label 'disable_pm_runtime'

vim +/disable_pm_runtime +562 drivers/media/platform/atmel/atmel-sama5d2-isc.c

0a0e265515db76 Eugen Hristev    2019-06-12  380  
0a0e265515db76 Eugen Hristev    2019-06-12  381  static int 
atmel_isc_probe(struct platform_device *pdev)
0a0e265515db76 Eugen Hristev    2019-06-12  382  {
0a0e265515db76 Eugen Hristev    2019-06-12  383         struct device *dev = 
&pdev->dev;
0a0e265515db76 Eugen Hristev    2019-06-12  384         struct isc_device *isc;
0a0e265515db76 Eugen Hristev    2019-06-12  385         struct resource *res;
0a0e265515db76 Eugen Hristev    2019-06-12  386         void __iomem *io_base;
0a0e265515db76 Eugen Hristev    2019-06-12  387         struct 
isc_subdev_entity *subdev_entity;
0a0e265515db76 Eugen Hristev    2019-06-12  388         int irq;
0a0e265515db76 Eugen Hristev    2019-06-12  389         int ret;
d51470069eb169 Eugen Hristev    2021-04-13  390         u32 ver;
0a0e265515db76 Eugen Hristev    2019-06-12  391  
0a0e265515db76 Eugen Hristev    2019-06-12  392         isc = devm_kzalloc(dev, 
sizeof(*isc), GFP_KERNEL);
0a0e265515db76 Eugen Hristev    2019-06-12  393         if (!isc)
0a0e265515db76 Eugen Hristev    2019-06-12  394                 return -ENOMEM;
0a0e265515db76 Eugen Hristev    2019-06-12  395  
0a0e265515db76 Eugen Hristev    2019-06-12  396         
platform_set_drvdata(pdev, isc);
0a0e265515db76 Eugen Hristev    2019-06-12  397         isc->dev = dev;
0a0e265515db76 Eugen Hristev    2019-06-12  398  
0a0e265515db76 Eugen Hristev    2019-06-12  399         res = 
platform_get_resource(pdev, IORESOURCE_MEM, 0);
0a0e265515db76 Eugen Hristev    2019-06-12  400         io_base = 
devm_ioremap_resource(dev, res);
0a0e265515db76 Eugen Hristev    2019-06-12  401         if (IS_ERR(io_base))
0a0e265515db76 Eugen Hristev    2019-06-12  402                 return 
PTR_ERR(io_base);
0a0e265515db76 Eugen Hristev    2019-06-12  403  
0a0e265515db76 Eugen Hristev    2019-06-12  404         isc->regmap = 
devm_regmap_init_mmio(dev, io_base, &isc_regmap_config);
0a0e265515db76 Eugen Hristev    2019-06-12  405         if 
(IS_ERR(isc->regmap)) {
0a0e265515db76 Eugen Hristev    2019-06-12  406                 ret = 
PTR_ERR(isc->regmap);
0a0e265515db76 Eugen Hristev    2019-06-12  407                 dev_err(dev, 
"failed to init register map: %d\n", ret);
0a0e265515db76 Eugen Hristev    2019-06-12  408                 return ret;
0a0e265515db76 Eugen Hristev    2019-06-12  409         }
0a0e265515db76 Eugen Hristev    2019-06-12  410  
0a0e265515db76 Eugen Hristev    2019-06-12  411         irq = 
platform_get_irq(pdev, 0);
97299a3035328d Stephen Boyd     2019-07-30  412         if (irq < 0)
97299a3035328d Stephen Boyd     2019-07-30  413                 return irq;
0a0e265515db76 Eugen Hristev    2019-06-12  414  
0a0e265515db76 Eugen Hristev    2019-06-12  415         ret = 
devm_request_irq(dev, irq, isc_interrupt, 0,
d5475b3c901a00 Eugen Hristev    2021-04-13  416                                
"atmel-sama5d2-isc", isc);
0a0e265515db76 Eugen Hristev    2019-06-12  417         if (ret < 0) {
0a0e265515db76 Eugen Hristev    2019-06-12  418                 dev_err(dev, 
"can't register ISR for IRQ %u (ret=%i)\n",
0a0e265515db76 Eugen Hristev    2019-06-12  419                         irq, 
ret);
0a0e265515db76 Eugen Hristev    2019-06-12  420                 return ret;
0a0e265515db76 Eugen Hristev    2019-06-12  421         }
0a0e265515db76 Eugen Hristev    2019-06-12  422  
f84bc784fa614a Eugen Hristev    2021-04-13  423         isc->gamma_table = 
isc_sama5d2_gamma_table;
f84bc784fa614a Eugen Hristev    2021-04-13  424         isc->gamma_max = 2;
f84bc784fa614a Eugen Hristev    2021-04-13  425  
f794bc16a52da7 Eugen Hristev    2021-04-13  426         isc->max_width = 
ISC_SAMA5D2_MAX_SUPPORT_WIDTH;
f794bc16a52da7 Eugen Hristev    2021-04-13  427         isc->max_height = 
ISC_SAMA5D2_MAX_SUPPORT_HEIGHT;
f794bc16a52da7 Eugen Hristev    2021-04-13  428  
883285556388af Eugen Hristev    2021-04-13  429         isc->config_dpc = 
isc_sama5d2_config_dpc;
2ede3975c0a853 Eugen Hristev    2021-04-13  430         isc->config_csc = 
isc_sama5d2_config_csc;
d3b2ee5478c856 Eugen Hristev    2021-04-13  431         isc->config_cbc = 
isc_sama5d2_config_cbc;
2873f85bd318bf Eugen Hristev    2021-04-13  432         isc->config_cc = 
isc_sama5d2_config_cc;
e48848a6af150e Eugen Hristev    2021-04-13  433         isc->config_gam = 
isc_sama5d2_config_gam;
ef9b7779688b2d Eugen Hristev    2021-04-13  434         isc->config_rlp = 
isc_sama5d2_config_rlp;
8f1b451c87ee05 Eugen Hristev    2021-04-13  435         isc->config_ctrls = 
isc_sama5d2_config_ctrls;
2ede3975c0a853 Eugen Hristev    2021-04-13  436  
049a38fc9681b3 Eugen Hristev    2021-04-13  437         isc->adapt_pipeline = 
isc_sama5d2_adapt_pipeline;
049a38fc9681b3 Eugen Hristev    2021-04-13  438  
ffeeb01d11397b Eugen Hristev    2021-04-13  439         isc->offsets.csc = 
ISC_SAMA5D2_CSC_OFFSET;
4fc9e8a775d4b3 Eugen Hristev    2021-04-13  440         isc->offsets.cbc = 
ISC_SAMA5D2_CBC_OFFSET;
87b62b6d55dd78 Eugen Hristev    2021-04-13  441         isc->offsets.sub422 = 
ISC_SAMA5D2_SUB422_OFFSET;
87b62b6d55dd78 Eugen Hristev    2021-04-13  442         isc->offsets.sub420 = 
ISC_SAMA5D2_SUB420_OFFSET;
40ee17d1b41ccc Eugen Hristev    2021-04-13  443         isc->offsets.rlp = 
ISC_SAMA5D2_RLP_OFFSET;
1a3ac5d51541b6 Eugen Hristev    2021-04-13  444         isc->offsets.his = 
ISC_SAMA5D2_HIS_OFFSET;
e891009857716e Eugen Hristev    2021-04-13  445         isc->offsets.dma = 
ISC_SAMA5D2_DMA_OFFSET;
d51470069eb169 Eugen Hristev    2021-04-13  446         isc->offsets.version = 
ISC_SAMA5D2_VERSION_OFFSET;
629de518e6f3b8 Eugen Hristev    2021-04-13  447         isc->offsets.his_entry 
= ISC_SAMA5D2_HIS_ENTRY_OFFSET;
ffeeb01d11397b Eugen Hristev    2021-04-13  448  
415dbe4efafa29 Eugen Hristev    2021-04-13  449         isc->controller_formats 
= sama5d2_controller_formats;
415dbe4efafa29 Eugen Hristev    2021-04-13  450         
isc->controller_formats_size = ARRAY_SIZE(sama5d2_controller_formats);
415dbe4efafa29 Eugen Hristev    2021-04-13  451         isc->formats_list = 
sama5d2_formats_list;
415dbe4efafa29 Eugen Hristev    2021-04-13  452         isc->formats_list_size 
= ARRAY_SIZE(sama5d2_formats_list);
415dbe4efafa29 Eugen Hristev    2021-04-13  453  
cd5af39467bdc7 Eugen Hristev    2021-04-13  454         /* sama5d2-isc - 8 bits 
per beat */
cd5af39467bdc7 Eugen Hristev    2021-04-13  455         isc->dcfg = 
ISC_DCFG_YMBSIZE_BEATS8 | ISC_DCFG_CMBSIZE_BEATS8;
cd5af39467bdc7 Eugen Hristev    2021-04-13  456  
d7f26849ed7cc8 Eugen Hristev    2021-09-13  457         /* sama5d2-isc : ISPCK 
is required and mandatory */
d7f26849ed7cc8 Eugen Hristev    2021-09-13  458         isc->ispck_required = 
true;
d7f26849ed7cc8 Eugen Hristev    2021-09-13  459  
0a0e265515db76 Eugen Hristev    2019-06-12  460         ret = 
isc_pipeline_init(isc);
0a0e265515db76 Eugen Hristev    2019-06-12  461         if (ret)
0a0e265515db76 Eugen Hristev    2019-06-12  462                 return ret;
0a0e265515db76 Eugen Hristev    2019-06-12  463  
0a0e265515db76 Eugen Hristev    2019-06-12  464         isc->hclock = 
devm_clk_get(dev, "hclock");
0a0e265515db76 Eugen Hristev    2019-06-12  465         if 
(IS_ERR(isc->hclock)) {
0a0e265515db76 Eugen Hristev    2019-06-12  466                 ret = 
PTR_ERR(isc->hclock);
0a0e265515db76 Eugen Hristev    2019-06-12  467                 dev_err(dev, 
"failed to get hclock: %d\n", ret);
0a0e265515db76 Eugen Hristev    2019-06-12  468                 return ret;
0a0e265515db76 Eugen Hristev    2019-06-12  469         }
0a0e265515db76 Eugen Hristev    2019-06-12  470  
0a0e265515db76 Eugen Hristev    2019-06-12  471         ret = 
clk_prepare_enable(isc->hclock);
0a0e265515db76 Eugen Hristev    2019-06-12  472         if (ret) {
0a0e265515db76 Eugen Hristev    2019-06-12  473                 dev_err(dev, 
"failed to enable hclock: %d\n", ret);
0a0e265515db76 Eugen Hristev    2019-06-12  474                 return ret;
0a0e265515db76 Eugen Hristev    2019-06-12  475         }
0a0e265515db76 Eugen Hristev    2019-06-12  476  
0a0e265515db76 Eugen Hristev    2019-06-12  477         ret = isc_clk_init(isc);
0a0e265515db76 Eugen Hristev    2019-06-12  478         if (ret) {
0a0e265515db76 Eugen Hristev    2019-06-12  479                 dev_err(dev, 
"failed to init isc clock: %d\n", ret);
0a0e265515db76 Eugen Hristev    2019-06-12  480                 goto 
unprepare_hclk;
0a0e265515db76 Eugen Hristev    2019-06-12  481         }
0a0e265515db76 Eugen Hristev    2019-06-12  482         ret = 
v4l2_device_register(dev, &isc->v4l2_dev);
0a0e265515db76 Eugen Hristev    2019-06-12  483         if (ret) {
0a0e265515db76 Eugen Hristev    2019-06-12  484                 dev_err(dev, 
"unable to register v4l2 device.\n");
0a0e265515db76 Eugen Hristev    2019-06-12  485                 goto 
unprepare_clk;
0a0e265515db76 Eugen Hristev    2019-06-12  486         }
0a0e265515db76 Eugen Hristev    2019-06-12  487  
0a0e265515db76 Eugen Hristev    2019-06-12  488         ret = isc_parse_dt(dev, 
isc);
0a0e265515db76 Eugen Hristev    2019-06-12  489         if (ret) {
0a0e265515db76 Eugen Hristev    2019-06-12  490                 dev_err(dev, 
"fail to parse device tree\n");
0a0e265515db76 Eugen Hristev    2019-06-12  491                 goto 
unregister_v4l2_device;
0a0e265515db76 Eugen Hristev    2019-06-12  492         }
0a0e265515db76 Eugen Hristev    2019-06-12  493  
0a0e265515db76 Eugen Hristev    2019-06-12  494         if 
(list_empty(&isc->subdev_entities)) {
0a0e265515db76 Eugen Hristev    2019-06-12  495                 dev_err(dev, 
"no subdev found\n");
0a0e265515db76 Eugen Hristev    2019-06-12  496                 ret = -ENODEV;
0a0e265515db76 Eugen Hristev    2019-06-12  497                 goto 
unregister_v4l2_device;
0a0e265515db76 Eugen Hristev    2019-06-12  498         }
0a0e265515db76 Eugen Hristev    2019-06-12  499  
0a0e265515db76 Eugen Hristev    2019-06-12  500         
list_for_each_entry(subdev_entity, &isc->subdev_entities, list) {
d6701f13bd0747 Ezequiel Garcia  2021-01-18  501                 struct 
v4l2_async_subdev *asd;
3c8c153914812a Sakari Ailus     2021-03-05  502                 struct 
fwnode_handle *fwnode =
3c8c153914812a Sakari Ailus     2021-03-05  503                         
of_fwnode_handle(subdev_entity->epn);
d6701f13bd0747 Ezequiel Garcia  2021-01-18  504  
3c8c153914812a Sakari Ailus     2021-03-05  505                 
v4l2_async_nf_init(&subdev_entity->notifier);
0a0e265515db76 Eugen Hristev    2019-06-12  506  
3c8c153914812a Sakari Ailus     2021-03-05  507                 asd = 
v4l2_async_nf_add_fwnode_remote(&subdev_entity->notifier,
3c8c153914812a Sakari Ailus     2021-03-05  508                                 
                      fwnode,
b01edcbd409cf7 Laurent Pinchart 2021-01-18  509                                 
                      struct v4l2_async_subdev);
d6701f13bd0747 Ezequiel Garcia  2021-01-18  510  
d6701f13bd0747 Ezequiel Garcia  2021-01-18  511                 
of_node_put(subdev_entity->epn);
d6701f13bd0747 Ezequiel Garcia  2021-01-18  512                 
subdev_entity->epn = NULL;
d6701f13bd0747 Ezequiel Garcia  2021-01-18  513  
d6701f13bd0747 Ezequiel Garcia  2021-01-18  514                 if 
(IS_ERR(asd)) {
d6701f13bd0747 Ezequiel Garcia  2021-01-18  515                         ret = 
PTR_ERR(asd);
0a0e265515db76 Eugen Hristev    2019-06-12  516                         goto 
cleanup_subdev;
0a0e265515db76 Eugen Hristev    2019-06-12  517                 }
0a0e265515db76 Eugen Hristev    2019-06-12  518  
0a0e265515db76 Eugen Hristev    2019-06-12  519                 
subdev_entity->notifier.ops = &isc_async_ops;
0a0e265515db76 Eugen Hristev    2019-06-12  520  
3c8c153914812a Sakari Ailus     2021-03-05  521                 ret = 
v4l2_async_nf_register(&isc->v4l2_dev,
0a0e265515db76 Eugen Hristev    2019-06-12  522                                 
             &subdev_entity->notifier);
0a0e265515db76 Eugen Hristev    2019-06-12  523                 if (ret) {
0a0e265515db76 Eugen Hristev    2019-06-12  524                         
dev_err(dev, "fail to register async notifier\n");
0a0e265515db76 Eugen Hristev    2019-06-12  525                         goto 
cleanup_subdev;
0a0e265515db76 Eugen Hristev    2019-06-12  526                 }
0a0e265515db76 Eugen Hristev    2019-06-12  527  
0a0e265515db76 Eugen Hristev    2019-06-12  528                 if 
(video_is_registered(&isc->video_dev))
0a0e265515db76 Eugen Hristev    2019-06-12  529                         break;
0a0e265515db76 Eugen Hristev    2019-06-12  530         }
0a0e265515db76 Eugen Hristev    2019-06-12  531  
0a0e265515db76 Eugen Hristev    2019-06-12  532         
pm_runtime_set_active(dev);
0a0e265515db76 Eugen Hristev    2019-06-12  533         pm_runtime_enable(dev);
0a0e265515db76 Eugen Hristev    2019-06-12  534         pm_request_idle(dev);
0a0e265515db76 Eugen Hristev    2019-06-12  535  
d7f26849ed7cc8 Eugen Hristev    2021-09-13  536         isc->ispck = 
isc->isc_clks[ISC_ISPCK].clk;
d7f26849ed7cc8 Eugen Hristev    2021-09-13  537  
d7f26849ed7cc8 Eugen Hristev    2021-09-13  538         ret = 
clk_prepare_enable(isc->ispck);
d7f26849ed7cc8 Eugen Hristev    2021-09-13  539         if (ret) {
d7f26849ed7cc8 Eugen Hristev    2021-09-13  540                 dev_err(dev, 
"failed to enable ispck: %d\n", ret);
d7f26849ed7cc8 Eugen Hristev    2021-09-13  541                 goto 
cleanup_subdev;
d7f26849ed7cc8 Eugen Hristev    2021-09-13  542         }
d7f26849ed7cc8 Eugen Hristev    2021-09-13  543  
d7f26849ed7cc8 Eugen Hristev    2021-09-13  544         /* ispck should be 
greater or equal to hclock */
d7f26849ed7cc8 Eugen Hristev    2021-09-13  545         ret = 
clk_set_rate(isc->ispck, clk_get_rate(isc->hclock));
d7f26849ed7cc8 Eugen Hristev    2021-09-13  546         if (ret) {
d7f26849ed7cc8 Eugen Hristev    2021-09-13  547                 dev_err(dev, 
"failed to set ispck rate: %d\n", ret);
d7f26849ed7cc8 Eugen Hristev    2021-09-13  548                 goto 
unprepare_clk;
d7f26849ed7cc8 Eugen Hristev    2021-09-13  549         }
d7f26849ed7cc8 Eugen Hristev    2021-09-13  550  
d51470069eb169 Eugen Hristev    2021-04-13  551         
regmap_read(isc->regmap, ISC_VERSION + isc->offsets.version, &ver);
d51470069eb169 Eugen Hristev    2021-04-13  552         dev_info(dev, 
"Microchip ISC version %x\n", ver);
d51470069eb169 Eugen Hristev    2021-04-13  553  
0a0e265515db76 Eugen Hristev    2019-06-12  554         return 0;
0a0e265515db76 Eugen Hristev    2019-06-12  555  
d7f26849ed7cc8 Eugen Hristev    2021-09-13  556  unprepare_clk:
d7f26849ed7cc8 Eugen Hristev    2021-09-13  557         
clk_disable_unprepare(isc->ispck);
d7f26849ed7cc8 Eugen Hristev    2021-09-13  558  
0a0e265515db76 Eugen Hristev    2019-06-12  559  cleanup_subdev:
0a0e265515db76 Eugen Hristev    2019-06-12  560         isc_subdev_cleanup(isc);
0a0e265515db76 Eugen Hristev    2019-06-12  561  
f116d8f81c6424 Miaoqian Lin     2022-01-05 @562  disable_pm_runtime:
f116d8f81c6424 Miaoqian Lin     2022-01-05  563         pm_runtime_disable(dev);
f116d8f81c6424 Miaoqian Lin     2022-01-05  564  
0a0e265515db76 Eugen Hristev    2019-06-12  565  unregister_v4l2_device:
0a0e265515db76 Eugen Hristev    2019-06-12  566         
v4l2_device_unregister(&isc->v4l2_dev);
0a0e265515db76 Eugen Hristev    2019-06-12  567  
0a0e265515db76 Eugen Hristev    2019-06-12  568  unprepare_hclk:
0a0e265515db76 Eugen Hristev    2019-06-12  569         
clk_disable_unprepare(isc->hclock);
0a0e265515db76 Eugen Hristev    2019-06-12  570  
0a0e265515db76 Eugen Hristev    2019-06-12  571         isc_clk_cleanup(isc);
0a0e265515db76 Eugen Hristev    2019-06-12  572  
0a0e265515db76 Eugen Hristev    2019-06-12  573         return ret;
0a0e265515db76 Eugen Hristev    2019-06-12  574  }
0a0e265515db76 Eugen Hristev    2019-06-12  575  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to