• Himangi Saraogi's avatar
    ideapad_laptop: Introduce the use of the managed version of kzalloc · b3facd7b
    Himangi Saraogi authored
    This patch moves data allocated using kzalloc to managed data allocated
    using devm_kzalloc and cleans now unnecessary kfrees in probe and remove
    functions. The label sysfs_failed is removed as it is no longer
    required.  Also, linux/device.h is added to make sure the devm_*()
    routine declarations are unambiguously available.
    
    The following Coccinelle semantic patch was used for making the change:
    
    @platform@
    identifier p, probefn, removefn;
    @@
    struct platform_driver p = {
      .probe = probefn,
      .remove = removefn,
    };
    
    @prb@
    identifier platform.probefn, pdev;
    expression e, e1, e2;
    @@
    probefn(struct platform_device *pdev, ...) {
      <+...
    - e = kzalloc(e1, e2)
    + e = devm_kzalloc(&pdev->dev, e1, e2)
      ...
    ?-kfree(e);
      ...+>
    }
    
    @rem depends on prb@
    identifier platform.removefn;
    expression e;
    @@
    removefn(...) {
      <...
    - kfree(e);
      ...>
    }
    Signed-off-by: default avatarHimangi Saraogi <himangi774@gmail.com>
    Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
    Signed-off-by: default avatarMatthew Garrett <matthew.garrett@nebula.com>
    b3facd7b
ideapad-laptop.c 22.7 KB