Commit c9ab610e authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Bartosz Golaszewski
Browse files

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: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent e91d0f05
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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 −13
Original line number Diff line number Diff line
@@ -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,7 +596,7 @@ 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,
	kona_gpio->irq_domain = irq_domain_create_linear(dev_fwnode(dev),
							 chip->ngpio,
							 &bcm_kona_irq_ops,
							 kona_gpio);