Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+39 -22
+4 -4
arch/arm/boot/dts/emev2-kzm9d.dts
··· 35 35 36 36 button@1 { 37 37 debounce_interval = <50>; 38 - wakeup = <1>; 38 + wakeup-source; 39 39 label = "DSW2-1"; 40 40 linux,code = <KEY_1>; 41 41 gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; 42 42 }; 43 43 button@2 { 44 44 debounce_interval = <50>; 45 - wakeup = <1>; 45 + wakeup-source; 46 46 label = "DSW2-2"; 47 47 linux,code = <KEY_2>; 48 48 gpios = <&gpio0 15 GPIO_ACTIVE_HIGH>; 49 49 }; 50 50 button@3 { 51 51 debounce_interval = <50>; 52 - wakeup = <1>; 52 + wakeup-source; 53 53 label = "DSW2-3"; 54 54 linux,code = <KEY_3>; 55 55 gpios = <&gpio0 16 GPIO_ACTIVE_HIGH>; 56 56 }; 57 57 button@4 { 58 58 debounce_interval = <50>; 59 - wakeup = <1>; 59 + wakeup-source; 60 60 label = "DSW2-4"; 61 61 linux,code = <KEY_4>; 62 62 gpios = <&gpio0 17 GPIO_ACTIVE_HIGH>;
+5 -5
arch/arm/boot/dts/ste-snowball.dts
··· 47 47 48 48 button@1 { 49 49 debounce_interval = <50>; 50 - wakeup = <1>; 50 + wakeup-source; 51 51 linux,code = <2>; 52 52 label = "userpb"; 53 53 gpios = <&gpio1 0 0x4>; 54 54 }; 55 55 button@2 { 56 56 debounce_interval = <50>; 57 - wakeup = <1>; 57 + wakeup-source; 58 58 linux,code = <3>; 59 59 label = "extkb1"; 60 60 gpios = <&gpio4 23 0x4>; 61 61 }; 62 62 button@3 { 63 63 debounce_interval = <50>; 64 - wakeup = <1>; 64 + wakeup-source; 65 65 linux,code = <4>; 66 66 label = "extkb2"; 67 67 gpios = <&gpio4 24 0x4>; 68 68 }; 69 69 button@4 { 70 70 debounce_interval = <50>; 71 - wakeup = <1>; 71 + wakeup-source; 72 72 linux,code = <5>; 73 73 label = "extkb3"; 74 74 gpios = <&gpio5 1 0x4>; 75 75 }; 76 76 button@5 { 77 77 debounce_interval = <50>; 78 - wakeup = <1>; 78 + wakeup-source; 79 79 linux,code = <6>; 80 80 label = "extkb4"; 81 81 gpios = <&gpio5 2 0x4>;
+6 -6
arch/arm64/boot/dts/arm/juno-motherboard.dtsi
··· 61 61 62 62 button@1 { 63 63 debounce_interval = <50>; 64 - wakeup = <1>; 64 + wakeup-source; 65 65 linux,code = <116>; 66 66 label = "POWER"; 67 67 gpios = <&iofpga_gpio0 0 0x4>; 68 68 }; 69 69 button@2 { 70 70 debounce_interval = <50>; 71 - wakeup = <1>; 71 + wakeup-source; 72 72 linux,code = <102>; 73 73 label = "HOME"; 74 74 gpios = <&iofpga_gpio0 1 0x4>; 75 75 }; 76 76 button@3 { 77 77 debounce_interval = <50>; 78 - wakeup = <1>; 78 + wakeup-source; 79 79 linux,code = <152>; 80 80 label = "RLOCK"; 81 81 gpios = <&iofpga_gpio0 2 0x4>; 82 82 }; 83 83 button@4 { 84 84 debounce_interval = <50>; 85 - wakeup = <1>; 85 + wakeup-source; 86 86 linux,code = <115>; 87 87 label = "VOL+"; 88 88 gpios = <&iofpga_gpio0 3 0x4>; 89 89 }; 90 90 button@5 { 91 91 debounce_interval = <50>; 92 - wakeup = <1>; 92 + wakeup-source; 93 93 linux,code = <114>; 94 94 label = "VOL-"; 95 95 gpios = <&iofpga_gpio0 4 0x4>; 96 96 }; 97 97 button@6 { 98 98 debounce_interval = <50>; 99 - wakeup = <1>; 99 + wakeup-source; 100 100 linux,code = <99>; 101 101 label = "NMI"; 102 102 gpios = <&iofpga_gpio0 5 0x4>;
+23 -6
drivers/usb/musb/omap2430.c
··· 391 391 } 392 392 musb->isr = omap2430_musb_interrupt; 393 393 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 + 394 404 status = pm_runtime_get_sync(dev); 395 405 if (status < 0) { 396 406 dev_err(dev, "pm_runtime_get_sync FAILED %d\n", status); 407 + pm_runtime_put_sync(glue->dev); 397 408 goto err1; 398 409 } 399 410 ··· 437 426 phy_power_on(musb->phy); 438 427 439 428 pm_runtime_put_noidle(musb->controller); 429 + pm_runtime_put_noidle(glue->dev); 440 430 return 0; 441 431 442 432 err1: ··· 638 626 goto err2; 639 627 } 640 628 641 - pm_runtime_enable(&pdev->dev); 629 + /* 630 + * Note that we cannot enable PM runtime yet for this 631 + * driver as we need struct musb initialized first. 632 + * See omap2430_musb_init above. 633 + */ 642 634 643 635 ret = platform_device_add(musb); 644 636 if (ret) { ··· 691 675 struct omap2430_glue *glue = dev_get_drvdata(dev); 692 676 struct musb *musb = glue_to_musb(glue); 693 677 694 - if (musb) { 695 - omap2430_low_level_init(musb); 696 - musb_writel(musb->mregs, OTG_INTERFSEL, 697 - musb->context.otg_interfsel); 698 - } 678 + if (!musb) 679 + return -EPROBE_DEFER; 680 + 681 + omap2430_low_level_init(musb); 682 + musb_writel(musb->mregs, OTG_INTERFSEL, 683 + musb->context.otg_interfsel); 699 684 700 685 return 0; 701 686 }
+1 -1
include/linux/omap-dma.h
··· 17 17 18 18 #include <linux/platform_device.h> 19 19 20 - #define INT_DMA_LCD 25 20 + #define INT_DMA_LCD (NR_IRQS_LEGACY + 25) 21 21 22 22 #define OMAP1_DMA_TOUT_IRQ (1 << 0) 23 23 #define OMAP_DMA_DROP_IRQ (1 << 1)