struct input_dev *inputdev;
struct cmpc_accel *accel;
- accel = kmalloc_obj(*accel);
+ accel = devm_kzalloc(&acpi->dev, sizeof(*accel), GFP_KERNEL);
if (!accel)
return -ENOMEM;
error = device_create_file(&acpi->dev, &cmpc_accel_sensitivity_attr_v4);
if (error)
- goto failed_sensitivity;
+ return error;
accel->g_select = CMPC_ACCEL_G_SELECT_DEFAULT;
cmpc_accel_set_g_select_v4(acpi->handle, accel->g_select);
device_remove_file(&acpi->dev, &cmpc_accel_g_select_attr_v4);
failed_g_select:
device_remove_file(&acpi->dev, &cmpc_accel_sensitivity_attr_v4);
-failed_sensitivity:
- kfree(accel);
return error;
}
struct input_dev *inputdev;
struct cmpc_accel *accel;
- accel = kmalloc_obj(*accel);
+ accel = devm_kzalloc(&acpi->dev, sizeof(*accel), GFP_KERNEL);
if (!accel)
return -ENOMEM;
error = device_create_file(&acpi->dev, &cmpc_accel_sensitivity_attr);
if (error)
- goto failed_file;
+ return error;
error = cmpc_add_acpi_notify_device(acpi, "cmpc_accel",
cmpc_accel_idev_init);
failed_input:
device_remove_file(&acpi->dev, &cmpc_accel_sensitivity_attr);
-failed_file:
- kfree(accel);
return error;
}