misc: eeprom/idt_89hpesx: Use devm_kmemdup to replace devm_kmalloc + memcpy

Use the helper function devm_kmemdup() rather than duplicating its
implementation, which helps to enhance code readability.

Signed-off-by: Li Zetao <lizetao1@huawei.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Link: https://lore.kernel.org/r/20230810115049.2104099-1-lizetao1@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Li Zetao 2023-08-10 19:50:49 +08:00 committed by Greg Kroah-Hartman
parent 183238ffb8
commit 60df28ac09

View File

@ -1288,14 +1288,15 @@ static int idt_create_sysfs_files(struct idt_89hpesx_dev *pdev)
return 0;
}
/* Allocate memory for attribute file */
pdev->ee_file = devm_kmalloc(dev, sizeof(*pdev->ee_file), GFP_KERNEL);
/*
* Allocate memory for attribute file and copy the declared EEPROM attr
* structure to change some of fields
*/
pdev->ee_file = devm_kmemdup(dev, &bin_attr_eeprom,
sizeof(*pdev->ee_file), GFP_KERNEL);
if (!pdev->ee_file)
return -ENOMEM;
/* Copy the declared EEPROM attr structure to change some of fields */
memcpy(pdev->ee_file, &bin_attr_eeprom, sizeof(*pdev->ee_file));
/* In case of read-only EEPROM get rid of write ability */
if (pdev->eero) {
pdev->ee_file->attr.mode &= ~0200;