diff options
-rw-r--r-- | arch/arm/Kconfig | 8 | ||||
-rw-r--r-- | arch/arm/common/it8152.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-pxa/cm-x270-pci.c | 18 |
3 files changed, 17 insertions, 19 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index a7e9fea978a6..c4de2d4664d7 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -537,7 +537,7 @@ config ISA_DMA_API | |||
537 | bool | 537 | bool |
538 | 538 | ||
539 | config PCI | 539 | config PCI |
540 | bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 | 540 | bool "PCI support" if ARCH_INTEGRATOR_AP || ARCH_VERSATILE_PB || ARCH_IXP4XX || ARCH_KS8695 || MACH_ARMCORE |
541 | help | 541 | help |
542 | Find out whether you have a PCI motherboard. PCI is the name of a | 542 | Find out whether you have a PCI motherboard. PCI is the name of a |
543 | bus system, i.e. the way the CPU talks to the other stuff inside | 543 | bus system, i.e. the way the CPU talks to the other stuff inside |
@@ -558,6 +558,12 @@ config PCI_HOST_VIA82C505 | |||
558 | depends on PCI && ARCH_SHARK | 558 | depends on PCI && ARCH_SHARK |
559 | default y | 559 | default y |
560 | 560 | ||
561 | config PCI_HOST_ITE8152 | ||
562 | bool | ||
563 | depends on PCI && MACH_ARMCORE | ||
564 | default y | ||
565 | select DMABOUNCE | ||
566 | |||
561 | source "drivers/pci/Kconfig" | 567 | source "drivers/pci/Kconfig" |
562 | 568 | ||
563 | source "drivers/pcmcia/Kconfig" | 569 | source "drivers/pcmcia/Kconfig" |
diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c index c03de9bfd76b..97b7dc13d9aa 100644 --- a/arch/arm/common/it8152.c +++ b/arch/arm/common/it8152.c | |||
@@ -70,8 +70,6 @@ static inline void it8152_irq(int irq) | |||
70 | { | 70 | { |
71 | struct irq_desc *desc; | 71 | struct irq_desc *desc; |
72 | 72 | ||
73 | printk(KERN_DEBUG "===> %s: irq=%d\n", __FUNCTION__, irq); | ||
74 | |||
75 | desc = irq_desc + irq; | 73 | desc = irq_desc + irq; |
76 | desc_handle_irq(irq, desc); | 74 | desc_handle_irq(irq, desc); |
77 | } | 75 | } |
@@ -106,8 +104,6 @@ void it8152_irq_demux(unsigned int irq, struct irq_desc *desc) | |||
106 | int bits_pd, bits_lp, bits_ld; | 104 | int bits_pd, bits_lp, bits_ld; |
107 | int i; | 105 | int i; |
108 | 106 | ||
109 | printk(KERN_DEBUG "=> %s: irq = %d\n", __FUNCTION__, irq); | ||
110 | |||
111 | while (1) { | 107 | while (1) { |
112 | /* Read all */ | 108 | /* Read all */ |
113 | bits_pd = __raw_readl(IT8152_INTC_PDCNIRR); | 109 | bits_pd = __raw_readl(IT8152_INTC_PDCNIRR); |
@@ -293,8 +289,7 @@ int dma_needs_bounce(struct device *dev, dma_addr_t dma_addr, size_t size) | |||
293 | */ | 289 | */ |
294 | int pci_set_dma_mask(struct pci_dev *dev, u64 mask) | 290 | int pci_set_dma_mask(struct pci_dev *dev, u64 mask) |
295 | { | 291 | { |
296 | printk(KERN_DEBUG "%s: %s %llx\n", | 292 | dev_dbg(&dev->dev, "%s: %llx\n", __FUNCTION__, mask); |
297 | __FUNCTION__, dev->dev.bus_id, mask); | ||
298 | if (mask >= PHYS_OFFSET + SZ_64M - 1) | 293 | if (mask >= PHYS_OFFSET + SZ_64M - 1) |
299 | return 0; | 294 | return 0; |
300 | 295 | ||
@@ -304,8 +299,7 @@ int pci_set_dma_mask(struct pci_dev *dev, u64 mask) | |||
304 | int | 299 | int |
305 | pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) | 300 | pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) |
306 | { | 301 | { |
307 | printk(KERN_DEBUG "%s: %s %llx\n", | 302 | dev_dbg(&dev->dev, "%s: %llx\n", __FUNCTION__, mask); |
308 | __FUNCTION__, dev->dev.bus_id, mask); | ||
309 | if (mask >= PHYS_OFFSET + SZ_64M - 1) | 303 | if (mask >= PHYS_OFFSET + SZ_64M - 1) |
310 | return 0; | 304 | return 0; |
311 | 305 | ||
diff --git a/arch/arm/mach-pxa/cm-x270-pci.c b/arch/arm/mach-pxa/cm-x270-pci.c index 878d3b9b8633..15c4e0df3e10 100644 --- a/arch/arm/mach-pxa/cm-x270-pci.c +++ b/arch/arm/mach-pxa/cm-x270-pci.c | |||
@@ -40,7 +40,7 @@ void __init cmx270_pci_adjust_zones(int node, unsigned long *zone_size, | |||
40 | { | 40 | { |
41 | unsigned int sz = SZ_64M >> PAGE_SHIFT; | 41 | unsigned int sz = SZ_64M >> PAGE_SHIFT; |
42 | 42 | ||
43 | printk(KERN_INFO "Adjusting zones for CM-x270\n"); | 43 | pr_info("Adjusting zones for CM-x270\n"); |
44 | 44 | ||
45 | /* | 45 | /* |
46 | * Only adjust if > 64M on current system | 46 | * Only adjust if > 64M on current system |
@@ -104,8 +104,7 @@ static int __init cmx270_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | |||
104 | { | 104 | { |
105 | int irq; | 105 | int irq; |
106 | 106 | ||
107 | printk(KERN_DEBUG "===> %s: %s slot=%x, pin=%x\n", __FUNCTION__, | 107 | dev_dbg(&dev->dev, "%s: slot=%x, pin=%x\n", __FUNCTION__, slot, pin); |
108 | pci_name(dev), slot, pin); | ||
109 | 108 | ||
110 | irq = it8152_pci_map_irq(dev, slot, pin); | 109 | irq = it8152_pci_map_irq(dev, slot, pin); |
111 | if (irq) | 110 | if (irq) |
@@ -141,14 +140,13 @@ static int __init cmx270_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | |||
141 | return(0); | 140 | return(0); |
142 | } | 141 | } |
143 | 142 | ||
144 | static struct pci_bus * __init | 143 | static void cmx270_pci_preinit(void) |
145 | cmx270_pci_scan_bus(int nr, struct pci_sys_data *sys) | ||
146 | { | 144 | { |
147 | printk(KERN_INFO "Initializing CM-X270 PCI subsystem\n"); | 145 | pr_info("Initializing CM-X270 PCI subsystem\n"); |
148 | 146 | ||
149 | __raw_writel(0x800, IT8152_PCI_CFG_ADDR); | 147 | __raw_writel(0x800, IT8152_PCI_CFG_ADDR); |
150 | if (__raw_readl(IT8152_PCI_CFG_DATA) == 0x81521283) { | 148 | if (__raw_readl(IT8152_PCI_CFG_DATA) == 0x81521283) { |
151 | printk(KERN_INFO "PCI Bridge found.\n"); | 149 | pr_info("PCI Bridge found.\n"); |
152 | 150 | ||
153 | /* set PCI I/O base at 0 */ | 151 | /* set PCI I/O base at 0 */ |
154 | writel(0x848, IT8152_PCI_CFG_ADDR); | 152 | writel(0x848, IT8152_PCI_CFG_ADDR); |
@@ -163,7 +161,7 @@ cmx270_pci_scan_bus(int nr, struct pci_sys_data *sys) | |||
163 | /* CardBus Controller on ATXbase baseboard */ | 161 | /* CardBus Controller on ATXbase baseboard */ |
164 | writel(0x4000, IT8152_PCI_CFG_ADDR); | 162 | writel(0x4000, IT8152_PCI_CFG_ADDR); |
165 | if (readl(IT8152_PCI_CFG_DATA) == 0xAC51104C) { | 163 | if (readl(IT8152_PCI_CFG_DATA) == 0xAC51104C) { |
166 | printk(KERN_INFO "CardBus Bridge found.\n"); | 164 | pr_info("CardBus Bridge found.\n"); |
167 | 165 | ||
168 | /* Configure socket 0 */ | 166 | /* Configure socket 0 */ |
169 | writel(0x408C, IT8152_PCI_CFG_ADDR); | 167 | writel(0x408C, IT8152_PCI_CFG_ADDR); |
@@ -196,7 +194,6 @@ cmx270_pci_scan_bus(int nr, struct pci_sys_data *sys) | |||
196 | writel(0xb0000000, IT8152_PCI_CFG_DATA); | 194 | writel(0xb0000000, IT8152_PCI_CFG_DATA); |
197 | } | 195 | } |
198 | } | 196 | } |
199 | return it8152_pci_scan_bus(nr, sys); | ||
200 | } | 197 | } |
201 | 198 | ||
202 | static struct hw_pci cmx270_pci __initdata = { | 199 | static struct hw_pci cmx270_pci __initdata = { |
@@ -204,7 +201,8 @@ static struct hw_pci cmx270_pci __initdata = { | |||
204 | .map_irq = cmx270_pci_map_irq, | 201 | .map_irq = cmx270_pci_map_irq, |
205 | .nr_controllers = 1, | 202 | .nr_controllers = 1, |
206 | .setup = it8152_pci_setup, | 203 | .setup = it8152_pci_setup, |
207 | .scan = cmx270_pci_scan_bus, | 204 | .scan = it8152_pci_scan_bus, |
205 | .preinit = cmx270_pci_preinit, | ||
208 | }; | 206 | }; |
209 | 207 | ||
210 | static int __init cmx270_init_pci(void) | 208 | static int __init cmx270_init_pci(void) |