[PATCH linux dev-4.7 4/8] ipmi: add an Aspeed BT IPMI BMC driver

Cyril Bur cyrilbur at gmail.com
Thu Nov 3 13:48:58 AEDT 2016


On Thu, 2016-11-03 at 13:16 +1030, Joel Stanley wrote:
> On Thu, Nov 3, 2016 at 11:26 AM, Cyril Bur <cyrilbur at gmail.com>
> wrote:
> > 
> > > +static int bt_bmc_remove(struct platform_device *pdev)
> > > +{
> > > +     struct bt_bmc *bt_bmc = dev_get_drvdata(&pdev->dev);
> > > +
> > > +     misc_deregister(&bt_bmc->miscdev);
> > > +     if (!bt_bmc->irq)
> > > +             del_timer_sync(&bt_bmc->poll_timer);
> > 
> > The old bt-host driver had:
> >        devm_iounmap(&pdev->dev, bt_host->base);
> >        devm_kfree(&pdev->dev, bt_host);
> > 
> > Is there kernel magic that means they aren't needed?
> 
> Yep. The devm_ api's in the kernel are "managed" (hence the m) by the
> driver subsystem. When the driver detaches, all of the resources
> allocated with devm_ calls are automatically freed in the order they
> were allocated.
> 
>  https://www.kernel.org/doc/Documentation/driver-model/devres.txt
>  http://haifux.org/lectures/323/haifux-devres.pdf
> 

*magic*

Thanks!

> Cheers,
> 
> Joel


More information about the openbmc mailing list