Merge tag 'v4.8-rc6' into devel
Linux 4.8-rc6
This commit is contained in:
@@ -1539,12 +1539,11 @@ static int chv_gpio_probe(struct chv_pinctrl *pctrl, int irq)
|
||||
offset += range->npins;
|
||||
}
|
||||
|
||||
/* Mask and clear all interrupts */
|
||||
chv_writel(0, pctrl->regs + CHV_INTMASK);
|
||||
/* Clear all interrupts */
|
||||
chv_writel(0xffff, pctrl->regs + CHV_INTSTAT);
|
||||
|
||||
ret = gpiochip_irqchip_add(chip, &chv_gpio_irqchip, 0,
|
||||
handle_simple_irq, IRQ_TYPE_NONE);
|
||||
handle_bad_irq, IRQ_TYPE_NONE);
|
||||
if (ret) {
|
||||
dev_err(pctrl->dev, "failed to add IRQ chip\n");
|
||||
goto fail;
|
||||
|
@@ -11,6 +11,7 @@
|
||||
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/err.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/pinctrl/pinconf.h>
|
||||
|
@@ -679,13 +679,7 @@ static int meson_pinctrl_probe(struct platform_device *pdev)
|
||||
return PTR_ERR(pc->pcdev);
|
||||
}
|
||||
|
||||
ret = meson_gpiolib_register(pc);
|
||||
if (ret) {
|
||||
pinctrl_unregister(pc->pcdev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return meson_gpiolib_register(pc);
|
||||
}
|
||||
|
||||
static struct platform_driver meson_pinctrl_driver = {
|
||||
|
@@ -43,17 +43,6 @@ static int amd_gpio_direction_input(struct gpio_chip *gc, unsigned offset)
|
||||
|
||||
spin_lock_irqsave(&gpio_dev->lock, flags);
|
||||
pin_reg = readl(gpio_dev->base + offset * 4);
|
||||
/*
|
||||
* Suppose BIOS or Bootloader sets specific debounce for the
|
||||
* GPIO. if not, set debounce to be 2.75ms and remove glitch.
|
||||
*/
|
||||
if ((pin_reg & DB_TMR_OUT_MASK) == 0) {
|
||||
pin_reg |= 0xf;
|
||||
pin_reg |= BIT(DB_TMR_OUT_UNIT_OFF);
|
||||
pin_reg |= DB_TYPE_REMOVE_GLITCH << DB_CNTRL_OFF;
|
||||
pin_reg &= ~BIT(DB_TMR_LARGE_OFF);
|
||||
}
|
||||
|
||||
pin_reg &= ~BIT(OUTPUT_ENABLE_OFF);
|
||||
writel(pin_reg, gpio_dev->base + offset * 4);
|
||||
spin_unlock_irqrestore(&gpio_dev->lock, flags);
|
||||
@@ -326,15 +315,6 @@ static void amd_gpio_irq_enable(struct irq_data *d)
|
||||
|
||||
spin_lock_irqsave(&gpio_dev->lock, flags);
|
||||
pin_reg = readl(gpio_dev->base + (d->hwirq)*4);
|
||||
/*
|
||||
Suppose BIOS or Bootloader sets specific debounce for the
|
||||
GPIO. if not, set debounce to be 2.75ms.
|
||||
*/
|
||||
if ((pin_reg & DB_TMR_OUT_MASK) == 0) {
|
||||
pin_reg |= 0xf;
|
||||
pin_reg |= BIT(DB_TMR_OUT_UNIT_OFF);
|
||||
pin_reg &= ~BIT(DB_TMR_LARGE_OFF);
|
||||
}
|
||||
pin_reg |= BIT(INTERRUPT_ENABLE_OFF);
|
||||
pin_reg |= BIT(INTERRUPT_MASK_OFF);
|
||||
writel(pin_reg, gpio_dev->base + (d->hwirq)*4);
|
||||
|
@@ -809,17 +809,17 @@ static const struct pistachio_pin_group pistachio_groups[] = {
|
||||
PADS_FUNCTION_SELECT2, 12, 0x3),
|
||||
MFIO_MUX_PIN_GROUP(83, MIPS_PLL_LOCK, MIPS_TRACE_DATA, USB_DEBUG,
|
||||
PADS_FUNCTION_SELECT2, 14, 0x3),
|
||||
MFIO_MUX_PIN_GROUP(84, SYS_PLL_LOCK, MIPS_TRACE_DATA, USB_DEBUG,
|
||||
MFIO_MUX_PIN_GROUP(84, AUDIO_PLL_LOCK, MIPS_TRACE_DATA, USB_DEBUG,
|
||||
PADS_FUNCTION_SELECT2, 16, 0x3),
|
||||
MFIO_MUX_PIN_GROUP(85, WIFI_PLL_LOCK, MIPS_TRACE_DATA, SDHOST_DEBUG,
|
||||
MFIO_MUX_PIN_GROUP(85, RPU_V_PLL_LOCK, MIPS_TRACE_DATA, SDHOST_DEBUG,
|
||||
PADS_FUNCTION_SELECT2, 18, 0x3),
|
||||
MFIO_MUX_PIN_GROUP(86, BT_PLL_LOCK, MIPS_TRACE_DATA, SDHOST_DEBUG,
|
||||
MFIO_MUX_PIN_GROUP(86, RPU_L_PLL_LOCK, MIPS_TRACE_DATA, SDHOST_DEBUG,
|
||||
PADS_FUNCTION_SELECT2, 20, 0x3),
|
||||
MFIO_MUX_PIN_GROUP(87, RPU_V_PLL_LOCK, DREQ2, SOCIF_DEBUG,
|
||||
MFIO_MUX_PIN_GROUP(87, SYS_PLL_LOCK, DREQ2, SOCIF_DEBUG,
|
||||
PADS_FUNCTION_SELECT2, 22, 0x3),
|
||||
MFIO_MUX_PIN_GROUP(88, RPU_L_PLL_LOCK, DREQ3, SOCIF_DEBUG,
|
||||
MFIO_MUX_PIN_GROUP(88, WIFI_PLL_LOCK, DREQ3, SOCIF_DEBUG,
|
||||
PADS_FUNCTION_SELECT2, 24, 0x3),
|
||||
MFIO_MUX_PIN_GROUP(89, AUDIO_PLL_LOCK, DREQ4, DREQ5,
|
||||
MFIO_MUX_PIN_GROUP(89, BT_PLL_LOCK, DREQ4, DREQ5,
|
||||
PADS_FUNCTION_SELECT2, 26, 0x3),
|
||||
PIN_GROUP(TCK, "tck"),
|
||||
PIN_GROUP(TRSTN, "trstn"),
|
||||
@@ -1432,7 +1432,6 @@ static int pistachio_pinctrl_probe(struct platform_device *pdev)
|
||||
{
|
||||
struct pistachio_pinctrl *pctl;
|
||||
struct resource *res;
|
||||
int ret;
|
||||
|
||||
pctl = devm_kzalloc(&pdev->dev, sizeof(*pctl), GFP_KERNEL);
|
||||
if (!pctl)
|
||||
@@ -1464,13 +1463,7 @@ static int pistachio_pinctrl_probe(struct platform_device *pdev)
|
||||
return PTR_ERR(pctl->pctldev);
|
||||
}
|
||||
|
||||
ret = pistachio_gpio_register(pctl);
|
||||
if (ret < 0) {
|
||||
pinctrl_unregister(pctl->pctldev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return pistachio_gpio_register(pctl);
|
||||
}
|
||||
|
||||
static struct platform_driver pistachio_pinctrl_driver = {
|
||||
|
@@ -485,12 +485,12 @@ static const struct sunxi_desc_pin sun8i_a23_pins[] = {
|
||||
SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 8),
|
||||
SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
SUNXI_FUNCTION(0x2, "uart2"), /* RTS */
|
||||
SUNXI_FUNCTION(0x2, "uart1"), /* RTS */
|
||||
SUNXI_FUNCTION_IRQ_BANK(0x4, 2, 8)), /* PG_EINT8 */
|
||||
SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 9),
|
||||
SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
SUNXI_FUNCTION(0x2, "uart2"), /* CTS */
|
||||
SUNXI_FUNCTION(0x2, "uart1"), /* CTS */
|
||||
SUNXI_FUNCTION_IRQ_BANK(0x4, 2, 9)), /* PG_EINT9 */
|
||||
SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 10),
|
||||
SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
|
@@ -407,12 +407,12 @@ static const struct sunxi_desc_pin sun8i_a33_pins[] = {
|
||||
SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 8),
|
||||
SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
SUNXI_FUNCTION(0x2, "uart2"), /* RTS */
|
||||
SUNXI_FUNCTION(0x2, "uart1"), /* RTS */
|
||||
SUNXI_FUNCTION_IRQ_BANK(0x4, 1, 8)), /* PG_EINT8 */
|
||||
SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 9),
|
||||
SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
SUNXI_FUNCTION(0x2, "uart2"), /* CTS */
|
||||
SUNXI_FUNCTION(0x2, "uart1"), /* CTS */
|
||||
SUNXI_FUNCTION_IRQ_BANK(0x4, 1, 9)), /* PG_EINT9 */
|
||||
SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 10),
|
||||
SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
|
Reference in New Issue
Block a user