Merge tag 'pinctrl-v4.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
Pull pin control fixes from Linus Walleij:
"Here are some overly ripe pin control fixes for the v4.2 series.
They got delayed because of various crap commits and having to clean
and rinse the patch stack a few times. Now they are however looking
good.
- some dead defines dropped from the Samsung driver, was targeted for
-rc2 but got delayed
- drop the strict mode from abx500, this was too strict
- fix the R-Car sparse IRQs code to work as intended
- fix the IRQ code for the pinctrl-single GPIO backend to not enforce
threaded IRQs
- clear the latched events/IRQs for the Broadcom BCM2835 driver
- fix up debugfs for the Freescale imx1 driver
- fix a typo bug in the Schmitt Trigger setup in the LPC18xx driver"
* tag 'pinctrl-v4.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
pinctrl: lpc18xx: fix schmitt trigger setup
Subject: pinctrl: imx1-core: Fix debug output in .pin_config_set callback
pinctrl: bcm2835: Clear the event latch register when disabling interrupts
pinctrl: single: ensure pcs irq will not be forced threaded
sh-pfc: fix sparse GPIOs for R-Car SoCs
pinctrl: abx500: remove strict mode
pinctrl: samsung: Remove old unused defines
This commit is contained in:
@@ -473,6 +473,8 @@ static void bcm2835_gpio_irq_disable(struct irq_data *data)
|
||||
|
||||
spin_lock_irqsave(&pc->irq_lock[bank], flags);
|
||||
bcm2835_gpio_irq_config(pc, gpio, false);
|
||||
/* Clear events that were latched prior to clearing event sources */
|
||||
bcm2835_gpio_set_bit(pc, GPEDS0, gpio);
|
||||
clear_bit(offset, &pc->enabled_irq_map[bank]);
|
||||
spin_unlock_irqrestore(&pc->irq_lock[bank], flags);
|
||||
}
|
||||
|
||||
@@ -403,14 +403,13 @@ static int imx1_pinconf_set(struct pinctrl_dev *pctldev,
|
||||
unsigned num_configs)
|
||||
{
|
||||
struct imx1_pinctrl *ipctl = pinctrl_dev_get_drvdata(pctldev);
|
||||
const struct imx1_pinctrl_soc_info *info = ipctl->info;
|
||||
int i;
|
||||
|
||||
for (i = 0; i != num_configs; ++i) {
|
||||
imx1_write_bit(ipctl, pin_id, configs[i] & 0x01, MX1_PUEN);
|
||||
|
||||
dev_dbg(ipctl->dev, "pinconf set pullup pin %s\n",
|
||||
info->pins[pin_id].name);
|
||||
pin_desc_get(pctldev, pin_id)->name);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -787,7 +787,6 @@ static const struct pinmux_ops abx500_pinmux_ops = {
|
||||
.set_mux = abx500_pmx_set,
|
||||
.gpio_request_enable = abx500_gpio_request_enable,
|
||||
.gpio_disable_free = abx500_gpio_disable_free,
|
||||
.strict = true,
|
||||
};
|
||||
|
||||
static int abx500_get_groups_cnt(struct pinctrl_dev *pctldev)
|
||||
|
||||
@@ -823,7 +823,7 @@ static int lpc18xx_pconf_set_i2c0(struct pinctrl_dev *pctldev,
|
||||
break;
|
||||
|
||||
case PIN_CONFIG_INPUT_SCHMITT_ENABLE:
|
||||
if (param)
|
||||
if (param_val)
|
||||
*reg &= ~(LPC18XX_SCU_I2C0_ZIF << shift);
|
||||
else
|
||||
*reg |= (LPC18XX_SCU_I2C0_ZIF << shift);
|
||||
@@ -876,7 +876,7 @@ static int lpc18xx_pconf_set_pin(struct pinctrl_dev *pctldev,
|
||||
break;
|
||||
|
||||
case PIN_CONFIG_INPUT_SCHMITT_ENABLE:
|
||||
if (param)
|
||||
if (param_val)
|
||||
*reg &= ~LPC18XX_SCU_PIN_ZIF;
|
||||
else
|
||||
*reg |= LPC18XX_SCU_PIN_ZIF;
|
||||
|
||||
@@ -1760,7 +1760,8 @@ static int pcs_irq_init_chained_handler(struct pcs_device *pcs,
|
||||
int res;
|
||||
|
||||
res = request_irq(pcs_soc->irq, pcs_irq_handler,
|
||||
IRQF_SHARED | IRQF_NO_SUSPEND,
|
||||
IRQF_SHARED | IRQF_NO_SUSPEND |
|
||||
IRQF_NO_THREAD,
|
||||
name, pcs_soc);
|
||||
if (res) {
|
||||
pcs_soc->irq = -1;
|
||||
|
||||
@@ -33,11 +33,6 @@
|
||||
#include "../core.h"
|
||||
#include "pinctrl-samsung.h"
|
||||
|
||||
#define GROUP_SUFFIX "-grp"
|
||||
#define GSUFFIX_LEN sizeof(GROUP_SUFFIX)
|
||||
#define FUNCTION_SUFFIX "-mux"
|
||||
#define FSUFFIX_LEN sizeof(FUNCTION_SUFFIX)
|
||||
|
||||
/* list of all possible config options supported */
|
||||
static struct pin_config {
|
||||
const char *property;
|
||||
|
||||
@@ -224,7 +224,7 @@ struct sh_pfc_soc_info {
|
||||
|
||||
/* PINMUX_GPIO_GP_ALL - Expand to a list of sh_pfc_pin entries */
|
||||
#define _GP_GPIO(bank, _pin, _name, sfx) \
|
||||
[(bank * 32) + _pin] = { \
|
||||
{ \
|
||||
.pin = (bank * 32) + _pin, \
|
||||
.name = __stringify(_name), \
|
||||
.enum_id = _name##_DATA, \
|
||||
|
||||
Reference in New Issue
Block a user