gpio: bcm-kona: Make driver OF-independent
There is nothing in the driver that requires OF APIs, make the driver OF independent. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
e91d0f05e6
commit
c9ab610e5c
|
@ -191,7 +191,7 @@ config GPIO_RASPBERRYPI_EXP
|
|||
|
||||
config GPIO_BCM_KONA
|
||||
bool "Broadcom Kona GPIO"
|
||||
depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST)
|
||||
depends on ARCH_BCM_MOBILE || COMPILE_TEST
|
||||
help
|
||||
Turn on GPIO support for Broadcom "Kona" chips.
|
||||
|
||||
|
|
|
@ -8,12 +8,14 @@
|
|||
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/gpio/driver.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/property.h>
|
||||
|
||||
#define BCM_GPIO_PASSWD 0x00a5a501
|
||||
#define GPIO_PER_BANK 32
|
||||
|
@ -556,19 +558,12 @@ static void bcm_kona_gpio_reset(struct bcm_kona_gpio *kona_gpio)
|
|||
static int bcm_kona_gpio_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct device *dev = &pdev->dev;
|
||||
const struct of_device_id *match;
|
||||
struct bcm_kona_gpio_bank *bank;
|
||||
struct bcm_kona_gpio *kona_gpio;
|
||||
struct gpio_chip *chip;
|
||||
int ret;
|
||||
int i;
|
||||
|
||||
match = of_match_device(bcm_kona_gpio_of_match, dev);
|
||||
if (!match) {
|
||||
dev_err(dev, "Failed to find gpio controller\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
kona_gpio = devm_kzalloc(dev, sizeof(*kona_gpio), GFP_KERNEL);
|
||||
if (!kona_gpio)
|
||||
return -ENOMEM;
|
||||
|
@ -601,10 +596,10 @@ static int bcm_kona_gpio_probe(struct platform_device *pdev)
|
|||
chip->parent = dev;
|
||||
chip->ngpio = kona_gpio->num_bank * GPIO_PER_BANK;
|
||||
|
||||
kona_gpio->irq_domain = irq_domain_add_linear(dev->of_node,
|
||||
chip->ngpio,
|
||||
&bcm_kona_irq_ops,
|
||||
kona_gpio);
|
||||
kona_gpio->irq_domain = irq_domain_create_linear(dev_fwnode(dev),
|
||||
chip->ngpio,
|
||||
&bcm_kona_irq_ops,
|
||||
kona_gpio);
|
||||
if (!kona_gpio->irq_domain) {
|
||||
dev_err(dev, "Couldn't allocate IRQ domain\n");
|
||||
return -ENXIO;
|
||||
|
|
Loading…
Reference in New Issue