Skip to content

Commit 56ef9db

Browse files
committed
Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
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
2 parents 060b85b + 53dd186 commit 56ef9db

File tree

5 files changed

+39
-22
lines changed

5 files changed

+39
-22
lines changed

arch/arm/boot/dts/emev2-kzm9d.dts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,28 +35,28 @@
3535

3636
button@1 {
3737
debounce_interval = <50>;
38-
wakeup = <1>;
38+
wakeup-source;
3939
label = "DSW2-1";
4040
linux,code = <KEY_1>;
4141
gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
4242
};
4343
button@2 {
4444
debounce_interval = <50>;
45-
wakeup = <1>;
45+
wakeup-source;
4646
label = "DSW2-2";
4747
linux,code = <KEY_2>;
4848
gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>;
4949
};
5050
button@3 {
5151
debounce_interval = <50>;
52-
wakeup = <1>;
52+
wakeup-source;
5353
label = "DSW2-3";
5454
linux,code = <KEY_3>;
5555
gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>;
5656
};
5757
button@4 {
5858
debounce_interval = <50>;
59-
wakeup = <1>;
59+
wakeup-source;
6060
label = "DSW2-4";
6161
linux,code = <KEY_4>;
6262
gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;

arch/arm/boot/dts/ste-snowball.dts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,35 +47,35 @@
4747

4848
button@1 {
4949
debounce_interval = <50>;
50-
wakeup = <1>;
50+
wakeup-source;
5151
linux,code = <2>;
5252
label = "userpb";
5353
gpios = <&gpio1 0 0x4>;
5454
};
5555
button@2 {
5656
debounce_interval = <50>;
57-
wakeup = <1>;
57+
wakeup-source;
5858
linux,code = <3>;
5959
label = "extkb1";
6060
gpios = <&gpio4 23 0x4>;
6161
};
6262
button@3 {
6363
debounce_interval = <50>;
64-
wakeup = <1>;
64+
wakeup-source;
6565
linux,code = <4>;
6666
label = "extkb2";
6767
gpios = <&gpio4 24 0x4>;
6868
};
6969
button@4 {
7070
debounce_interval = <50>;
71-
wakeup = <1>;
71+
wakeup-source;
7272
linux,code = <5>;
7373
label = "extkb3";
7474
gpios = <&gpio5 1 0x4>;
7575
};
7676
button@5 {
7777
debounce_interval = <50>;
78-
wakeup = <1>;
78+
wakeup-source;
7979
linux,code = <6>;
8080
label = "extkb4";
8181
gpios = <&gpio5 2 0x4>;

arch/arm64/boot/dts/arm/juno-motherboard.dtsi

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,42 +61,42 @@
6161

6262
button@1 {
6363
debounce_interval = <50>;
64-
wakeup = <1>;
64+
wakeup-source;
6565
linux,code = <116>;
6666
label = "POWER";
6767
gpios = <&iofpga_gpio0 0 0x4>;
6868
};
6969
button@2 {
7070
debounce_interval = <50>;
71-
wakeup = <1>;
71+
wakeup-source;
7272
linux,code = <102>;
7373
label = "HOME";
7474
gpios = <&iofpga_gpio0 1 0x4>;
7575
};
7676
button@3 {
7777
debounce_interval = <50>;
78-
wakeup = <1>;
78+
wakeup-source;
7979
linux,code = <152>;
8080
label = "RLOCK";
8181
gpios = <&iofpga_gpio0 2 0x4>;
8282
};
8383
button@4 {
8484
debounce_interval = <50>;
85-
wakeup = <1>;
85+
wakeup-source;
8686
linux,code = <115>;
8787
label = "VOL+";
8888
gpios = <&iofpga_gpio0 3 0x4>;
8989
};
9090
button@5 {
9191
debounce_interval = <50>;
92-
wakeup = <1>;
92+
wakeup-source;
9393
linux,code = <114>;
9494
label = "VOL-";
9595
gpios = <&iofpga_gpio0 4 0x4>;
9696
};
9797
button@6 {
9898
debounce_interval = <50>;
99-
wakeup = <1>;
99+
wakeup-source;
100100
linux,code = <99>;
101101
label = "NMI";
102102
gpios = <&iofpga_gpio0 5 0x4>;

drivers/usb/musb/omap2430.c

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -391,9 +391,20 @@ static int omap2430_musb_init(struct musb *musb)
391391
}
392392
musb->isr = omap2430_musb_interrupt;
393393

394+
/*
395+
* Enable runtime PM for musb parent (this driver). We can't
396+
* do it earlier as struct musb is not yet allocated and we
397+
* need to touch the musb registers for runtime PM.
398+
*/
399+
pm_runtime_enable(glue->dev);
400+
status = pm_runtime_get_sync(glue->dev);
401+
if (status < 0)
402+
goto err1;
403+
394404
status = pm_runtime_get_sync(dev);
395405
if (status < 0) {
396406
dev_err(dev, "pm_runtime_get_sync FAILED %d\n", status);
407+
pm_runtime_put_sync(glue->dev);
397408
goto err1;
398409
}
399410

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

428439
pm_runtime_put_noidle(musb->controller);
440+
pm_runtime_put_noidle(glue->dev);
429441
return 0;
430442

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

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

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

678-
if (musb) {
679-
omap2430_low_level_init(musb);
680-
musb_writel(musb->mregs, OTG_INTERFSEL,
681-
musb->context.otg_interfsel);
682-
}
694+
if (!musb)
695+
return -EPROBE_DEFER;
696+
697+
omap2430_low_level_init(musb);
698+
musb_writel(musb->mregs, OTG_INTERFSEL,
699+
musb->context.otg_interfsel);
683700

684701
return 0;
685702
}

include/linux/omap-dma.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
#include <linux/platform_device.h>
1919

20-
#define INT_DMA_LCD 25
20+
#define INT_DMA_LCD (NR_IRQS_LEGACY + 25)
2121

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

0 commit comments

Comments
 (0)