mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
gpio: Use device_get_match_data()
Use preferred device_get_match_data() instead of of_match_device() to get the driver match data. With this, adjust the includes to explicitly include the correct headers. Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
This commit is contained in:
parent
8a58cd577f
commit
03a975cbcf
@ -16,10 +16,10 @@
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/pinctrl/consumer.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/platform_data/gpio-davinci.h>
|
||||
#include <linux/property.h>
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/pm_runtime.h>
|
||||
@ -486,7 +486,6 @@ static int davinci_gpio_irq_setup(struct platform_device *pdev)
|
||||
struct davinci_gpio_platform_data *pdata = dev->platform_data;
|
||||
struct davinci_gpio_regs __iomem *g;
|
||||
struct irq_domain *irq_domain = NULL;
|
||||
const struct of_device_id *match;
|
||||
struct irq_chip *irq_chip;
|
||||
struct davinci_gpio_irq_data *irqdata;
|
||||
gpio_get_irq_chip_cb_t gpio_get_irq_chip;
|
||||
@ -495,10 +494,8 @@ static int davinci_gpio_irq_setup(struct platform_device *pdev)
|
||||
* Use davinci_gpio_get_irq_chip by default to handle non DT cases
|
||||
*/
|
||||
gpio_get_irq_chip = davinci_gpio_get_irq_chip;
|
||||
match = of_match_device(of_match_ptr(davinci_gpio_ids),
|
||||
dev);
|
||||
if (match)
|
||||
gpio_get_irq_chip = (gpio_get_irq_chip_cb_t)match->data;
|
||||
if (dev->of_node)
|
||||
gpio_get_irq_chip = (gpio_get_irq_chip_cb_t)device_get_match_data(dev);
|
||||
|
||||
ngpio = pdata->ngpio;
|
||||
|
||||
|
@ -56,9 +56,9 @@ o ` ~~~~\___/~~~~ ` controller in FPGA is ,.`
|
||||
#include <linux/slab.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/property.h>
|
||||
#include <linux/mod_devicetable.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_device.h>
|
||||
|
||||
#include "gpiolib.h"
|
||||
|
||||
@ -702,7 +702,7 @@ static struct bgpio_pdata *bgpio_parse_dt(struct platform_device *pdev,
|
||||
{
|
||||
struct bgpio_pdata *pdata;
|
||||
|
||||
if (!of_match_device(bgpio_of_match, &pdev->dev))
|
||||
if (!pdev->dev.of_node)
|
||||
return NULL;
|
||||
|
||||
pdata = devm_kzalloc(&pdev->dev, sizeof(struct bgpio_pdata),
|
||||
|
@ -42,9 +42,10 @@
|
||||
#include <linux/irqchip/chained_irq.h>
|
||||
#include <linux/irqdomain.h>
|
||||
#include <linux/mfd/syscon.h>
|
||||
#include <linux/of_device.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/pinctrl/consumer.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/property.h>
|
||||
#include <linux/pwm.h>
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/slab.h>
|
||||
@ -1122,7 +1123,6 @@ static void mvebu_gpio_remove_irq_domain(void *data)
|
||||
static int mvebu_gpio_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct mvebu_gpio_chip *mvchip;
|
||||
const struct of_device_id *match;
|
||||
struct device_node *np = pdev->dev.of_node;
|
||||
struct irq_chip_generic *gc;
|
||||
struct irq_chip_type *ct;
|
||||
@ -1132,11 +1132,7 @@ static int mvebu_gpio_probe(struct platform_device *pdev)
|
||||
int i, cpu, id;
|
||||
int err;
|
||||
|
||||
match = of_match_device(mvebu_gpio_of_match, &pdev->dev);
|
||||
if (match)
|
||||
soc_variant = (unsigned long) match->data;
|
||||
else
|
||||
soc_variant = MVEBU_GPIO_SOC_VARIANT_ORION;
|
||||
soc_variant = (unsigned long)device_get_match_data(&pdev->dev);
|
||||
|
||||
/* Some gpio controllers do not provide irq support */
|
||||
err = platform_irq_count(pdev);
|
||||
|
Loading…
Reference in New Issue
Block a user