162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0+ */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * OF helpers for the GPIO API 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2007-2008 MontaVista Software, Inc. 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Author: Anton Vorontsov <avorontsov@ru.mvista.com> 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#ifndef __LINUX_OF_GPIO_H 1162306a36Sopenharmony_ci#define __LINUX_OF_GPIO_H 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci#include <linux/compiler.h> 1462306a36Sopenharmony_ci#include <linux/gpio/driver.h> 1562306a36Sopenharmony_ci#include <linux/gpio.h> /* FIXME: Shouldn't be here */ 1662306a36Sopenharmony_ci#include <linux/of.h> 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_cistruct device_node; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci#ifdef CONFIG_OF_GPIO 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciextern int of_get_named_gpio(const struct device_node *np, 2362306a36Sopenharmony_ci const char *list_name, int index); 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci#else /* CONFIG_OF_GPIO */ 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci#include <linux/errno.h> 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci/* Drivers may not strictly depend on the GPIO support, so let them link. */ 3062306a36Sopenharmony_cistatic inline int of_get_named_gpio(const struct device_node *np, 3162306a36Sopenharmony_ci const char *propname, int index) 3262306a36Sopenharmony_ci{ 3362306a36Sopenharmony_ci return -ENOSYS; 3462306a36Sopenharmony_ci} 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci#endif /* CONFIG_OF_GPIO */ 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci#endif /* __LINUX_OF_GPIO_H */ 39