Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

HID: hid-sensor-custom: Convert to platform remove callback returning void

The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is ignored (apart
from emitting a warning) and this typically results in resource leaks.

To improve here there is a quest to make the remove callback return
void. In the first step of this quest all drivers are converted to
.remove_new(), which already returns void. Eventually after all drivers
are converted, .remove_new() will be renamed to .remove().

Trivially convert this driver from always returning zero in the remove
callback to the void returning variant.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>

authored by

Uwe Kleine-König and committed by
Jiri Kosina
afbc301c d030061f

+3 -5
+3 -5
drivers/hid/hid-sensor-custom.c
··· 1032 1032 return ret; 1033 1033 } 1034 1034 1035 - static int hid_sensor_custom_remove(struct platform_device *pdev) 1035 + static void hid_sensor_custom_remove(struct platform_device *pdev) 1036 1036 { 1037 1037 struct hid_sensor_custom *sensor_inst = platform_get_drvdata(pdev); 1038 1038 struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data; 1039 1039 1040 1040 if (sensor_inst->custom_pdev) { 1041 1041 platform_device_unregister(sensor_inst->custom_pdev); 1042 - return 0; 1042 + return; 1043 1043 } 1044 1044 1045 1045 hid_sensor_custom_dev_if_remove(sensor_inst); ··· 1047 1047 sysfs_remove_group(&sensor_inst->pdev->dev.kobj, 1048 1048 &enable_sensor_attr_group); 1049 1049 sensor_hub_remove_callback(hsdev, hsdev->usage); 1050 - 1051 - return 0; 1052 1050 } 1053 1051 1054 1052 static const struct platform_device_id hid_sensor_custom_ids[] = { ··· 1066 1068 .name = KBUILD_MODNAME, 1067 1069 }, 1068 1070 .probe = hid_sensor_custom_probe, 1069 - .remove = hid_sensor_custom_remove, 1071 + .remove_new = hid_sensor_custom_remove, 1070 1072 }; 1071 1073 module_platform_driver(hid_sensor_custom_platform_driver); 1072 1074