diff options
-rw-r--r-- | arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | 15 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | 15 | ||||
-rw-r--r-- | arch/arm/boot/dts/sun7i-a20.dtsi | 27 | ||||
-rw-r--r-- | arch/arm/mach-ep93xx/core.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/board-lager.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/setup-r8a7779.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-versatile/include/mach/platform.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-versatile/pci.c | 47 | ||||
-rw-r--r-- | arch/arm/mach-vexpress/Makefile | 2 | ||||
-rw-r--r-- | arch/arm/plat-pxa/ssp.c | 18 | ||||
-rw-r--r-- | drivers/i2c/busses/i2c-davinci.c | 2 |
11 files changed, 108 insertions, 25 deletions
diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts index 31b76f08b3ad..15e625eca312 100644 --- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts +++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | |||
@@ -19,6 +19,21 @@ | |||
19 | compatible = "cubietech,cubieboard2", "allwinner,sun7i-a20"; | 19 | compatible = "cubietech,cubieboard2", "allwinner,sun7i-a20"; |
20 | 20 | ||
21 | soc@01c00000 { | 21 | soc@01c00000 { |
22 | emac: ethernet@01c0b000 { | ||
23 | pinctrl-names = "default"; | ||
24 | pinctrl-0 = <&emac_pins_a>; | ||
25 | phy = <&phy1>; | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | |||
29 | mdio@01c0b080 { | ||
30 | status = "okay"; | ||
31 | |||
32 | phy1: ethernet-phy@1 { | ||
33 | reg = <1>; | ||
34 | }; | ||
35 | }; | ||
36 | |||
22 | pinctrl@01c20800 { | 37 | pinctrl@01c20800 { |
23 | led_pins_cubieboard2: led_pins@0 { | 38 | led_pins_cubieboard2: led_pins@0 { |
24 | allwinner,pins = "PH20", "PH21"; | 39 | allwinner,pins = "PH20", "PH21"; |
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts index 34a6c02a7c72..9e778557fadb 100644 --- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | |||
@@ -19,6 +19,21 @@ | |||
19 | compatible = "olimex,a20-olinuxino-micro", "allwinner,sun7i-a20"; | 19 | compatible = "olimex,a20-olinuxino-micro", "allwinner,sun7i-a20"; |
20 | 20 | ||
21 | soc@01c00000 { | 21 | soc@01c00000 { |
22 | emac: ethernet@01c0b000 { | ||
23 | pinctrl-names = "default"; | ||
24 | pinctrl-0 = <&emac_pins_a>; | ||
25 | phy = <&phy1>; | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | |||
29 | mdio@01c0b080 { | ||
30 | status = "okay"; | ||
31 | |||
32 | phy1: ethernet-phy@1 { | ||
33 | reg = <1>; | ||
34 | }; | ||
35 | }; | ||
36 | |||
22 | pinctrl@01c20800 { | 37 | pinctrl@01c20800 { |
23 | led_pins_olinuxino: led_pins@0 { | 38 | led_pins_olinuxino: led_pins@0 { |
24 | allwinner,pins = "PH2"; | 39 | allwinner,pins = "PH2"; |
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi index 999ff45cb77e..80559cbdbc87 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi | |||
@@ -167,6 +167,22 @@ | |||
167 | #size-cells = <1>; | 167 | #size-cells = <1>; |
168 | ranges; | 168 | ranges; |
169 | 169 | ||
170 | emac: ethernet@01c0b000 { | ||
171 | compatible = "allwinner,sun4i-emac"; | ||
172 | reg = <0x01c0b000 0x1000>; | ||
173 | interrupts = <0 55 1>; | ||
174 | clocks = <&ahb_gates 17>; | ||
175 | status = "disabled"; | ||
176 | }; | ||
177 | |||
178 | mdio@01c0b080 { | ||
179 | compatible = "allwinner,sun4i-mdio"; | ||
180 | reg = <0x01c0b080 0x14>; | ||
181 | status = "disabled"; | ||
182 | #address-cells = <1>; | ||
183 | #size-cells = <0>; | ||
184 | }; | ||
185 | |||
170 | pio: pinctrl@01c20800 { | 186 | pio: pinctrl@01c20800 { |
171 | compatible = "allwinner,sun7i-a20-pinctrl"; | 187 | compatible = "allwinner,sun7i-a20-pinctrl"; |
172 | reg = <0x01c20800 0x400>; | 188 | reg = <0x01c20800 0x400>; |
@@ -198,6 +214,17 @@ | |||
198 | allwinner,drive = <0>; | 214 | allwinner,drive = <0>; |
199 | allwinner,pull = <0>; | 215 | allwinner,pull = <0>; |
200 | }; | 216 | }; |
217 | |||
218 | emac_pins_a: emac0@0 { | ||
219 | allwinner,pins = "PA0", "PA1", "PA2", | ||
220 | "PA3", "PA4", "PA5", "PA6", | ||
221 | "PA7", "PA8", "PA9", "PA10", | ||
222 | "PA11", "PA12", "PA13", "PA14", | ||
223 | "PA15", "PA16"; | ||
224 | allwinner,function = "emac"; | ||
225 | allwinner,drive = <0>; | ||
226 | allwinner,pull = <0>; | ||
227 | }; | ||
201 | }; | 228 | }; |
202 | 229 | ||
203 | timer@01c20c00 { | 230 | timer@01c20c00 { |
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c index df8612fbbc9c..3f12b885c083 100644 --- a/arch/arm/mach-ep93xx/core.c +++ b/arch/arm/mach-ep93xx/core.c | |||
@@ -281,7 +281,7 @@ static AMBA_APB_DEVICE(uart1, "apb:uart1", 0x00041010, EP93XX_UART1_PHYS_BASE, | |||
281 | { IRQ_EP93XX_UART1 }, &ep93xx_uart_data); | 281 | { IRQ_EP93XX_UART1 }, &ep93xx_uart_data); |
282 | 282 | ||
283 | static AMBA_APB_DEVICE(uart2, "apb:uart2", 0x00041010, EP93XX_UART2_PHYS_BASE, | 283 | static AMBA_APB_DEVICE(uart2, "apb:uart2", 0x00041010, EP93XX_UART2_PHYS_BASE, |
284 | { IRQ_EP93XX_UART2 }, &ep93xx_uart_data); | 284 | { IRQ_EP93XX_UART2 }, NULL); |
285 | 285 | ||
286 | static AMBA_APB_DEVICE(uart3, "apb:uart3", 0x00041010, EP93XX_UART3_PHYS_BASE, | 286 | static AMBA_APB_DEVICE(uart3, "apb:uart3", 0x00041010, EP93XX_UART3_PHYS_BASE, |
287 | { IRQ_EP93XX_UART3 }, &ep93xx_uart_data); | 287 | { IRQ_EP93XX_UART3 }, &ep93xx_uart_data); |
diff --git a/arch/arm/mach-shmobile/board-lager.c b/arch/arm/mach-shmobile/board-lager.c index 4872939cdba2..ffb6f0ac7606 100644 --- a/arch/arm/mach-shmobile/board-lager.c +++ b/arch/arm/mach-shmobile/board-lager.c | |||
@@ -96,7 +96,6 @@ static struct resource mmcif1_resources[] __initdata = { | |||
96 | static struct sh_eth_plat_data ether_pdata __initdata = { | 96 | static struct sh_eth_plat_data ether_pdata __initdata = { |
97 | .phy = 0x1, | 97 | .phy = 0x1, |
98 | .edmac_endian = EDMAC_LITTLE_ENDIAN, | 98 | .edmac_endian = EDMAC_LITTLE_ENDIAN, |
99 | .register_type = SH_ETH_REG_FAST_RCAR, | ||
100 | .phy_interface = PHY_INTERFACE_MODE_RMII, | 99 | .phy_interface = PHY_INTERFACE_MODE_RMII, |
101 | .ether_link_active_low = 1, | 100 | .ether_link_active_low = 1, |
102 | }; | 101 | }; |
diff --git a/arch/arm/mach-shmobile/setup-r8a7779.c b/arch/arm/mach-shmobile/setup-r8a7779.c index b5b2f787da2e..ecd0148ee1e1 100644 --- a/arch/arm/mach-shmobile/setup-r8a7779.c +++ b/arch/arm/mach-shmobile/setup-r8a7779.c | |||
@@ -691,8 +691,8 @@ void __init __weak r8a7779_register_twd(void) { } | |||
691 | void __init r8a7779_earlytimer_init(void) | 691 | void __init r8a7779_earlytimer_init(void) |
692 | { | 692 | { |
693 | r8a7779_clock_init(); | 693 | r8a7779_clock_init(); |
694 | shmobile_earlytimer_init(); | ||
695 | r8a7779_register_twd(); | 694 | r8a7779_register_twd(); |
695 | shmobile_earlytimer_init(); | ||
696 | } | 696 | } |
697 | 697 | ||
698 | void __init r8a7779_add_early_devices(void) | 698 | void __init r8a7779_add_early_devices(void) |
diff --git a/arch/arm/mach-versatile/include/mach/platform.h b/arch/arm/mach-versatile/include/mach/platform.h index ec087407b163..6f938ccb0c54 100644 --- a/arch/arm/mach-versatile/include/mach/platform.h +++ b/arch/arm/mach-versatile/include/mach/platform.h | |||
@@ -231,12 +231,14 @@ | |||
231 | /* PCI space */ | 231 | /* PCI space */ |
232 | #define VERSATILE_PCI_BASE 0x41000000 /* PCI Interface */ | 232 | #define VERSATILE_PCI_BASE 0x41000000 /* PCI Interface */ |
233 | #define VERSATILE_PCI_CFG_BASE 0x42000000 | 233 | #define VERSATILE_PCI_CFG_BASE 0x42000000 |
234 | #define VERSATILE_PCI_IO_BASE 0x43000000 | ||
234 | #define VERSATILE_PCI_MEM_BASE0 0x44000000 | 235 | #define VERSATILE_PCI_MEM_BASE0 0x44000000 |
235 | #define VERSATILE_PCI_MEM_BASE1 0x50000000 | 236 | #define VERSATILE_PCI_MEM_BASE1 0x50000000 |
236 | #define VERSATILE_PCI_MEM_BASE2 0x60000000 | 237 | #define VERSATILE_PCI_MEM_BASE2 0x60000000 |
237 | /* Sizes of above maps */ | 238 | /* Sizes of above maps */ |
238 | #define VERSATILE_PCI_BASE_SIZE 0x01000000 | 239 | #define VERSATILE_PCI_BASE_SIZE 0x01000000 |
239 | #define VERSATILE_PCI_CFG_BASE_SIZE 0x02000000 | 240 | #define VERSATILE_PCI_CFG_BASE_SIZE 0x02000000 |
241 | #define VERSATILE_PCI_IO_BASE_SIZE 0x01000000 | ||
240 | #define VERSATILE_PCI_MEM_BASE0_SIZE 0x0c000000 /* 32Mb */ | 242 | #define VERSATILE_PCI_MEM_BASE0_SIZE 0x0c000000 /* 32Mb */ |
241 | #define VERSATILE_PCI_MEM_BASE1_SIZE 0x10000000 /* 256Mb */ | 243 | #define VERSATILE_PCI_MEM_BASE1_SIZE 0x10000000 /* 256Mb */ |
242 | #define VERSATILE_PCI_MEM_BASE2_SIZE 0x10000000 /* 256Mb */ | 244 | #define VERSATILE_PCI_MEM_BASE2_SIZE 0x10000000 /* 256Mb */ |
diff --git a/arch/arm/mach-versatile/pci.c b/arch/arm/mach-versatile/pci.c index e92e5e0705bc..c97be4ea76d2 100644 --- a/arch/arm/mach-versatile/pci.c +++ b/arch/arm/mach-versatile/pci.c | |||
@@ -43,9 +43,9 @@ | |||
43 | #define PCI_IMAP0 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x0) | 43 | #define PCI_IMAP0 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x0) |
44 | #define PCI_IMAP1 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x4) | 44 | #define PCI_IMAP1 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x4) |
45 | #define PCI_IMAP2 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x8) | 45 | #define PCI_IMAP2 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x8) |
46 | #define PCI_SMAP0 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x10) | 46 | #define PCI_SMAP0 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x14) |
47 | #define PCI_SMAP1 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x14) | 47 | #define PCI_SMAP1 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x18) |
48 | #define PCI_SMAP2 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x18) | 48 | #define PCI_SMAP2 __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0x1c) |
49 | #define PCI_SELFID __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0xc) | 49 | #define PCI_SELFID __IO_ADDRESS(VERSATILE_PCI_CORE_BASE+0xc) |
50 | 50 | ||
51 | #define DEVICE_ID_OFFSET 0x00 | 51 | #define DEVICE_ID_OFFSET 0x00 |
@@ -170,8 +170,8 @@ static struct pci_ops pci_versatile_ops = { | |||
170 | .write = versatile_write_config, | 170 | .write = versatile_write_config, |
171 | }; | 171 | }; |
172 | 172 | ||
173 | static struct resource io_mem = { | 173 | static struct resource unused_mem = { |
174 | .name = "PCI I/O space", | 174 | .name = "PCI unused", |
175 | .start = VERSATILE_PCI_MEM_BASE0, | 175 | .start = VERSATILE_PCI_MEM_BASE0, |
176 | .end = VERSATILE_PCI_MEM_BASE0+VERSATILE_PCI_MEM_BASE0_SIZE-1, | 176 | .end = VERSATILE_PCI_MEM_BASE0+VERSATILE_PCI_MEM_BASE0_SIZE-1, |
177 | .flags = IORESOURCE_MEM, | 177 | .flags = IORESOURCE_MEM, |
@@ -195,9 +195,9 @@ static int __init pci_versatile_setup_resources(struct pci_sys_data *sys) | |||
195 | { | 195 | { |
196 | int ret = 0; | 196 | int ret = 0; |
197 | 197 | ||
198 | ret = request_resource(&iomem_resource, &io_mem); | 198 | ret = request_resource(&iomem_resource, &unused_mem); |
199 | if (ret) { | 199 | if (ret) { |
200 | printk(KERN_ERR "PCI: unable to allocate I/O " | 200 | printk(KERN_ERR "PCI: unable to allocate unused " |
201 | "memory region (%d)\n", ret); | 201 | "memory region (%d)\n", ret); |
202 | goto out; | 202 | goto out; |
203 | } | 203 | } |
@@ -205,7 +205,7 @@ static int __init pci_versatile_setup_resources(struct pci_sys_data *sys) | |||
205 | if (ret) { | 205 | if (ret) { |
206 | printk(KERN_ERR "PCI: unable to allocate non-prefetchable " | 206 | printk(KERN_ERR "PCI: unable to allocate non-prefetchable " |
207 | "memory region (%d)\n", ret); | 207 | "memory region (%d)\n", ret); |
208 | goto release_io_mem; | 208 | goto release_unused_mem; |
209 | } | 209 | } |
210 | ret = request_resource(&iomem_resource, &pre_mem); | 210 | ret = request_resource(&iomem_resource, &pre_mem); |
211 | if (ret) { | 211 | if (ret) { |
@@ -225,8 +225,8 @@ static int __init pci_versatile_setup_resources(struct pci_sys_data *sys) | |||
225 | 225 | ||
226 | release_non_mem: | 226 | release_non_mem: |
227 | release_resource(&non_mem); | 227 | release_resource(&non_mem); |
228 | release_io_mem: | 228 | release_unused_mem: |
229 | release_resource(&io_mem); | 229 | release_resource(&unused_mem); |
230 | out: | 230 | out: |
231 | return ret; | 231 | return ret; |
232 | } | 232 | } |
@@ -246,7 +246,7 @@ int __init pci_versatile_setup(int nr, struct pci_sys_data *sys) | |||
246 | goto out; | 246 | goto out; |
247 | } | 247 | } |
248 | 248 | ||
249 | ret = pci_ioremap_io(0, VERSATILE_PCI_MEM_BASE0); | 249 | ret = pci_ioremap_io(0, VERSATILE_PCI_IO_BASE); |
250 | if (ret) | 250 | if (ret) |
251 | goto out; | 251 | goto out; |
252 | 252 | ||
@@ -295,6 +295,19 @@ int __init pci_versatile_setup(int nr, struct pci_sys_data *sys) | |||
295 | __raw_writel(PHYS_OFFSET, local_pci_cfg_base + PCI_BASE_ADDRESS_2); | 295 | __raw_writel(PHYS_OFFSET, local_pci_cfg_base + PCI_BASE_ADDRESS_2); |
296 | 296 | ||
297 | /* | 297 | /* |
298 | * For many years the kernel and QEMU were symbiotically buggy | ||
299 | * in that they both assumed the same broken IRQ mapping. | ||
300 | * QEMU therefore attempts to auto-detect old broken kernels | ||
301 | * so that they still work on newer QEMU as they did on old | ||
302 | * QEMU. Since we now use the correct (ie matching-hardware) | ||
303 | * IRQ mapping we write a definitely different value to a | ||
304 | * PCI_INTERRUPT_LINE register to tell QEMU that we expect | ||
305 | * real hardware behaviour and it need not be backwards | ||
306 | * compatible for us. This write is harmless on real hardware. | ||
307 | */ | ||
308 | __raw_writel(0, VERSATILE_PCI_VIRT_BASE+PCI_INTERRUPT_LINE); | ||
309 | |||
310 | /* | ||
298 | * Do not to map Versatile FPGA PCI device into memory space | 311 | * Do not to map Versatile FPGA PCI device into memory space |
299 | */ | 312 | */ |
300 | pci_slot_ignore |= (1 << myslot); | 313 | pci_slot_ignore |= (1 << myslot); |
@@ -327,13 +340,13 @@ static int __init versatile_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) | |||
327 | { | 340 | { |
328 | int irq; | 341 | int irq; |
329 | 342 | ||
330 | /* slot, pin, irq | 343 | /* |
331 | * 24 1 IRQ_SIC_PCI0 | 344 | * Slot INTA INTB INTC INTD |
332 | * 25 1 IRQ_SIC_PCI1 | 345 | * 31 PCI1 PCI2 PCI3 PCI0 |
333 | * 26 1 IRQ_SIC_PCI2 | 346 | * 30 PCI0 PCI1 PCI2 PCI3 |
334 | * 27 1 IRQ_SIC_PCI3 | 347 | * 29 PCI3 PCI0 PCI1 PCI2 |
335 | */ | 348 | */ |
336 | irq = IRQ_SIC_PCI0 + ((slot - 24 + pin - 1) & 3); | 349 | irq = IRQ_SIC_PCI0 + ((slot + 2 + pin - 1) & 3); |
337 | 350 | ||
338 | return irq; | 351 | return irq; |
339 | } | 352 | } |
diff --git a/arch/arm/mach-vexpress/Makefile b/arch/arm/mach-vexpress/Makefile index 36ea8247123a..505e64ab3eae 100644 --- a/arch/arm/mach-vexpress/Makefile +++ b/arch/arm/mach-vexpress/Makefile | |||
@@ -7,6 +7,8 @@ ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include \ | |||
7 | obj-y := v2m.o | 7 | obj-y := v2m.o |
8 | obj-$(CONFIG_ARCH_VEXPRESS_CA9X4) += ct-ca9x4.o | 8 | obj-$(CONFIG_ARCH_VEXPRESS_CA9X4) += ct-ca9x4.o |
9 | obj-$(CONFIG_ARCH_VEXPRESS_DCSCB) += dcscb.o dcscb_setup.o | 9 | obj-$(CONFIG_ARCH_VEXPRESS_DCSCB) += dcscb.o dcscb_setup.o |
10 | CFLAGS_dcscb.o += -march=armv7-a | ||
10 | obj-$(CONFIG_ARCH_VEXPRESS_TC2_PM) += tc2_pm.o spc.o | 11 | obj-$(CONFIG_ARCH_VEXPRESS_TC2_PM) += tc2_pm.o spc.o |
12 | CFLAGS_tc2_pm.o += -march=armv7-a | ||
11 | obj-$(CONFIG_SMP) += platsmp.o | 13 | obj-$(CONFIG_SMP) += platsmp.o |
12 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o | 14 | obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o |
diff --git a/arch/arm/plat-pxa/ssp.c b/arch/arm/plat-pxa/ssp.c index c83f27b6bdda..3ea02903d75a 100644 --- a/arch/arm/plat-pxa/ssp.c +++ b/arch/arm/plat-pxa/ssp.c | |||
@@ -132,6 +132,7 @@ static int pxa_ssp_probe(struct platform_device *pdev) | |||
132 | if (dev->of_node) { | 132 | if (dev->of_node) { |
133 | struct of_phandle_args dma_spec; | 133 | struct of_phandle_args dma_spec; |
134 | struct device_node *np = dev->of_node; | 134 | struct device_node *np = dev->of_node; |
135 | int ret; | ||
135 | 136 | ||
136 | /* | 137 | /* |
137 | * FIXME: we should allocate the DMA channel from this | 138 | * FIXME: we should allocate the DMA channel from this |
@@ -140,14 +141,23 @@ static int pxa_ssp_probe(struct platform_device *pdev) | |||
140 | */ | 141 | */ |
141 | 142 | ||
142 | /* rx */ | 143 | /* rx */ |
143 | of_parse_phandle_with_args(np, "dmas", "#dma-cells", | 144 | ret = of_parse_phandle_with_args(np, "dmas", "#dma-cells", |
144 | 0, &dma_spec); | 145 | 0, &dma_spec); |
146 | |||
147 | if (ret) { | ||
148 | dev_err(dev, "Can't parse dmas property\n"); | ||
149 | return -ENODEV; | ||
150 | } | ||
145 | ssp->drcmr_rx = dma_spec.args[0]; | 151 | ssp->drcmr_rx = dma_spec.args[0]; |
146 | of_node_put(dma_spec.np); | 152 | of_node_put(dma_spec.np); |
147 | 153 | ||
148 | /* tx */ | 154 | /* tx */ |
149 | of_parse_phandle_with_args(np, "dmas", "#dma-cells", | 155 | ret = of_parse_phandle_with_args(np, "dmas", "#dma-cells", |
150 | 1, &dma_spec); | 156 | 1, &dma_spec); |
157 | if (ret) { | ||
158 | dev_err(dev, "Can't parse dmas property\n"); | ||
159 | return -ENODEV; | ||
160 | } | ||
151 | ssp->drcmr_tx = dma_spec.args[0]; | 161 | ssp->drcmr_tx = dma_spec.args[0]; |
152 | of_node_put(dma_spec.np); | 162 | of_node_put(dma_spec.np); |
153 | } else { | 163 | } else { |
diff --git a/drivers/i2c/busses/i2c-davinci.c b/drivers/i2c/busses/i2c-davinci.c index 57473415be10..132369fad4e0 100644 --- a/drivers/i2c/busses/i2c-davinci.c +++ b/drivers/i2c/busses/i2c-davinci.c | |||
@@ -662,7 +662,7 @@ static int davinci_i2c_probe(struct platform_device *pdev) | |||
662 | #endif | 662 | #endif |
663 | dev->dev = &pdev->dev; | 663 | dev->dev = &pdev->dev; |
664 | dev->irq = irq->start; | 664 | dev->irq = irq->start; |
665 | dev->pdata = dev_get_platdata(&dev->dev); | 665 | dev->pdata = dev_get_platdata(&pdev->dev); |
666 | platform_set_drvdata(pdev, dev); | 666 | platform_set_drvdata(pdev, dev); |
667 | 667 | ||
668 | if (!dev->pdata && pdev->dev.of_node) { | 668 | if (!dev->pdata && pdev->dev.of_node) { |