lkml.org 
[lkml]   [2008]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 8/13] drivers/pci/hotplug: Remove redundant test
    From: Julia Lawall <julia@diku.dk>

    func is checked not to be NULL a few lines before.

    A simplified version of the semantic patch that makes this change is as
    follows: (http://www.emn.fr/x-info/coccinelle/)

    // <smpl>
    @r exists@
    local idexpression x;
    expression E;
    position p1,p2;
    @@

    if (x@p1 == NULL || ...) { ... when forall
    return ...; }
    ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\)
    (
    x@p2 == NULL
    |
    x@p2 != NULL
    )

    // another path to the test that is not through p1?
    @s exists@
    local idexpression r.x;
    position r.p1,r.p2;
    @@

    ... when != x@p1
    (
    x@p2 == NULL
    |
    x@p2 != NULL
    )

    @fix depends on !s@
    position r.p1,r.p2;
    expression x,E;
    statement S1,S2;
    @@

    (
    - if ((x@p2 != NULL) || ...)
    S1
    |
    - if ((x@p2 == NULL) && ...) S1
    |
    - BUG_ON(x@p2 == NULL);
    )
    // </smpl>

    Signed-off-by: Julia Lawall <julia@diku.dk>

    ---
    drivers/pci/hotplug/cpqphp_ctrl.c | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/drivers/pci/hotplug/cpqphp_ctrl.c b/drivers/pci/hotplug/cpqphp_ctrl.c
    index d947221..cc227a8 100644
    --- a/drivers/pci/hotplug/cpqphp_ctrl.c
    +++ b/drivers/pci/hotplug/cpqphp_ctrl.c
    @@ -1954,7 +1954,7 @@ void cpqhp_pushbutton_thread(unsigned long slot)
    return ;
    }

    - if (func != NULL && ctrl != NULL) {
    + if (ctrl != NULL) {
    if (cpqhp_process_SI(ctrl, func) != 0) {
    amber_LED_on(ctrl, hp_slot);
    green_LED_off(ctrl, hp_slot);

    \
     
     \ /
      Last update: 2008-12-21 16:43    [W:0.022 / U:1.448 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site