Signed-off-by: Lucas Tanure <tanure@linux.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
        int ret;
        struct appleir *appleir;
 
-       appleir = kzalloc(sizeof(struct appleir), GFP_KERNEL);
+       appleir = devm_kzalloc(&hid->dev, sizeof(struct appleir), GFP_KERNEL);
        if (!appleir)
                return -ENOMEM;
 
 
        return 0;
 fail:
-       kfree(appleir);
+       devm_kfree(&hid->dev, appleir);
        return ret;
 }
 
        struct appleir *appleir = hid_get_drvdata(hid);
        hid_hw_stop(hid);
        del_timer_sync(&appleir->key_up_timer);
-       kfree(appleir);
 }
 
 static const struct hid_device_id appleir_devices[] = {