Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99103f77 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull pinctrl fixes from Linus Walleij:
 "This fixes a few pinctrl problems seen since v3.7-rc1:
   - Section tagging for init code
   - Use proper pointers to lookup struct device * in the bcm2835
     (a.k.a.  Raspberry Pi)
   - Remove duplicate #includes
   - Fix bad return values in errorpath
   - Remove extraneous pull function from the sirf driver causing build
     errors
   - Provide compilation stubs for the Nomadik pinctrl driver when used
     with legacy systems without PRCMU units
   - Various irqdomain fixes in the Nomadik driver as predicted
   - Various smallish bugs in the Tegra driver, most also targeted for
     stable
   - Removed a deadlocking mutex in the groups debugfs show function"

* tag 'pinctrl-v3.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
  pinctrl/nomadik: pass DT node to the irqdomain
  pinctrl/nomadik: use zero as default irq_start
  pinctrl: fix missing unlock on error in pinctrl_groups_show()
  pinctrl/nomadik: use irq_create_mapping()
  pinctrl: remove mutex lock in groups show
  pinctrl: tegra: correct bank for pingroup and drv pingroup
  pinctrl: tegra: set low power mode bank width to 2
  dt: Document: correct tegra20/30 pinctrl slew-rate name
parents 206aa6a6 38843e29
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ Valid values for pin and group names are:

    With some exceptions, these support nvidia,high-speed-mode,
    nvidia,schmitt, nvidia,low-power-mode, nvidia,pull-down-strength,
    nvidia,pull-up-strength, nvidia,slew_rate-rising, nvidia,slew_rate-falling.
    nvidia,pull-up-strength, nvidia,slew-rate-rising, nvidia,slew-rate-falling.

    drive_ao1, drive_ao2, drive_at1, drive_at2, drive_cdev1, drive_cdev2,
    drive_csus, drive_dap1, drive_dap2, drive_dap3, drive_dap4, drive_dbg,
+1 −1
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ Valid values for pin and group names are:
  drive groups:

    These all support nvidia,pull-down-strength, nvidia,pull-up-strength,
    nvidia,slew_rate-rising, nvidia,slew_rate-falling. Most but not all
    nvidia,slew-rate-rising, nvidia,slew-rate-falling. Most but not all
    support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode.

    ao1, ao2, at1, at2, at3, at4, at5, cdev1, cdev2, cec, crt, csus, dap1,
+3 −1
Original line number Diff line number Diff line
@@ -1061,8 +1061,10 @@ static int pinctrl_groups_show(struct seq_file *s, void *what)
			seq_printf(s, "group: %s\n", gname);
			for (i = 0; i < num_pins; i++) {
				pname = pin_get_name(pctldev, pins[i]);
				if (WARN_ON(!pname))
				if (WARN_ON(!pname)) {
					mutex_unlock(&pinctrl_mutex);
					return -EINVAL;
				}
				seq_printf(s, "pin %d (%s)\n", pins[i], pname);
			}
			seq_puts(s, "\n");
+0 −4
Original line number Diff line number Diff line
@@ -537,8 +537,6 @@ static int pinconf_groups_show(struct seq_file *s, void *what)
	seq_puts(s, "Pin config settings per pin group\n");
	seq_puts(s, "Format: group (name): configs\n");

	mutex_lock(&pinctrl_mutex);

	while (selector < ngroups) {
		const char *gname = pctlops->get_group_name(pctldev, selector);

@@ -549,8 +547,6 @@ static int pinconf_groups_show(struct seq_file *s, void *what)
		selector++;
	}

	mutex_unlock(&pinctrl_mutex);

	return 0;
}

+3 −3
Original line number Diff line number Diff line
@@ -1056,7 +1056,7 @@ static int nmk_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
	struct nmk_gpio_chip *nmk_chip =
		container_of(chip, struct nmk_gpio_chip, chip);

	return irq_find_mapping(nmk_chip->domain, offset);
	return irq_create_mapping(nmk_chip->domain, offset);
}

#ifdef CONFIG_DEBUG_FS
@@ -1281,7 +1281,7 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev)
	struct clk *clk;
	int secondary_irq;
	void __iomem *base;
	int irq_start = -1;
	int irq_start = 0;
	int irq;
	int ret;

@@ -1387,7 +1387,7 @@ static int __devinit nmk_gpio_probe(struct platform_device *dev)

	if (!np)
		irq_start = NOMADIK_GPIO_TO_IRQ(pdata->first_gpio);
	nmk_chip->domain = irq_domain_add_simple(NULL,
	nmk_chip->domain = irq_domain_add_simple(np,
				NMK_GPIO_PER_CHIP, irq_start,
				&nmk_gpio_irq_simple_ops, nmk_chip);
	if (!nmk_chip->domain) {
Loading