Message ID | 20210105130956.1133222-2-dwlsalmeida@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: vidtv: add media controller support | expand |
Hi "Daniel, I love your patch! Yet something to improve: [auto build test ERROR on linuxtv-media/master] [also build test ERROR on v5.11-rc2 next-20210104] [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/Daniel-W-S-Almeida/media-vidtv-add-media-controller-support/20210105-211434 base: git://linuxtv.org/media_tree.git master config: x86_64-randconfig-s022-20210105 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce: # apt-get install sparse # sparse version: v0.6.3-208-g46a52ca4-dirty # https://github.com/0day-ci/linux/commit/c06a13465ff899cdd2a6badae988b0f8f157f382 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Daniel-W-S-Almeida/media-vidtv-add-media-controller-support/20210105-211434 git checkout c06a13465ff899cdd2a6badae988b0f8f157f382 # save the attached .config to linux build tree make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): drivers/media/test-drivers/vidtv/vidtv_bridge.c: In function 'vidtv_bridge_probe': >> drivers/media/test-drivers/vidtv/vidtv_bridge.c:527:29: error: 'struct vidtv_dvb' has no member named 'mdev'; did you mean 'pdev'? 527 | media_device_cleanup(&dvb->mdev); | ^~~~ | pdev drivers/media/test-drivers/vidtv/vidtv_bridge.c:526:1: warning: label 'err_media_device_register' defined but not used [-Wunused-label] 526 | err_media_device_register: | ^~~~~~~~~~~~~~~~~~~~~~~~~ vim +527 drivers/media/test-drivers/vidtv/vidtv_bridge.c 522 523 dev_info(&pdev->dev, "Successfully initialized vidtv!\n"); 524 return ret; 525 526 err_media_device_register: > 527 media_device_cleanup(&dvb->mdev); 528 err_dvb: 529 kfree(dvb); 530 return ret; 531 } 532 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Hi "Daniel, I love your patch! Yet something to improve: [auto build test ERROR on linuxtv-media/master] [also build test ERROR on v5.11-rc2 next-20210104] [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/Daniel-W-S-Almeida/media-vidtv-add-media-controller-support/20210105-211434 base: git://linuxtv.org/media_tree.git master config: arm-randconfig-r021-20210105 (attached as .config) compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 5c951623bc8965fa1e89660f2f5f4a2944e4981a) 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 arm cross compiling tool for clang build # apt-get install binutils-arm-linux-gnueabi # https://github.com/0day-ci/linux/commit/c06a13465ff899cdd2a6badae988b0f8f157f382 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Daniel-W-S-Almeida/media-vidtv-add-media-controller-support/20210105-211434 git checkout c06a13465ff899cdd2a6badae988b0f8f157f382 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/media/test-drivers/vidtv/vidtv_bridge.c:527:2: error: implicit declaration of function 'media_device_cleanup' [-Werror,-Wimplicit-function-declaration] media_device_cleanup(&dvb->mdev); ^ drivers/media/test-drivers/vidtv/vidtv_bridge.c:527:2: note: did you mean 'media_device_pci_init'? include/media/media-device.h:468:20: note: 'media_device_pci_init' declared here static inline void media_device_pci_init(struct media_device *mdev, ^ drivers/media/test-drivers/vidtv/vidtv_bridge.c:527:29: error: no member named 'mdev' in 'struct vidtv_dvb'; did you mean 'pdev'? media_device_cleanup(&dvb->mdev); ^~~~ pdev drivers/media/test-drivers/vidtv/vidtv_bridge.h:49:26: note: 'pdev' declared here struct platform_device *pdev; ^ 2 errors generated. vim +/media_device_cleanup +527 drivers/media/test-drivers/vidtv/vidtv_bridge.c 522 523 dev_info(&pdev->dev, "Successfully initialized vidtv!\n"); 524 return ret; 525 526 err_media_device_register: > 527 media_device_cleanup(&dvb->mdev); 528 err_dvb: 529 kfree(dvb); 530 return ret; 531 } 532 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Hi "Daniel, I love your patch! Yet something to improve: [auto build test ERROR on linuxtv-media/master] [also build test ERROR on v5.11-rc2 next-20210104] [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/Daniel-W-S-Almeida/media-vidtv-add-media-controller-support/20210105-211434 base: git://linuxtv.org/media_tree.git master config: h8300-randconfig-r014-20210105 (attached as .config) compiler: h8300-linux-gcc (GCC) 9.3.0 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 # https://github.com/0day-ci/linux/commit/c06a13465ff899cdd2a6badae988b0f8f157f382 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Daniel-W-S-Almeida/media-vidtv-add-media-controller-support/20210105-211434 git checkout c06a13465ff899cdd2a6badae988b0f8f157f382 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): drivers/media/test-drivers/vidtv/vidtv_bridge.c: In function 'vidtv_bridge_probe': >> drivers/media/test-drivers/vidtv/vidtv_bridge.c:527:2: error: implicit declaration of function 'media_device_cleanup'; did you mean 'media_entity_cleanup'? [-Werror=implicit-function-declaration] 527 | media_device_cleanup(&dvb->mdev); | ^~~~~~~~~~~~~~~~~~~~ | media_entity_cleanup drivers/media/test-drivers/vidtv/vidtv_bridge.c:527:29: error: 'struct vidtv_dvb' has no member named 'mdev'; did you mean 'pdev'? 527 | media_device_cleanup(&dvb->mdev); | ^~~~ | pdev drivers/media/test-drivers/vidtv/vidtv_bridge.c:526:1: warning: label 'err_media_device_register' defined but not used [-Wunused-label] 526 | err_media_device_register: | ^~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +527 drivers/media/test-drivers/vidtv/vidtv_bridge.c 522 523 dev_info(&pdev->dev, "Successfully initialized vidtv!\n"); 524 return ret; 525 526 err_media_device_register: > 527 media_device_cleanup(&dvb->mdev); 528 err_dvb: 529 kfree(dvb); 530 return ret; 531 } 532 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
diff --git a/drivers/media/test-drivers/vidtv/vidtv_bridge.c b/drivers/media/test-drivers/vidtv/vidtv_bridge.c index fc64d0c8492a..4424f9585f86 100644 --- a/drivers/media/test-drivers/vidtv/vidtv_bridge.c +++ b/drivers/media/test-drivers/vidtv/vidtv_bridge.c @@ -17,6 +17,8 @@ #include <linux/time.h> #include <linux/types.h> #include <linux/workqueue.h> +#include <media/dvbdev.h> +#include <media/media-device.h> #include "vidtv_bridge.h" #include "vidtv_common.h" @@ -501,9 +503,28 @@ static int vidtv_bridge_probe(struct platform_device *pdev) platform_set_drvdata(pdev, dvb); +#ifdef CONFIG_MEDIA_CONTROLLER_DVB + dvb->mdev.dev = &pdev->dev; + + strscpy(dvb->mdev.model, "vidtv", sizeof(dvb->mdev.model)); + strscpy(dvb->mdev.bus_info, "platform:vidtv", sizeof(dvb->mdev.bus_info)); + + media_device_init(&dvb->mdev); + ret = media_device_register(&dvb->mdev); + if (ret) { + dev_err(dvb->mdev.dev, + "media device register failed (err=%d)\n", ret); + goto err_media_device_register; + } + + dvb_register_media_controller(&dvb->adapter, &dvb->mdev); +#endif //CONFIG_MEDIA_CONTROLLER_DVB + dev_info(&pdev->dev, "Successfully initialized vidtv!\n"); return ret; +err_media_device_register: + media_device_cleanup(&dvb->mdev); err_dvb: kfree(dvb); return ret; @@ -516,6 +537,11 @@ static int vidtv_bridge_remove(struct platform_device *pdev) dvb = platform_get_drvdata(pdev); +#ifdef CONFIG_MEDIA_CONTROLLER_DVB + media_device_unregister(&dvb->mdev); + media_device_cleanup(&dvb->mdev); +#endif //CONFIG_MEDIA_CONTROLLER_DVB + mutex_destroy(&dvb->feed_lock); for (i = 0; i < NUM_FE; ++i) { diff --git a/drivers/media/test-drivers/vidtv/vidtv_bridge.h b/drivers/media/test-drivers/vidtv/vidtv_bridge.h index 2528adaee27d..d42899a31295 100644 --- a/drivers/media/test-drivers/vidtv/vidtv_bridge.h +++ b/drivers/media/test-drivers/vidtv/vidtv_bridge.h @@ -24,6 +24,7 @@ #include <media/dmxdev.h> #include <media/dvb_demux.h> #include <media/dvb_frontend.h> +#include <media/media-device.h> #include "vidtv_mux.h" @@ -42,6 +43,7 @@ * @feed_lock: Protects access to the start/stop stream logic/data. * @streaming: Whether we are streaming now. * @mux: The abstraction responsible for delivering MPEG TS packets to the bridge. + * @mdev: The media_device struct for media controller support. */ struct vidtv_dvb { struct platform_device *pdev; @@ -60,6 +62,10 @@ struct vidtv_dvb { bool streaming; struct vidtv_mux *mux; + +#ifdef CONFIG_MEDIA_CONTROLLER_DVB + struct media_device mdev; +#endif //CONFIG_MEDIA_CONTROLLER_DVB }; #endif // VIDTV_BRIDG_H