gpio: rename gpio_lock_as_irq to gpiochip_lock_as_irq
This function actually operates on a gpio_chip, so its prefix should reflect that fact for consistency with other functions defined in gpio/driver.h. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Родитель
ee2a9f7f06
Коммит
e3a2e87893
|
@ -158,12 +158,12 @@ Locking IRQ usage
|
||||||
Input GPIOs can be used as IRQ signals. When this happens, a driver is requested
|
Input GPIOs can be used as IRQ signals. When this happens, a driver is requested
|
||||||
to mark the GPIO as being used as an IRQ:
|
to mark the GPIO as being used as an IRQ:
|
||||||
|
|
||||||
int gpio_lock_as_irq(struct gpio_chip *chip, unsigned int offset)
|
int gpiochip_lock_as_irq(struct gpio_chip *chip, unsigned int offset)
|
||||||
|
|
||||||
This will prevent the use of non-irq related GPIO APIs until the GPIO IRQ lock
|
This will prevent the use of non-irq related GPIO APIs until the GPIO IRQ lock
|
||||||
is released:
|
is released:
|
||||||
|
|
||||||
void gpio_unlock_as_irq(struct gpio_chip *chip, unsigned int offset)
|
void gpiochip_unlock_as_irq(struct gpio_chip *chip, unsigned int offset)
|
||||||
|
|
||||||
When implementing an irqchip inside a GPIO driver, these two functions should
|
When implementing an irqchip inside a GPIO driver, these two functions should
|
||||||
typically be called in the .startup() and .shutdown() callbacks from the
|
typically be called in the .startup() and .shutdown() callbacks from the
|
||||||
|
|
|
@ -470,7 +470,7 @@ static int bcm_kona_gpio_irq_reqres(struct irq_data *d)
|
||||||
{
|
{
|
||||||
struct bcm_kona_gpio *kona_gpio = irq_data_get_irq_chip_data(d);
|
struct bcm_kona_gpio *kona_gpio = irq_data_get_irq_chip_data(d);
|
||||||
|
|
||||||
if (gpio_lock_as_irq(&kona_gpio->gpio_chip, d->hwirq)) {
|
if (gpiochip_lock_as_irq(&kona_gpio->gpio_chip, d->hwirq)) {
|
||||||
dev_err(kona_gpio->gpio_chip.dev,
|
dev_err(kona_gpio->gpio_chip.dev,
|
||||||
"unable to lock HW IRQ %lu for IRQ\n",
|
"unable to lock HW IRQ %lu for IRQ\n",
|
||||||
d->hwirq);
|
d->hwirq);
|
||||||
|
@ -483,7 +483,7 @@ static void bcm_kona_gpio_irq_relres(struct irq_data *d)
|
||||||
{
|
{
|
||||||
struct bcm_kona_gpio *kona_gpio = irq_data_get_irq_chip_data(d);
|
struct bcm_kona_gpio *kona_gpio = irq_data_get_irq_chip_data(d);
|
||||||
|
|
||||||
gpio_unlock_as_irq(&kona_gpio->gpio_chip, d->hwirq);
|
gpiochip_unlock_as_irq(&kona_gpio->gpio_chip, d->hwirq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct irq_chip bcm_gpio_irq_chip = {
|
static struct irq_chip bcm_gpio_irq_chip = {
|
||||||
|
|
|
@ -194,7 +194,7 @@ static int dwapb_irq_reqres(struct irq_data *d)
|
||||||
struct dwapb_gpio *gpio = igc->private;
|
struct dwapb_gpio *gpio = igc->private;
|
||||||
struct bgpio_chip *bgc = &gpio->ports[0].bgc;
|
struct bgpio_chip *bgc = &gpio->ports[0].bgc;
|
||||||
|
|
||||||
if (gpio_lock_as_irq(&bgc->gc, irqd_to_hwirq(d))) {
|
if (gpiochip_lock_as_irq(&bgc->gc, irqd_to_hwirq(d))) {
|
||||||
dev_err(gpio->dev, "unable to lock HW IRQ %lu for IRQ\n",
|
dev_err(gpio->dev, "unable to lock HW IRQ %lu for IRQ\n",
|
||||||
irqd_to_hwirq(d));
|
irqd_to_hwirq(d));
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -208,7 +208,7 @@ static void dwapb_irq_relres(struct irq_data *d)
|
||||||
struct dwapb_gpio *gpio = igc->private;
|
struct dwapb_gpio *gpio = igc->private;
|
||||||
struct bgpio_chip *bgc = &gpio->ports[0].bgc;
|
struct bgpio_chip *bgc = &gpio->ports[0].bgc;
|
||||||
|
|
||||||
gpio_unlock_as_irq(&bgc->gc, irqd_to_hwirq(d));
|
gpiochip_unlock_as_irq(&bgc->gc, irqd_to_hwirq(d));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int dwapb_irq_set_type(struct irq_data *d, u32 type)
|
static int dwapb_irq_set_type(struct irq_data *d, u32 type)
|
||||||
|
|
|
@ -103,7 +103,7 @@ static int em_gio_irq_reqres(struct irq_data *d)
|
||||||
{
|
{
|
||||||
struct em_gio_priv *p = irq_data_get_irq_chip_data(d);
|
struct em_gio_priv *p = irq_data_get_irq_chip_data(d);
|
||||||
|
|
||||||
if (gpio_lock_as_irq(&p->gpio_chip, irqd_to_hwirq(d))) {
|
if (gpiochip_lock_as_irq(&p->gpio_chip, irqd_to_hwirq(d))) {
|
||||||
dev_err(p->gpio_chip.dev,
|
dev_err(p->gpio_chip.dev,
|
||||||
"unable to lock HW IRQ %lu for IRQ\n",
|
"unable to lock HW IRQ %lu for IRQ\n",
|
||||||
irqd_to_hwirq(d));
|
irqd_to_hwirq(d));
|
||||||
|
@ -116,7 +116,7 @@ static void em_gio_irq_relres(struct irq_data *d)
|
||||||
{
|
{
|
||||||
struct em_gio_priv *p = irq_data_get_irq_chip_data(d);
|
struct em_gio_priv *p = irq_data_get_irq_chip_data(d);
|
||||||
|
|
||||||
gpio_unlock_as_irq(&p->gpio_chip, irqd_to_hwirq(d));
|
gpiochip_unlock_as_irq(&p->gpio_chip, irqd_to_hwirq(d));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -444,7 +444,7 @@ static int mcp23s08_irq_reqres(struct irq_data *data)
|
||||||
{
|
{
|
||||||
struct mcp23s08 *mcp = irq_data_get_irq_chip_data(data);
|
struct mcp23s08 *mcp = irq_data_get_irq_chip_data(data);
|
||||||
|
|
||||||
if (gpio_lock_as_irq(&mcp->chip, data->hwirq)) {
|
if (gpiochip_lock_as_irq(&mcp->chip, data->hwirq)) {
|
||||||
dev_err(mcp->chip.dev,
|
dev_err(mcp->chip.dev,
|
||||||
"unable to lock HW IRQ %lu for IRQ usage\n",
|
"unable to lock HW IRQ %lu for IRQ usage\n",
|
||||||
data->hwirq);
|
data->hwirq);
|
||||||
|
@ -458,7 +458,7 @@ static void mcp23s08_irq_relres(struct irq_data *data)
|
||||||
{
|
{
|
||||||
struct mcp23s08 *mcp = irq_data_get_irq_chip_data(data);
|
struct mcp23s08 *mcp = irq_data_get_irq_chip_data(data);
|
||||||
|
|
||||||
gpio_unlock_as_irq(&mcp->chip, data->hwirq);
|
gpiochip_unlock_as_irq(&mcp->chip, data->hwirq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct irq_chip mcp23s08_irq_chip = {
|
static struct irq_chip mcp23s08_irq_chip = {
|
||||||
|
|
|
@ -800,7 +800,7 @@ static void omap_gpio_irq_shutdown(struct irq_data *d)
|
||||||
unsigned offset = GPIO_INDEX(bank, gpio);
|
unsigned offset = GPIO_INDEX(bank, gpio);
|
||||||
|
|
||||||
spin_lock_irqsave(&bank->lock, flags);
|
spin_lock_irqsave(&bank->lock, flags);
|
||||||
gpio_unlock_as_irq(&bank->chip, offset);
|
gpiochip_unlock_as_irq(&bank->chip, offset);
|
||||||
bank->irq_usage &= ~(BIT(offset));
|
bank->irq_usage &= ~(BIT(offset));
|
||||||
omap_disable_gpio_module(bank, offset);
|
omap_disable_gpio_module(bank, offset);
|
||||||
omap_reset_gpio(bank, gpio);
|
omap_reset_gpio(bank, gpio);
|
||||||
|
|
|
@ -233,7 +233,7 @@ static int tegra_gpio_irq_set_type(struct irq_data *d, unsigned int type)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = gpio_lock_as_irq(&tegra_gpio_chip, gpio);
|
ret = gpiochip_lock_as_irq(&tegra_gpio_chip, gpio);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(dev, "unable to lock Tegra GPIO %d as IRQ\n", gpio);
|
dev_err(dev, "unable to lock Tegra GPIO %d as IRQ\n", gpio);
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -263,7 +263,7 @@ static void tegra_gpio_irq_shutdown(struct irq_data *d)
|
||||||
{
|
{
|
||||||
int gpio = d->hwirq;
|
int gpio = d->hwirq;
|
||||||
|
|
||||||
gpio_unlock_as_irq(&tegra_gpio_chip, gpio);
|
gpiochip_unlock_as_irq(&tegra_gpio_chip, gpio);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tegra_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
|
static void tegra_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
|
||||||
|
|
|
@ -138,7 +138,7 @@ static void unmask_giuint_low(struct irq_data *d)
|
||||||
|
|
||||||
static unsigned int startup_giuint(struct irq_data *data)
|
static unsigned int startup_giuint(struct irq_data *data)
|
||||||
{
|
{
|
||||||
if (gpio_lock_as_irq(&vr41xx_gpio_chip, data->hwirq))
|
if (gpiochip_lock_as_irq(&vr41xx_gpio_chip, data->hwirq))
|
||||||
dev_err(vr41xx_gpio_chip.dev,
|
dev_err(vr41xx_gpio_chip.dev,
|
||||||
"unable to lock HW IRQ %lu for IRQ\n",
|
"unable to lock HW IRQ %lu for IRQ\n",
|
||||||
data->hwirq);
|
data->hwirq);
|
||||||
|
@ -150,7 +150,7 @@ static unsigned int startup_giuint(struct irq_data *data)
|
||||||
static void shutdown_giuint(struct irq_data *data)
|
static void shutdown_giuint(struct irq_data *data)
|
||||||
{
|
{
|
||||||
mask_giuint_low(data);
|
mask_giuint_low(data);
|
||||||
gpio_unlock_as_irq(&vr41xx_gpio_chip, data->hwirq);
|
gpiochip_unlock_as_irq(&vr41xx_gpio_chip, data->hwirq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct irq_chip giuint_low_irq_chip = {
|
static struct irq_chip giuint_low_irq_chip = {
|
||||||
|
|
|
@ -153,7 +153,7 @@ static acpi_status acpi_gpiochip_request_interrupt(struct acpi_resource *ares,
|
||||||
|
|
||||||
gpiod_direction_input(desc);
|
gpiod_direction_input(desc);
|
||||||
|
|
||||||
ret = gpio_lock_as_irq(chip, pin);
|
ret = gpiochip_lock_as_irq(chip, pin);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(chip->dev, "Failed to lock GPIO as interrupt\n");
|
dev_err(chip->dev, "Failed to lock GPIO as interrupt\n");
|
||||||
goto fail_free_desc;
|
goto fail_free_desc;
|
||||||
|
@ -209,7 +209,7 @@ static acpi_status acpi_gpiochip_request_interrupt(struct acpi_resource *ares,
|
||||||
fail_free_event:
|
fail_free_event:
|
||||||
kfree(event);
|
kfree(event);
|
||||||
fail_unlock_irq:
|
fail_unlock_irq:
|
||||||
gpio_unlock_as_irq(chip, pin);
|
gpiochip_unlock_as_irq(chip, pin);
|
||||||
fail_free_desc:
|
fail_free_desc:
|
||||||
gpiochip_free_own_desc(desc);
|
gpiochip_free_own_desc(desc);
|
||||||
|
|
||||||
|
@ -280,7 +280,7 @@ void acpi_gpiochip_free_interrupts(struct gpio_chip *chip)
|
||||||
desc = event->desc;
|
desc = event->desc;
|
||||||
if (WARN_ON(IS_ERR(desc)))
|
if (WARN_ON(IS_ERR(desc)))
|
||||||
continue;
|
continue;
|
||||||
gpio_unlock_as_irq(chip, event->pin);
|
gpiochip_unlock_as_irq(chip, event->pin);
|
||||||
gpiochip_free_own_desc(desc);
|
gpiochip_free_own_desc(desc);
|
||||||
list_del(&event->node);
|
list_del(&event->node);
|
||||||
kfree(event);
|
kfree(event);
|
||||||
|
|
|
@ -161,7 +161,7 @@ static int gpio_setup_irq(struct gpio_desc *desc, struct device *dev,
|
||||||
desc->flags &= ~GPIO_TRIGGER_MASK;
|
desc->flags &= ~GPIO_TRIGGER_MASK;
|
||||||
|
|
||||||
if (!gpio_flags) {
|
if (!gpio_flags) {
|
||||||
gpio_unlock_as_irq(desc->chip, gpio_chip_hwgpio(desc));
|
gpiochip_unlock_as_irq(desc->chip, gpio_chip_hwgpio(desc));
|
||||||
ret = 0;
|
ret = 0;
|
||||||
goto free_id;
|
goto free_id;
|
||||||
}
|
}
|
||||||
|
@ -200,7 +200,7 @@ static int gpio_setup_irq(struct gpio_desc *desc, struct device *dev,
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto free_id;
|
goto free_id;
|
||||||
|
|
||||||
ret = gpio_lock_as_irq(desc->chip, gpio_chip_hwgpio(desc));
|
ret = gpiochip_lock_as_irq(desc->chip, gpio_chip_hwgpio(desc));
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
gpiod_warn(desc, "failed to flag the GPIO for IRQ\n");
|
gpiod_warn(desc, "failed to flag the GPIO for IRQ\n");
|
||||||
goto free_id;
|
goto free_id;
|
||||||
|
|
|
@ -495,7 +495,7 @@ static int gpiochip_irq_reqres(struct irq_data *d)
|
||||||
{
|
{
|
||||||
struct gpio_chip *chip = irq_data_get_irq_chip_data(d);
|
struct gpio_chip *chip = irq_data_get_irq_chip_data(d);
|
||||||
|
|
||||||
if (gpio_lock_as_irq(chip, d->hwirq)) {
|
if (gpiochip_lock_as_irq(chip, d->hwirq)) {
|
||||||
chip_err(chip,
|
chip_err(chip,
|
||||||
"unable to lock HW IRQ %lu for IRQ\n",
|
"unable to lock HW IRQ %lu for IRQ\n",
|
||||||
d->hwirq);
|
d->hwirq);
|
||||||
|
@ -508,7 +508,7 @@ static void gpiochip_irq_relres(struct irq_data *d)
|
||||||
{
|
{
|
||||||
struct gpio_chip *chip = irq_data_get_irq_chip_data(d);
|
struct gpio_chip *chip = irq_data_get_irq_chip_data(d);
|
||||||
|
|
||||||
gpio_unlock_as_irq(chip, d->hwirq);
|
gpiochip_unlock_as_irq(chip, d->hwirq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int gpiochip_to_irq(struct gpio_chip *chip, unsigned offset)
|
static int gpiochip_to_irq(struct gpio_chip *chip, unsigned offset)
|
||||||
|
@ -1332,14 +1332,14 @@ int gpiod_to_irq(const struct gpio_desc *desc)
|
||||||
EXPORT_SYMBOL_GPL(gpiod_to_irq);
|
EXPORT_SYMBOL_GPL(gpiod_to_irq);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gpio_lock_as_irq() - lock a GPIO to be used as IRQ
|
* gpiochip_lock_as_irq() - lock a GPIO to be used as IRQ
|
||||||
* @chip: the chip the GPIO to lock belongs to
|
* @chip: the chip the GPIO to lock belongs to
|
||||||
* @offset: the offset of the GPIO to lock as IRQ
|
* @offset: the offset of the GPIO to lock as IRQ
|
||||||
*
|
*
|
||||||
* This is used directly by GPIO drivers that want to lock down
|
* This is used directly by GPIO drivers that want to lock down
|
||||||
* a certain GPIO line to be used for IRQs.
|
* a certain GPIO line to be used for IRQs.
|
||||||
*/
|
*/
|
||||||
int gpio_lock_as_irq(struct gpio_chip *chip, unsigned int offset)
|
int gpiochip_lock_as_irq(struct gpio_chip *chip, unsigned int offset)
|
||||||
{
|
{
|
||||||
if (offset >= chip->ngpio)
|
if (offset >= chip->ngpio)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -1354,24 +1354,24 @@ int gpio_lock_as_irq(struct gpio_chip *chip, unsigned int offset)
|
||||||
set_bit(FLAG_USED_AS_IRQ, &chip->desc[offset].flags);
|
set_bit(FLAG_USED_AS_IRQ, &chip->desc[offset].flags);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(gpio_lock_as_irq);
|
EXPORT_SYMBOL_GPL(gpiochip_lock_as_irq);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gpio_unlock_as_irq() - unlock a GPIO used as IRQ
|
* gpiochip_unlock_as_irq() - unlock a GPIO used as IRQ
|
||||||
* @chip: the chip the GPIO to lock belongs to
|
* @chip: the chip the GPIO to lock belongs to
|
||||||
* @offset: the offset of the GPIO to lock as IRQ
|
* @offset: the offset of the GPIO to lock as IRQ
|
||||||
*
|
*
|
||||||
* This is used directly by GPIO drivers that want to indicate
|
* This is used directly by GPIO drivers that want to indicate
|
||||||
* that a certain GPIO is no longer used exclusively for IRQ.
|
* that a certain GPIO is no longer used exclusively for IRQ.
|
||||||
*/
|
*/
|
||||||
void gpio_unlock_as_irq(struct gpio_chip *chip, unsigned int offset)
|
void gpiochip_unlock_as_irq(struct gpio_chip *chip, unsigned int offset)
|
||||||
{
|
{
|
||||||
if (offset >= chip->ngpio)
|
if (offset >= chip->ngpio)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
clear_bit(FLAG_USED_AS_IRQ, &chip->desc[offset].flags);
|
clear_bit(FLAG_USED_AS_IRQ, &chip->desc[offset].flags);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(gpio_unlock_as_irq);
|
EXPORT_SYMBOL_GPL(gpiochip_unlock_as_irq);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gpiod_get_raw_value_cansleep() - return a gpio's raw value
|
* gpiod_get_raw_value_cansleep() - return a gpio's raw value
|
||||||
|
|
|
@ -1472,7 +1472,7 @@ static unsigned int gpio_irq_startup(struct irq_data *d)
|
||||||
unsigned pin = d->hwirq;
|
unsigned pin = d->hwirq;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = gpio_lock_as_irq(&at91_gpio->chip, pin);
|
ret = gpiochip_lock_as_irq(&at91_gpio->chip, pin);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(at91_gpio->chip.dev, "unable to lock pind %lu IRQ\n",
|
dev_err(at91_gpio->chip.dev, "unable to lock pind %lu IRQ\n",
|
||||||
d->hwirq);
|
d->hwirq);
|
||||||
|
@ -1488,7 +1488,7 @@ static void gpio_irq_shutdown(struct irq_data *d)
|
||||||
unsigned pin = d->hwirq;
|
unsigned pin = d->hwirq;
|
||||||
|
|
||||||
gpio_irq_mask(d);
|
gpio_irq_mask(d);
|
||||||
gpio_unlock_as_irq(&at91_gpio->chip, pin);
|
gpiochip_unlock_as_irq(&at91_gpio->chip, pin);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
|
|
|
@ -180,7 +180,7 @@ static int exynos_irq_request_resources(struct irq_data *irqd)
|
||||||
unsigned int con;
|
unsigned int con;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = gpio_lock_as_irq(&bank->gpio_chip, irqd->hwirq);
|
ret = gpiochip_lock_as_irq(&bank->gpio_chip, irqd->hwirq);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(bank->gpio_chip.dev, "unable to lock pin %s-%lu IRQ\n",
|
dev_err(bank->gpio_chip.dev, "unable to lock pin %s-%lu IRQ\n",
|
||||||
bank->name, irqd->hwirq);
|
bank->name, irqd->hwirq);
|
||||||
|
@ -233,7 +233,7 @@ static void exynos_irq_release_resources(struct irq_data *irqd)
|
||||||
|
|
||||||
spin_unlock_irqrestore(&bank->slock, flags);
|
spin_unlock_irqrestore(&bank->slock, flags);
|
||||||
|
|
||||||
gpio_unlock_as_irq(&bank->gpio_chip, irqd->hwirq);
|
gpiochip_unlock_as_irq(&bank->gpio_chip, irqd->hwirq);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -553,7 +553,7 @@ static int sunxi_pinctrl_irq_request_resources(struct irq_data *d)
|
||||||
if (!func)
|
if (!func)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
ret = gpio_lock_as_irq(pctl->chip,
|
ret = gpiochip_lock_as_irq(pctl->chip,
|
||||||
pctl->irq_array[d->hwirq] - pctl->desc->pin_base);
|
pctl->irq_array[d->hwirq] - pctl->desc->pin_base);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(pctl->dev, "unable to lock HW IRQ %lu for IRQ\n",
|
dev_err(pctl->dev, "unable to lock HW IRQ %lu for IRQ\n",
|
||||||
|
@ -571,8 +571,8 @@ static void sunxi_pinctrl_irq_release_resources(struct irq_data *d)
|
||||||
{
|
{
|
||||||
struct sunxi_pinctrl *pctl = irq_data_get_irq_chip_data(d);
|
struct sunxi_pinctrl *pctl = irq_data_get_irq_chip_data(d);
|
||||||
|
|
||||||
gpio_unlock_as_irq(pctl->chip,
|
gpiochip_unlock_as_irq(pctl->chip,
|
||||||
pctl->irq_array[d->hwirq] - pctl->desc->pin_base);
|
pctl->irq_array[d->hwirq] - pctl->desc->pin_base);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sunxi_pinctrl_irq_set_type(struct irq_data *d, unsigned int type)
|
static int sunxi_pinctrl_irq_set_type(struct irq_data *d, unsigned int type)
|
||||||
|
|
|
@ -216,14 +216,15 @@ static inline int gpio_to_irq(unsigned gpio)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int gpio_lock_as_irq(struct gpio_chip *chip, unsigned int offset)
|
static inline int gpiochip_lock_as_irq(struct gpio_chip *chip,
|
||||||
|
unsigned int offset)
|
||||||
{
|
{
|
||||||
WARN_ON(1);
|
WARN_ON(1);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void gpio_unlock_as_irq(struct gpio_chip *chip,
|
static inline void gpiochip_unlock_as_irq(struct gpio_chip *chip,
|
||||||
unsigned int offset)
|
unsigned int offset)
|
||||||
{
|
{
|
||||||
WARN_ON(1);
|
WARN_ON(1);
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,8 +149,8 @@ extern struct gpio_chip *gpiochip_find(void *data,
|
||||||
int (*match)(struct gpio_chip *chip, void *data));
|
int (*match)(struct gpio_chip *chip, void *data));
|
||||||
|
|
||||||
/* lock/unlock as IRQ */
|
/* lock/unlock as IRQ */
|
||||||
int gpio_lock_as_irq(struct gpio_chip *chip, unsigned int offset);
|
int gpiochip_lock_as_irq(struct gpio_chip *chip, unsigned int offset);
|
||||||
void gpio_unlock_as_irq(struct gpio_chip *chip, unsigned int offset);
|
void gpiochip_unlock_as_irq(struct gpio_chip *chip, unsigned int offset);
|
||||||
|
|
||||||
struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc);
|
struct gpio_chip *gpiod_to_chip(const struct gpio_desc *desc);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче