Hi Farouk,

kernel test robot noticed the following build warnings:

[auto build test WARNING on drm-misc/drm-misc-next]
[also build test WARNING on drm/drm-next linus/master v6.7 next-20240112]
[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#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Farouk-Bouabid/drm-bridge-synopsys-dw-mipi-dsi-fix-deferred-dsi-host-probe-breaks-dsi-device-probe/20240113-020945
base:   git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
patch link:    
https://lore.kernel.org/r/20240112180737.551318-1-farouk.bouabid%40theobroma-systems.com
patch subject: [PATCH] drm/bridge: synopsys: dw-mipi-dsi: fix deferred dsi host 
probe breaks dsi device probe
config: i386-buildonly-randconfig-002-20240115 
(https://download.01.org/0day-ci/archive/20240116/202401160108.j5lqkppm-...@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20240116/202401160108.j5lqkppm-...@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202401160108.j5lqkppm-...@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c:1187:5: warning: no previous 
>> prototype for '__dw_mipi_dsi_probe' [-Wmissing-prototypes]
    1187 | int __dw_mipi_dsi_probe(struct platform_device *pdev,
         |     ^~~~~~~~~~~~~~~~~~~


vim +/__dw_mipi_dsi_probe +1187 drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c

  1186  
> 1187  int __dw_mipi_dsi_probe(struct platform_device *pdev,
  1188                      const struct dw_mipi_dsi_plat_data *plat_data, 
struct dw_mipi_dsi **dsi_p)
  1189  {
  1190          struct device *dev = &pdev->dev;
  1191          struct reset_control *apb_rst;
  1192          struct dw_mipi_dsi *dsi;
  1193          int ret;
  1194  
  1195          *dsi_p = devm_kzalloc(dev, sizeof(*dsi), GFP_KERNEL);
  1196          if (!*dsi_p)
  1197                  return -ENOMEM;
  1198  
  1199          dsi = *dsi_p;
  1200  
  1201          dsi->dev = dev;
  1202          dsi->plat_data = plat_data;
  1203  
  1204          if (!plat_data->phy_ops->init || 
!plat_data->phy_ops->get_lane_mbps ||
  1205              !plat_data->phy_ops->get_timing) {
  1206                  DRM_ERROR("Phy not properly configured\n");
  1207                  return -ENODEV;
  1208          }
  1209  
  1210          if (!plat_data->base) {
  1211                  dsi->base = devm_platform_ioremap_resource(pdev, 0);
  1212                  if (IS_ERR(dsi->base))
  1213                          return -ENODEV;
  1214  
  1215          } else {
  1216                  dsi->base = plat_data->base;
  1217          }
  1218  
  1219          dsi->pclk = devm_clk_get(dev, "pclk");
  1220          if (IS_ERR(dsi->pclk)) {
  1221                  ret = PTR_ERR(dsi->pclk);
  1222                  dev_err(dev, "Unable to get pclk: %d\n", ret);
  1223                  return ret;
  1224          }
  1225  
  1226          /*
  1227           * Note that the reset was not defined in the initial device 
tree, so
  1228           * we have to be prepared for it not being found.
  1229           */
  1230          apb_rst = devm_reset_control_get_optional_exclusive(dev, "apb");
  1231          if (IS_ERR(apb_rst)) {
  1232                  ret = PTR_ERR(apb_rst);
  1233  
  1234                  if (ret != -EPROBE_DEFER)
  1235                          dev_err(dev, "Unable to get reset control: 
%d\n", ret);
  1236  
  1237                  return ret;
  1238          }
  1239  
  1240          if (apb_rst) {
  1241                  ret = clk_prepare_enable(dsi->pclk);
  1242                  if (ret) {
  1243                          dev_err(dev, "%s: Failed to enable pclk\n", 
__func__);
  1244                          return ret;
  1245                  }
  1246  
  1247                  reset_control_assert(apb_rst);
  1248                  usleep_range(10, 20);
  1249                  reset_control_deassert(apb_rst);
  1250  
  1251                  clk_disable_unprepare(dsi->pclk);
  1252          }
  1253  
  1254          dw_mipi_dsi_debugfs_init(dsi);
  1255          pm_runtime_enable(dev);
  1256  
  1257          dsi->dsi_host.ops = &dw_mipi_dsi_host_ops;
  1258          dsi->dsi_host.dev = dev;
  1259          dsi->bridge.driver_private = dsi;
  1260          dsi->bridge.funcs = &dw_mipi_dsi_bridge_funcs;
  1261          dsi->bridge.of_node = pdev->dev.of_node;
  1262  
  1263          ret = mipi_dsi_host_register(&dsi->dsi_host);
  1264          if (ret) {
  1265                  dev_err(dev, "Failed to register MIPI host: %d\n", ret);
  1266                  pm_runtime_disable(dev);
  1267                  dw_mipi_dsi_debugfs_remove(dsi);
  1268                  return ret;
  1269          }
  1270  
  1271  
  1272          return 0;
  1273  }
  1274  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to