aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/Kconfig8
-rw-r--r--arch/arm/common/it8152.c10
-rw-r--r--arch/arm/mach-pxa/cm-x270-pci.c18
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
539config PCI 539config 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
561config PCI_HOST_ITE8152
562 bool
563 depends on PCI && MACH_ARMCORE
564 default y
565 select DMABOUNCE
566
561source "drivers/pci/Kconfig" 567source "drivers/pci/Kconfig"
562 568
563source "drivers/pcmcia/Kconfig" 569source "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 */
294int pci_set_dma_mask(struct pci_dev *dev, u64 mask) 290int 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)
304int 299int
305pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) 300pci_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
144static struct pci_bus * __init 143static void cmx270_pci_preinit(void)
145cmx270_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
202static struct hw_pci cmx270_pci __initdata = { 199static 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
210static int __init cmx270_init_pci(void) 208static int __init cmx270_init_pci(void)