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

Commit 56ef9db2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARM SoC fixes from Olof Johansson:
 "This should be our final batch of fixes for 4.3:

   - A patch from Sudeep Holla that fixes annotation of wakeup sources
     properly, old unused format seems to have spread through copying.

   - Two patches from Tony for OMAP.  One dealing with MUSB setup
     problems due to runtime PM being enabled too early on the parent
     device.  The other fixes IRQ numbering for OMAP1"

* tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
  usb: musb: omap2430: Fix regression caused by driver core change
  ARM: OMAP1: fix incorrect INT_DMA_LCD
  ARM: dts: fix gpio-keys wakeup-source property
parents 060b85b0 53dd186b
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -35,28 +35,28 @@


		button@1 {
		button@1 {
			debounce_interval = <50>;
			debounce_interval = <50>;
			wakeup = <1>;
			wakeup-source;
			label = "DSW2-1";
			label = "DSW2-1";
			linux,code = <KEY_1>;
			linux,code = <KEY_1>;
			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
			gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
		};
		};
		button@2 {
		button@2 {
			debounce_interval = <50>;
			debounce_interval = <50>;
			wakeup = <1>;
			wakeup-source;
			label = "DSW2-2";
			label = "DSW2-2";
			linux,code = <KEY_2>;
			linux,code = <KEY_2>;
			gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
			gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
		};
		};
		button@3 {
		button@3 {
			debounce_interval = <50>;
			debounce_interval = <50>;
			wakeup = <1>;
			wakeup-source;
			label = "DSW2-3";
			label = "DSW2-3";
			linux,code = <KEY_3>;
			linux,code = <KEY_3>;
			gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
			gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
		};
		};
		button@4 {
		button@4 {
			debounce_interval = <50>;
			debounce_interval = <50>;
			wakeup = <1>;
			wakeup-source;
			label = "DSW2-4";
			label = "DSW2-4";
			linux,code = <KEY_4>;
			linux,code = <KEY_4>;
			gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
			gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
+5 −5
Original line number Original line Diff line number Diff line
@@ -47,35 +47,35 @@


		button@1 {
		button@1 {
			debounce_interval = <50>;
			debounce_interval = <50>;
			wakeup = <1>;
			wakeup-source;
			linux,code = <2>;
			linux,code = <2>;
			label = "userpb";
			label = "userpb";
			gpios = <&gpio1 0 0x4>;
			gpios = <&gpio1 0 0x4>;
		};
		};
		button@2 {
		button@2 {
			debounce_interval = <50>;
			debounce_interval = <50>;
			wakeup = <1>;
			wakeup-source;
			linux,code = <3>;
			linux,code = <3>;
			label = "extkb1";
			label = "extkb1";
			gpios = <&gpio4 23 0x4>;
			gpios = <&gpio4 23 0x4>;
		};
		};
		button@3 {
		button@3 {
			debounce_interval = <50>;
			debounce_interval = <50>;
			wakeup = <1>;
			wakeup-source;
			linux,code = <4>;
			linux,code = <4>;
			label = "extkb2";
			label = "extkb2";
			gpios = <&gpio4 24 0x4>;
			gpios = <&gpio4 24 0x4>;
		};
		};
		button@4 {
		button@4 {
			debounce_interval = <50>;
			debounce_interval = <50>;
			wakeup = <1>;
			wakeup-source;
			linux,code = <5>;
			linux,code = <5>;
			label = "extkb3";
			label = "extkb3";
			gpios = <&gpio5 1 0x4>;
			gpios = <&gpio5 1 0x4>;
		};
		};
		button@5 {
		button@5 {
			debounce_interval = <50>;
			debounce_interval = <50>;
			wakeup = <1>;
			wakeup-source;
			linux,code = <6>;
			linux,code = <6>;
			label = "extkb4";
			label = "extkb4";
			gpios = <&gpio5 2 0x4>;
			gpios = <&gpio5 2 0x4>;
+6 −6
Original line number Original line Diff line number Diff line
@@ -61,42 +61,42 @@


				button@1 {
				button@1 {
					debounce_interval = <50>;
					debounce_interval = <50>;
					wakeup = <1>;
					wakeup-source;
					linux,code = <116>;
					linux,code = <116>;
					label = "POWER";
					label = "POWER";
					gpios = <&iofpga_gpio0 0 0x4>;
					gpios = <&iofpga_gpio0 0 0x4>;
				};
				};
				button@2 {
				button@2 {
					debounce_interval = <50>;
					debounce_interval = <50>;
					wakeup = <1>;
					wakeup-source;
					linux,code = <102>;
					linux,code = <102>;
					label = "HOME";
					label = "HOME";
					gpios = <&iofpga_gpio0 1 0x4>;
					gpios = <&iofpga_gpio0 1 0x4>;
				};
				};
				button@3 {
				button@3 {
					debounce_interval = <50>;
					debounce_interval = <50>;
					wakeup = <1>;
					wakeup-source;
					linux,code = <152>;
					linux,code = <152>;
					label = "RLOCK";
					label = "RLOCK";
					gpios = <&iofpga_gpio0 2 0x4>;
					gpios = <&iofpga_gpio0 2 0x4>;
				};
				};
				button@4 {
				button@4 {
					debounce_interval = <50>;
					debounce_interval = <50>;
					wakeup = <1>;
					wakeup-source;
					linux,code = <115>;
					linux,code = <115>;
					label = "VOL+";
					label = "VOL+";
					gpios = <&iofpga_gpio0 3 0x4>;
					gpios = <&iofpga_gpio0 3 0x4>;
				};
				};
				button@5 {
				button@5 {
					debounce_interval = <50>;
					debounce_interval = <50>;
					wakeup = <1>;
					wakeup-source;
					linux,code = <114>;
					linux,code = <114>;
					label = "VOL-";
					label = "VOL-";
					gpios = <&iofpga_gpio0 4 0x4>;
					gpios = <&iofpga_gpio0 4 0x4>;
				};
				};
				button@6 {
				button@6 {
					debounce_interval = <50>;
					debounce_interval = <50>;
					wakeup = <1>;
					wakeup-source;
					linux,code = <99>;
					linux,code = <99>;
					label = "NMI";
					label = "NMI";
					gpios = <&iofpga_gpio0 5 0x4>;
					gpios = <&iofpga_gpio0 5 0x4>;
+23 −6
Original line number Original line Diff line number Diff line
@@ -391,9 +391,20 @@ static int omap2430_musb_init(struct musb *musb)
	}
	}
	musb->isr = omap2430_musb_interrupt;
	musb->isr = omap2430_musb_interrupt;


	/*
	 * Enable runtime PM for musb parent (this driver). We can't
	 * do it earlier as struct musb is not yet allocated and we
	 * need to touch the musb registers for runtime PM.
	 */
	pm_runtime_enable(glue->dev);
	status = pm_runtime_get_sync(glue->dev);
	if (status < 0)
		goto err1;

	status = pm_runtime_get_sync(dev);
	status = pm_runtime_get_sync(dev);
	if (status < 0) {
	if (status < 0) {
		dev_err(dev, "pm_runtime_get_sync FAILED %d\n", status);
		dev_err(dev, "pm_runtime_get_sync FAILED %d\n", status);
		pm_runtime_put_sync(glue->dev);
		goto err1;
		goto err1;
	}
	}


@@ -426,6 +437,7 @@ static int omap2430_musb_init(struct musb *musb)
	phy_power_on(musb->phy);
	phy_power_on(musb->phy);


	pm_runtime_put_noidle(musb->controller);
	pm_runtime_put_noidle(musb->controller);
	pm_runtime_put_noidle(glue->dev);
	return 0;
	return 0;


err1:
err1:
@@ -626,7 +638,11 @@ static int omap2430_probe(struct platform_device *pdev)
		goto err2;
		goto err2;
	}
	}


	pm_runtime_enable(&pdev->dev);
	/*
	 * Note that we cannot enable PM runtime yet for this
	 * driver as we need struct musb initialized first.
	 * See omap2430_musb_init above.
	 */


	ret = platform_device_add(musb);
	ret = platform_device_add(musb);
	if (ret) {
	if (ret) {
@@ -675,11 +691,12 @@ static int omap2430_runtime_resume(struct device *dev)
	struct omap2430_glue		*glue = dev_get_drvdata(dev);
	struct omap2430_glue		*glue = dev_get_drvdata(dev);
	struct musb			*musb = glue_to_musb(glue);
	struct musb			*musb = glue_to_musb(glue);


	if (musb) {
	if (!musb)
		return -EPROBE_DEFER;

	omap2430_low_level_init(musb);
	omap2430_low_level_init(musb);
	musb_writel(musb->mregs, OTG_INTERFSEL,
	musb_writel(musb->mregs, OTG_INTERFSEL,
		    musb->context.otg_interfsel);
		    musb->context.otg_interfsel);
	}


	return 0;
	return 0;
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -17,7 +17,7 @@


#include <linux/platform_device.h>
#include <linux/platform_device.h>


#define INT_DMA_LCD			25
#define INT_DMA_LCD			(NR_IRQS_LEGACY + 25)


#define OMAP1_DMA_TOUT_IRQ		(1 << 0)
#define OMAP1_DMA_TOUT_IRQ		(1 << 0)
#define OMAP_DMA_DROP_IRQ		(1 << 1)
#define OMAP_DMA_DROP_IRQ		(1 << 1)