diff options
Diffstat (limited to 'arch/arm')
| -rw-r--r-- | arch/arm/include/asm/kvm_mmu.h | 2 | ||||
| -rw-r--r-- | arch/arm/kvm/arm.c | 2 | ||||
| -rw-r--r-- | arch/arm/kvm/trace.h | 10 | ||||
| -rw-r--r-- | arch/arm/mach-msm/board-halibut.c | 8 | ||||
| -rw-r--r-- | arch/arm/mach-msm/board-qsd8x50.c | 8 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/idp.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/lpd270.c | 8 | ||||
| -rw-r--r-- | arch/arm/mach-realview/core.c | 7 | ||||
| -rw-r--r-- | arch/arm/mach-realview/realview_eb.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-sa1100/neponset.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-sa1100/pleb.c | 7 |
11 files changed, 57 insertions, 9 deletions
diff --git a/arch/arm/include/asm/kvm_mmu.h b/arch/arm/include/asm/kvm_mmu.h index 37ca2a4c6f09..bf0fe99e8ca9 100644 --- a/arch/arm/include/asm/kvm_mmu.h +++ b/arch/arm/include/asm/kvm_mmu.h | |||
| @@ -207,7 +207,7 @@ static inline void __coherent_cache_guest_page(struct kvm_vcpu *vcpu, pfn_t pfn, | |||
| 207 | 207 | ||
| 208 | bool need_flush = !vcpu_has_cache_enabled(vcpu) || ipa_uncached; | 208 | bool need_flush = !vcpu_has_cache_enabled(vcpu) || ipa_uncached; |
| 209 | 209 | ||
| 210 | VM_BUG_ON(size & PAGE_MASK); | 210 | VM_BUG_ON(size & ~PAGE_MASK); |
| 211 | 211 | ||
| 212 | if (!need_flush && !icache_is_pipt()) | 212 | if (!need_flush && !icache_is_pipt()) |
| 213 | goto vipt_cache; | 213 | goto vipt_cache; |
diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c index 07e7eb1d7ab6..5560f74f9eee 100644 --- a/arch/arm/kvm/arm.c +++ b/arch/arm/kvm/arm.c | |||
| @@ -540,7 +540,7 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run) | |||
| 540 | 540 | ||
| 541 | vcpu->mode = OUTSIDE_GUEST_MODE; | 541 | vcpu->mode = OUTSIDE_GUEST_MODE; |
| 542 | kvm_guest_exit(); | 542 | kvm_guest_exit(); |
| 543 | trace_kvm_exit(*vcpu_pc(vcpu)); | 543 | trace_kvm_exit(kvm_vcpu_trap_get_class(vcpu), *vcpu_pc(vcpu)); |
| 544 | /* | 544 | /* |
| 545 | * We may have taken a host interrupt in HYP mode (ie | 545 | * We may have taken a host interrupt in HYP mode (ie |
| 546 | * while executing the guest). This interrupt is still | 546 | * while executing the guest). This interrupt is still |
diff --git a/arch/arm/kvm/trace.h b/arch/arm/kvm/trace.h index 881874b1a036..6817664b46b8 100644 --- a/arch/arm/kvm/trace.h +++ b/arch/arm/kvm/trace.h | |||
| @@ -25,18 +25,22 @@ TRACE_EVENT(kvm_entry, | |||
| 25 | ); | 25 | ); |
| 26 | 26 | ||
| 27 | TRACE_EVENT(kvm_exit, | 27 | TRACE_EVENT(kvm_exit, |
| 28 | TP_PROTO(unsigned long vcpu_pc), | 28 | TP_PROTO(unsigned int exit_reason, unsigned long vcpu_pc), |
| 29 | TP_ARGS(vcpu_pc), | 29 | TP_ARGS(exit_reason, vcpu_pc), |
| 30 | 30 | ||
| 31 | TP_STRUCT__entry( | 31 | TP_STRUCT__entry( |
| 32 | __field( unsigned int, exit_reason ) | ||
| 32 | __field( unsigned long, vcpu_pc ) | 33 | __field( unsigned long, vcpu_pc ) |
| 33 | ), | 34 | ), |
| 34 | 35 | ||
| 35 | TP_fast_assign( | 36 | TP_fast_assign( |
| 37 | __entry->exit_reason = exit_reason; | ||
| 36 | __entry->vcpu_pc = vcpu_pc; | 38 | __entry->vcpu_pc = vcpu_pc; |
| 37 | ), | 39 | ), |
| 38 | 40 | ||
| 39 | TP_printk("PC: 0x%08lx", __entry->vcpu_pc) | 41 | TP_printk("HSR_EC: 0x%04x, PC: 0x%08lx", |
| 42 | __entry->exit_reason, | ||
| 43 | __entry->vcpu_pc) | ||
| 40 | ); | 44 | ); |
| 41 | 45 | ||
| 42 | TRACE_EVENT(kvm_guest_fault, | 46 | TRACE_EVENT(kvm_guest_fault, |
diff --git a/arch/arm/mach-msm/board-halibut.c b/arch/arm/mach-msm/board-halibut.c index 61bfe584a9d7..fc832040c6e9 100644 --- a/arch/arm/mach-msm/board-halibut.c +++ b/arch/arm/mach-msm/board-halibut.c | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | #include <linux/input.h> | 20 | #include <linux/input.h> |
| 21 | #include <linux/io.h> | 21 | #include <linux/io.h> |
| 22 | #include <linux/delay.h> | 22 | #include <linux/delay.h> |
| 23 | #include <linux/smc91x.h> | ||
| 23 | 24 | ||
| 24 | #include <mach/hardware.h> | 25 | #include <mach/hardware.h> |
| 25 | #include <asm/mach-types.h> | 26 | #include <asm/mach-types.h> |
| @@ -46,15 +47,20 @@ static struct resource smc91x_resources[] = { | |||
| 46 | [1] = { | 47 | [1] = { |
| 47 | .start = MSM_GPIO_TO_INT(49), | 48 | .start = MSM_GPIO_TO_INT(49), |
| 48 | .end = MSM_GPIO_TO_INT(49), | 49 | .end = MSM_GPIO_TO_INT(49), |
| 49 | .flags = IORESOURCE_IRQ, | 50 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, |
| 50 | }, | 51 | }, |
| 51 | }; | 52 | }; |
| 52 | 53 | ||
| 54 | static struct smc91x_platdata smc91x_platdata = { | ||
| 55 | .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, | ||
| 56 | }; | ||
| 57 | |||
| 53 | static struct platform_device smc91x_device = { | 58 | static struct platform_device smc91x_device = { |
| 54 | .name = "smc91x", | 59 | .name = "smc91x", |
| 55 | .id = 0, | 60 | .id = 0, |
| 56 | .num_resources = ARRAY_SIZE(smc91x_resources), | 61 | .num_resources = ARRAY_SIZE(smc91x_resources), |
| 57 | .resource = smc91x_resources, | 62 | .resource = smc91x_resources, |
| 63 | .dev.platform_data = &smc91x_platdata, | ||
| 58 | }; | 64 | }; |
| 59 | 65 | ||
| 60 | static struct platform_device *devices[] __initdata = { | 66 | static struct platform_device *devices[] __initdata = { |
diff --git a/arch/arm/mach-msm/board-qsd8x50.c b/arch/arm/mach-msm/board-qsd8x50.c index 4c748616ef47..10016a3bc698 100644 --- a/arch/arm/mach-msm/board-qsd8x50.c +++ b/arch/arm/mach-msm/board-qsd8x50.c | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | #include <linux/usb/msm_hsusb.h> | 22 | #include <linux/usb/msm_hsusb.h> |
| 23 | #include <linux/err.h> | 23 | #include <linux/err.h> |
| 24 | #include <linux/clkdev.h> | 24 | #include <linux/clkdev.h> |
| 25 | #include <linux/smc91x.h> | ||
| 25 | 26 | ||
| 26 | #include <asm/mach-types.h> | 27 | #include <asm/mach-types.h> |
| 27 | #include <asm/mach/arch.h> | 28 | #include <asm/mach/arch.h> |
| @@ -49,15 +50,20 @@ static struct resource smc91x_resources[] = { | |||
| 49 | .flags = IORESOURCE_MEM, | 50 | .flags = IORESOURCE_MEM, |
| 50 | }, | 51 | }, |
| 51 | [1] = { | 52 | [1] = { |
| 52 | .flags = IORESOURCE_IRQ, | 53 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, |
| 53 | }, | 54 | }, |
| 54 | }; | 55 | }; |
| 55 | 56 | ||
| 57 | static struct smc91x_platdata smc91x_platdata = { | ||
| 58 | .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, | ||
| 59 | }; | ||
| 60 | |||
| 56 | static struct platform_device smc91x_device = { | 61 | static struct platform_device smc91x_device = { |
| 57 | .name = "smc91x", | 62 | .name = "smc91x", |
| 58 | .id = 0, | 63 | .id = 0, |
| 59 | .num_resources = ARRAY_SIZE(smc91x_resources), | 64 | .num_resources = ARRAY_SIZE(smc91x_resources), |
| 60 | .resource = smc91x_resources, | 65 | .resource = smc91x_resources, |
| 66 | .dev.platform_data = &smc91x_platdata, | ||
| 61 | }; | 67 | }; |
| 62 | 68 | ||
| 63 | static int __init msm_init_smc91x(void) | 69 | static int __init msm_init_smc91x(void) |
diff --git a/arch/arm/mach-pxa/idp.c b/arch/arm/mach-pxa/idp.c index 343c4e3a7c5d..f6d02e4cbcda 100644 --- a/arch/arm/mach-pxa/idp.c +++ b/arch/arm/mach-pxa/idp.c | |||
| @@ -36,6 +36,7 @@ | |||
| 36 | #include <linux/platform_data/video-pxafb.h> | 36 | #include <linux/platform_data/video-pxafb.h> |
| 37 | #include <mach/bitfield.h> | 37 | #include <mach/bitfield.h> |
| 38 | #include <linux/platform_data/mmc-pxamci.h> | 38 | #include <linux/platform_data/mmc-pxamci.h> |
| 39 | #include <linux/smc91x.h> | ||
| 39 | 40 | ||
| 40 | #include "generic.h" | 41 | #include "generic.h" |
| 41 | #include "devices.h" | 42 | #include "devices.h" |
| @@ -81,11 +82,16 @@ static struct resource smc91x_resources[] = { | |||
| 81 | } | 82 | } |
| 82 | }; | 83 | }; |
| 83 | 84 | ||
| 85 | static struct smc91x_platdata smc91x_platdata = { | ||
| 86 | .flags = SMC91X_USE_32BIT | SMC91X_USE_DMA | SMC91X_NOWAIT, | ||
| 87 | }; | ||
| 88 | |||
| 84 | static struct platform_device smc91x_device = { | 89 | static struct platform_device smc91x_device = { |
| 85 | .name = "smc91x", | 90 | .name = "smc91x", |
| 86 | .id = 0, | 91 | .id = 0, |
| 87 | .num_resources = ARRAY_SIZE(smc91x_resources), | 92 | .num_resources = ARRAY_SIZE(smc91x_resources), |
| 88 | .resource = smc91x_resources, | 93 | .resource = smc91x_resources, |
| 94 | .dev.platform_data = &smc91x_platdata, | ||
| 89 | }; | 95 | }; |
| 90 | 96 | ||
| 91 | static void idp_backlight_power(int on) | 97 | static void idp_backlight_power(int on) |
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c index ad777b353bd5..eaee2c20b189 100644 --- a/arch/arm/mach-pxa/lpd270.c +++ b/arch/arm/mach-pxa/lpd270.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/mtd/mtd.h> | 24 | #include <linux/mtd/mtd.h> |
| 25 | #include <linux/mtd/partitions.h> | 25 | #include <linux/mtd/partitions.h> |
| 26 | #include <linux/pwm_backlight.h> | 26 | #include <linux/pwm_backlight.h> |
| 27 | #include <linux/smc91x.h> | ||
| 27 | 28 | ||
| 28 | #include <asm/types.h> | 29 | #include <asm/types.h> |
| 29 | #include <asm/setup.h> | 30 | #include <asm/setup.h> |
| @@ -189,15 +190,20 @@ static struct resource smc91x_resources[] = { | |||
| 189 | [1] = { | 190 | [1] = { |
| 190 | .start = LPD270_ETHERNET_IRQ, | 191 | .start = LPD270_ETHERNET_IRQ, |
| 191 | .end = LPD270_ETHERNET_IRQ, | 192 | .end = LPD270_ETHERNET_IRQ, |
| 192 | .flags = IORESOURCE_IRQ, | 193 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
| 193 | }, | 194 | }, |
| 194 | }; | 195 | }; |
| 195 | 196 | ||
| 197 | struct smc91x_platdata smc91x_platdata = { | ||
| 198 | .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, | ||
| 199 | }; | ||
| 200 | |||
| 196 | static struct platform_device smc91x_device = { | 201 | static struct platform_device smc91x_device = { |
| 197 | .name = "smc91x", | 202 | .name = "smc91x", |
| 198 | .id = 0, | 203 | .id = 0, |
| 199 | .num_resources = ARRAY_SIZE(smc91x_resources), | 204 | .num_resources = ARRAY_SIZE(smc91x_resources), |
| 200 | .resource = smc91x_resources, | 205 | .resource = smc91x_resources, |
| 206 | .dev.platform_data = &smc91x_platdata, | ||
| 201 | }; | 207 | }; |
| 202 | 208 | ||
| 203 | static struct resource lpd270_flash_resources[] = { | 209 | static struct resource lpd270_flash_resources[] = { |
diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c index 850e506926df..c309593abdb2 100644 --- a/arch/arm/mach-realview/core.c +++ b/arch/arm/mach-realview/core.c | |||
| @@ -28,6 +28,7 @@ | |||
| 28 | #include <linux/platform_data/video-clcd-versatile.h> | 28 | #include <linux/platform_data/video-clcd-versatile.h> |
| 29 | #include <linux/io.h> | 29 | #include <linux/io.h> |
| 30 | #include <linux/smsc911x.h> | 30 | #include <linux/smsc911x.h> |
| 31 | #include <linux/smc91x.h> | ||
| 31 | #include <linux/ata_platform.h> | 32 | #include <linux/ata_platform.h> |
| 32 | #include <linux/amba/mmci.h> | 33 | #include <linux/amba/mmci.h> |
| 33 | #include <linux/gfp.h> | 34 | #include <linux/gfp.h> |
| @@ -94,6 +95,10 @@ static struct smsc911x_platform_config smsc911x_config = { | |||
| 94 | .phy_interface = PHY_INTERFACE_MODE_MII, | 95 | .phy_interface = PHY_INTERFACE_MODE_MII, |
| 95 | }; | 96 | }; |
| 96 | 97 | ||
| 98 | static struct smc91x_platdata smc91x_platdata = { | ||
| 99 | .flags = SMC91X_USE_32BIT | SMC91X_NOWAIT, | ||
| 100 | }; | ||
| 101 | |||
| 97 | static struct platform_device realview_eth_device = { | 102 | static struct platform_device realview_eth_device = { |
| 98 | .name = "smsc911x", | 103 | .name = "smsc911x", |
| 99 | .id = 0, | 104 | .id = 0, |
| @@ -107,6 +112,8 @@ int realview_eth_register(const char *name, struct resource *res) | |||
| 107 | realview_eth_device.resource = res; | 112 | realview_eth_device.resource = res; |
| 108 | if (strcmp(realview_eth_device.name, "smsc911x") == 0) | 113 | if (strcmp(realview_eth_device.name, "smsc911x") == 0) |
| 109 | realview_eth_device.dev.platform_data = &smsc911x_config; | 114 | realview_eth_device.dev.platform_data = &smsc911x_config; |
| 115 | else | ||
| 116 | realview_eth_device.dev.platform_data = &smc91x_platdata; | ||
| 110 | 117 | ||
| 111 | return platform_device_register(&realview_eth_device); | 118 | return platform_device_register(&realview_eth_device); |
| 112 | } | 119 | } |
diff --git a/arch/arm/mach-realview/realview_eb.c b/arch/arm/mach-realview/realview_eb.c index 64c88d657f9e..b3869cbbcc68 100644 --- a/arch/arm/mach-realview/realview_eb.c +++ b/arch/arm/mach-realview/realview_eb.c | |||
| @@ -234,7 +234,7 @@ static struct resource realview_eb_eth_resources[] = { | |||
| 234 | [1] = { | 234 | [1] = { |
| 235 | .start = IRQ_EB_ETH, | 235 | .start = IRQ_EB_ETH, |
| 236 | .end = IRQ_EB_ETH, | 236 | .end = IRQ_EB_ETH, |
| 237 | .flags = IORESOURCE_IRQ, | 237 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE, |
| 238 | }, | 238 | }, |
| 239 | }; | 239 | }; |
| 240 | 240 | ||
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c index 169262e3040d..af868d258e66 100644 --- a/arch/arm/mach-sa1100/neponset.c +++ b/arch/arm/mach-sa1100/neponset.c | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | #include <linux/pm.h> | 12 | #include <linux/pm.h> |
| 13 | #include <linux/serial_core.h> | 13 | #include <linux/serial_core.h> |
| 14 | #include <linux/slab.h> | 14 | #include <linux/slab.h> |
| 15 | #include <linux/smc91x.h> | ||
| 15 | 16 | ||
| 16 | #include <asm/mach-types.h> | 17 | #include <asm/mach-types.h> |
| 17 | #include <asm/mach/map.h> | 18 | #include <asm/mach/map.h> |
| @@ -258,12 +259,17 @@ static int neponset_probe(struct platform_device *dev) | |||
| 258 | 0x02000000, "smc91x-attrib"), | 259 | 0x02000000, "smc91x-attrib"), |
| 259 | { .flags = IORESOURCE_IRQ }, | 260 | { .flags = IORESOURCE_IRQ }, |
| 260 | }; | 261 | }; |
| 262 | struct smc91x_platdata smc91x_platdata = { | ||
| 263 | .flags = SMC91X_USE_8BIT | SMC91X_IO_SHIFT_2 | SMC91X_NOWAIT, | ||
| 264 | }; | ||
| 261 | struct platform_device_info smc91x_devinfo = { | 265 | struct platform_device_info smc91x_devinfo = { |
| 262 | .parent = &dev->dev, | 266 | .parent = &dev->dev, |
| 263 | .name = "smc91x", | 267 | .name = "smc91x", |
| 264 | .id = 0, | 268 | .id = 0, |
| 265 | .res = smc91x_resources, | 269 | .res = smc91x_resources, |
| 266 | .num_res = ARRAY_SIZE(smc91x_resources), | 270 | .num_res = ARRAY_SIZE(smc91x_resources), |
| 271 | .data = &smc91x_platdata, | ||
| 272 | .size_data = sizeof(smc91x_platdata), | ||
| 267 | }; | 273 | }; |
| 268 | int ret, irq; | 274 | int ret, irq; |
| 269 | 275 | ||
diff --git a/arch/arm/mach-sa1100/pleb.c b/arch/arm/mach-sa1100/pleb.c index 091261878eff..1525d7b5f1b7 100644 --- a/arch/arm/mach-sa1100/pleb.c +++ b/arch/arm/mach-sa1100/pleb.c | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | #include <linux/irq.h> | 11 | #include <linux/irq.h> |
| 12 | #include <linux/io.h> | 12 | #include <linux/io.h> |
| 13 | #include <linux/mtd/partitions.h> | 13 | #include <linux/mtd/partitions.h> |
| 14 | #include <linux/smc91x.h> | ||
| 14 | 15 | ||
| 15 | #include <mach/hardware.h> | 16 | #include <mach/hardware.h> |
| 16 | #include <asm/setup.h> | 17 | #include <asm/setup.h> |
| @@ -43,12 +44,18 @@ static struct resource smc91x_resources[] = { | |||
| 43 | #endif | 44 | #endif |
| 44 | }; | 45 | }; |
| 45 | 46 | ||
| 47 | static struct smc91x_platdata smc91x_platdata = { | ||
| 48 | .flags = SMC91X_USE_16BIT | SMC91X_NOWAIT, | ||
| 49 | }; | ||
| 46 | 50 | ||
| 47 | static struct platform_device smc91x_device = { | 51 | static struct platform_device smc91x_device = { |
| 48 | .name = "smc91x", | 52 | .name = "smc91x", |
| 49 | .id = 0, | 53 | .id = 0, |
| 50 | .num_resources = ARRAY_SIZE(smc91x_resources), | 54 | .num_resources = ARRAY_SIZE(smc91x_resources), |
| 51 | .resource = smc91x_resources, | 55 | .resource = smc91x_resources, |
| 56 | .dev = { | ||
| 57 | .platform_data = &smc91x_platdata, | ||
| 58 | }, | ||
| 52 | }; | 59 | }; |
| 53 | 60 | ||
| 54 | static struct platform_device *devices[] __initdata = { | 61 | static struct platform_device *devices[] __initdata = { |
