mirror of https://gitee.com/openkylin/linux.git
platform/x86: thinkpad_acpi: Use kmemdup rather than duplicating its implementation
kmemdup is introduced to duplicate a region of memory in a neat way. Rather than kmalloc/kzalloc + memcpy, which the programmer needs to write the size twice (sometimes lead to mistakes), kmemdup improves readability, leads to smaller code and also reduce the chances of mistakes. Suggestion to use kmemdup rather than using kmalloc/kzalloc + memcpy. Signed-off-by: Fuqian Huang <huangfq.daxian@gmail.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
parent
340f25ff1d
commit
35b7c80827
|
@ -3647,22 +3647,19 @@ static int __init hotkey_init(struct ibm_init_struct *iibm)
|
|||
goto err_exit;
|
||||
|
||||
/* Set up key map */
|
||||
hotkey_keycode_map = kmalloc(TPACPI_HOTKEY_MAP_SIZE,
|
||||
GFP_KERNEL);
|
||||
if (!hotkey_keycode_map) {
|
||||
pr_err("failed to allocate memory for key map\n");
|
||||
res = -ENOMEM;
|
||||
goto err_exit;
|
||||
}
|
||||
|
||||
keymap_id = tpacpi_check_quirks(tpacpi_keymap_qtable,
|
||||
ARRAY_SIZE(tpacpi_keymap_qtable));
|
||||
BUG_ON(keymap_id >= ARRAY_SIZE(tpacpi_keymaps));
|
||||
dbg_printk(TPACPI_DBG_INIT | TPACPI_DBG_HKEY,
|
||||
"using keymap number %lu\n", keymap_id);
|
||||
|
||||
memcpy(hotkey_keycode_map, &tpacpi_keymaps[keymap_id],
|
||||
TPACPI_HOTKEY_MAP_SIZE);
|
||||
hotkey_keycode_map = kmemdup(&tpacpi_keymaps[keymap_id],
|
||||
TPACPI_HOTKEY_MAP_SIZE, GFP_KERNEL);
|
||||
if (!hotkey_keycode_map) {
|
||||
pr_err("failed to allocate memory for key map\n");
|
||||
res = -ENOMEM;
|
||||
goto err_exit;
|
||||
}
|
||||
|
||||
input_set_capability(tpacpi_inputdev, EV_MSC, MSC_SCAN);
|
||||
tpacpi_inputdev->keycodesize = TPACPI_HOTKEY_MAP_TYPESIZE;
|
||||
|
|
Loading…
Reference in New Issue