Indeed, the data structure is allocated by device resource manager, so the driver doesn't need to free anything on remove() callback.
Reported-by: Julia Lawall <julia.law...@lip6.fr> Signed-off-by: Serge Semin <fancer.lan...@gmail.com> --- drivers/misc/eeprom/idt_89hpesx.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/misc/eeprom/idt_89hpesx.c b/drivers/misc/eeprom/idt_89hpesx.c index 25d47d0..f73fd04 100644 --- a/drivers/misc/eeprom/idt_89hpesx.c +++ b/drivers/misc/eeprom/idt_89hpesx.c @@ -1227,9 +1227,6 @@ static void idt_free_pdev(struct idt_89hpesx_dev *pdev) { /* Clear driver data from device private field */ i2c_set_clientdata(pdev->client, NULL); - - /* Just free memory allocated for data */ - devm_kfree(&pdev->client->dev, pdev); } /* -- 2.6.6