阅读背景:

devm_kzalloc分配的内存会在驱动卸载时自动释放

来源:互联网 

在gpio-button-hotplug.c里面,有这样的代码:

buttons = devm_kzalloc(dev, pdata->nbuttons * sizeof(struct gpio_keys_button),
           GFP_KERNEL);
if (!buttons) {
    dev_err(dev, "no memory for button data\n");
    return -ENOMEM;
}
memcpy(buttons, pdata->buttons, pdata->nbuttons * sizeof(struct gpio_keys_button));

bdev = devm_kzalloc(dev, sizeof(struct gpio_keys_button_dev) +
           pdata->nbuttons * sizeof(struct gpio_keys_button_data),
           GFP_KERNEL);
if (!bdev) {
    dev_err(dev, "no memory for private data\n");
    return -ENOMEM;
}buttons = dev



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: