]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit
gpio: intel-mid: Remove potentially harmful code
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 6 Jul 2016 09:50:12 +0000 (12:50 +0300)
committerKamal Mostafa <kamal@canonical.com>
Mon, 22 Aug 2016 14:42:06 +0000 (07:42 -0700)
commit2c498907428eee571f4c48c21b7696634d06f29d
treed26fbb67ade9b16865b557d8916615834708ba5e
parent0530e27bed7a1cf994b7e1cccac712dff5c611ef
gpio: intel-mid: Remove potentially harmful code

BugLink: http://bugs.launchpad.net/bugs/1615620
commit 3dbd3212f81b2b410a34a922055e2da792864829 upstream.

The commit d56d6b3d7d69 ("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: d56d6b3d7d69 ("gpio: langwell: add Intel Merrifield support")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
drivers/gpio/gpio-intel-mid.c