diff mbox

GPIO: gpio-generic: Remove kfree() from bgpio_remove call

Message ID 1365701002-17292-1-git-send-email-shc_work@mail.ru (mailing list archive)
State New, archived
Headers show

Commit Message

Alexander Shiyan April 11, 2013, 5:23 p.m. UTC
Memory for basic-mmio-gpio driver is allocated by resource managed
function, so using kfree() call in bgpio_remove is wrong.
This patch eliminates this kfree() call.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
 drivers/gpio/gpio-generic.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

Comments

Linus Walleij April 11, 2013, 5:35 p.m. UTC | #1
On Thu, Apr 11, 2013 at 7:23 PM, Alexander Shiyan <shc_work@mail.ru> wrote:

> Memory for basic-mmio-gpio driver is allocated by resource managed
> function, so using kfree() call in bgpio_remove is wrong.
> This patch eliminates this kfree() call.
>
> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>

So I think the patch is correct but the commit message is wrong.

It is not certain at all that bgpio is resource managed, but the point
of the patch should be that it's up to the driver using it to allocate
and free its struct bgpio_chip, after calling this function.

A quick glance on the consumers gives at hand that this is the case
for all consumers, so I took the liberty to update the commit
message and apply it...

Yours,
Linus Walleij
Alexander Shiyan April 11, 2013, 5:38 p.m. UTC | #2
> On Thu, Apr 11, 2013 at 7:23 PM, Alexander Shiyan <shc_work@mail.ru> wrote:
> 
> > Memory for basic-mmio-gpio driver is allocated by resource managed
> > function, so using kfree() call in bgpio_remove is wrong.
> > This patch eliminates this kfree() call.
> >
> > Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> 
> So I think the patch is correct but the commit message is wrong.
> 
> It is not certain at all that bgpio is resource managed, but the point
> of the patch should be that it's up to the driver using it to allocate
> and free its struct bgpio_chip, after calling this function.
> 
> A quick glance on the consumers gives at hand that this is the case
> for all consumers, so I took the liberty to update the commit
> message and apply it...

OK, no problem.

---
diff mbox

Patch

diff --git a/drivers/gpio/gpio-generic.c b/drivers/gpio/gpio-generic.c
index 42d4706..d2196bf 100644
--- a/drivers/gpio/gpio-generic.c
+++ b/drivers/gpio/gpio-generic.c
@@ -390,11 +390,7 @@  static int bgpio_setup_direction(struct bgpio_chip *bgc,
 
 int bgpio_remove(struct bgpio_chip *bgc)
 {
-	int err = gpiochip_remove(&bgc->gc);
-
-	kfree(bgc);
-
-	return err;
+	return gpiochip_remove(&bgc->gc);
 }
 EXPORT_SYMBOL_GPL(bgpio_remove);