• Andy Shevchenko's avatar
    gpio: intel-mid: Remove potentially harmful code · e1cc0756
    Andy Shevchenko authored
    [ Upstream commit 3dbd3212 ]
    
    The commit d56d6b3d ("gpio: langwell: add Intel Merrifield support")
    doesn't look at all as a proper support for Intel Merrifield and I dare to say
    that it distorts the behaviour of the hardware.
    
    The register map is different on Intel Merrifield, i.e. only 6 out of 8
    register have the same purpose but none of them has same location in the
    address space. The current case potentially harmful to existing hardware since
    it's poking registers on wrong offsets and may set some pin to be GPIO output
    when connected hardware doesn't expect such.
    
    Besides the above GPIO and pinctrl on Intel Merrifield have been located in
    different IP blocks. The functionality has been extended as well, i.e. added
    support of level interrupts, special registers for wake capable sources and
    thus, in my opinion, requires a completele separate driver.
    
    If someone wondering the existing gpio-intel-mid.c would be converted to actual
    pinctrl (which by the fact it is now), though I wouldn't be a volunteer to do
    that.
    
    Fixes: d56d6b3d ("gpio: langwell: add Intel Merrifield support")
    Cc: stable@vger.kernel.org # v3.13+
    Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
    Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
    e1cc0756
gpio-intel-mid.c 10.7 KB