Add a gpio_chip driver to support the Qualcomm SPMI PMIC architecture called QPNP. The driver supports Device Tree and allows a device_node to be registered as a gpio-controller. The driver also specifies APIs to allow a non-Device Tree user the ability to configure the PMIC GPIOs. This driver does not handle interrupts for GPIOs directly. Instead, that work is handled by the existing qpnp-int driver. This is feasible since the interrupt register map for all QPNP peripherals is the same. Change-Id: I04eb39d9855b0957f0647010fcb203ec2fc83c7c Signed-off-by: Michael Bohan <mbohan@codeaurora.org>