Hi CJ, I think these functions are not needed in remove function. In dwc3_rtk_probe_dwc3_core, I have used dwc3_node = of_get_compatible_child(node, "snps,dwc3"); and dwc3_pdev = of_find_device_by_node(dwc3_node); So, I call these put functions. platform_device_put(dwc3_pdev); of_node_put(dwc3_node); Thanks, Stanley > Hi, > > Is something like > platform_device_put(dwc3_pdev); > of_node_put(dwc3_node); > needed in the remove function? > > (as done in the error handling path of dwc3_rtk_probe_dwc3_core()) > > Or should it be added at the end of dwc3_rtk_probe_dwc3_core() if the > reference are nor needed anymore when we leave the function? > > CJ > > > + of_platform_depopulate(rtk->dev); } > > + > > ...