On 14/07/2022 07:32, Lh Kuo 郭力豪 wrote: >>> +} >>> + >>> +static int sunplus_thermal_remove(struct platform_device *pdev) { >>> + struct sp_thermal_data *sp_data = platform_get_drvdata(pdev); >>> + >>> + thermal_zone_of_sensor_unregister(&pdev->dev, sp_data->pcb_tz); >> >> You used devm to register, so this looks wrong and will lead to double free. >> >> > > You mean the remove function is not needed. ?? At least this call but after its removal the entire function would be empty, I think. Best regards, Krzysztof