Messages in this thread | | | From | Chuhong Yuan <> | Date | Mon, 9 Dec 2019 17:09:01 +0800 | Subject | Re: [PATCH] mfd: sm501: fix mismatches of request_mem_region |
| |
On Mon, Dec 9, 2019 at 5:00 PM Lee Jones <lee.jones@linaro.org> wrote: > > On Sat, 16 Nov 2019, Chuhong Yuan wrote: > > > This driver misuses release_resource + kfree to match request_mem_region, > > which is incorrect. > > The right way is to use release_mem_region. > > Replace the mismatched calls with the right ones to fix it. > > > > Signed-off-by: Chuhong Yuan <hslester96@gmail.com> > > --- > > drivers/mfd/sm501.c | 19 +++++++------------ > > 1 file changed, 7 insertions(+), 12 deletions(-) > > > > diff --git a/drivers/mfd/sm501.c b/drivers/mfd/sm501.c > > index 154270f8d8d7..e49787e6bb93 100644 > > --- a/drivers/mfd/sm501.c > > +++ b/drivers/mfd/sm501.c > > @@ -1086,8 +1086,7 @@ static int sm501_register_gpio(struct sm501_devdata *sm) > > iounmap(gpio->regs); > > > > err_claimed: > > - release_resource(gpio->regs_res); > > - kfree(gpio->regs_res); > > + release_mem_region(iobase, 0x20); > > > > return ret; > > } > > @@ -1095,6 +1094,7 @@ static int sm501_register_gpio(struct sm501_devdata *sm) > > static void sm501_gpio_remove(struct sm501_devdata *sm) > > { > > struct sm501_gpio *gpio = &sm->gpio; > > + resource_size_t iobase = sm->io_res->start + SM501_GPIO; > > Shouldn't this be 'struct resource *'? >
sm501_register_gpio() uses resource_size_t, so I use the same type in remove.
> -- > Lee Jones [李琼斯] > Linaro Services Technical Lead > Linaro.org │ Open source software for ARM SoCs > Follow Linaro: Facebook | Twitter | Blog
| |