diff options
author | Olof Johansson <olof@lixom.net> | 2012-09-21 01:53:18 -0400 |
---|---|---|
committer | Olof Johansson <olof@lixom.net> | 2012-09-21 01:54:07 -0400 |
commit | 5ae8d15f686f93d2ac60a7b16d8ddfbfdfc7c00f (patch) | |
tree | 4fd7a93ded75199748764b0e451e5751393e85b9 /drivers | |
parent | b612a85792192b70e6497619521772c38ace758e (diff) | |
parent | 617276307cd4cdb9a95c77efaa3063695af63aa7 (diff) |
Merge tag 'multi-platform-for-3.7' of git://sources.calxeda.com/kernel/linux into next/multiplatform
Enable initial ARM multi-platform support for highbank, mvebu,
socfpga, picoxcell, and vexpress.
Multi-platform support is dependent on mach/gpio.h removal and
restructuring of DEBUG_LL and dtb build rules included in this branch.
This has been built for all defconfigs, and booted on highbank with
all 5 platforms enabled.
By Rob Herring (18) and Arnd Bergmann (1)
via Rob Herring
* tag 'multi-platform-for-3.7' of git://sources.calxeda.com/kernel/linux:
ARM: vexpress: convert to multi-platform
ARM: initial multiplatform support
ARM: mvebu: move armada-370-xp.h in mach dir
ARM: vexpress: remove dependency on mach/* headers
ARM: picoxcell: remove dependency on mach/* headers
ARM: move all dtb targets out of Makefile.boot
ARM: picoxcell: move debug macros to include/debug
ARM: socfpga: move debug macros to include/debug
ARM: mvebu: move debug macros to include/debug
ARM: vexpress: move debug macros to include/debug
ARM: highbank: move debug macros to include/debug
ARM: move debug macros to common location
ARM: make mach/gpio.h headers optional
ARM: orion: move custom gpio functions to orion-gpio.h
ARM: shmobile: move custom gpio functions to sh-gpio.h
ARM: pxa: use gpio_to_irq for sharppm_sl
net: pxaficp_ir: add irq resources
usb: pxa27x_udc: remove IRQ_USB define
staging: ste_rmi4: remove gpio.h include
Conflicts due to addition of bcm2835 and removal of pnx4008 in:
arch/arm/Kconfig
arch/arm/Makefile
Conflicts due to new dtb targets, moved to arch/arm/boot/dts/Makefile in:
arch/arm/mach-imx/Makefile.boot
arch/arm/mach-mxs/Makefile.boot
arch/arm/mach-tegra/Makefile.boot
Signed-off-by: Olof Johansson <olof@lixom.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/irda/pxaficp_ir.c | 28 | ||||
-rw-r--r-- | drivers/sh/pfc/gpio.c | 1 | ||||
-rw-r--r-- | drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c | 1 | ||||
-rw-r--r-- | drivers/usb/gadget/pxa27x_udc.c | 2 |
4 files changed, 19 insertions, 13 deletions
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c index 8d5476707912..cb0a5d3c0b64 100644 --- a/drivers/net/irda/pxaficp_ir.c +++ b/drivers/net/irda/pxaficp_ir.c | |||
@@ -29,8 +29,8 @@ | |||
29 | 29 | ||
30 | #include <mach/dma.h> | 30 | #include <mach/dma.h> |
31 | #include <mach/irda.h> | 31 | #include <mach/irda.h> |
32 | #include <mach/regs-uart.h> | ||
33 | #include <mach/regs-ost.h> | 32 | #include <mach/regs-ost.h> |
33 | #include <mach/regs-uart.h> | ||
34 | 34 | ||
35 | #define FICP __REG(0x40800000) /* Start of FICP area */ | 35 | #define FICP __REG(0x40800000) /* Start of FICP area */ |
36 | #define ICCR0 __REG(0x40800000) /* ICP Control Register 0 */ | 36 | #define ICCR0 __REG(0x40800000) /* ICP Control Register 0 */ |
@@ -112,6 +112,9 @@ struct pxa_irda { | |||
112 | int txdma; | 112 | int txdma; |
113 | int rxdma; | 113 | int rxdma; |
114 | 114 | ||
115 | int uart_irq; | ||
116 | int icp_irq; | ||
117 | |||
115 | struct irlap_cb *irlap; | 118 | struct irlap_cb *irlap; |
116 | struct qos_info qos; | 119 | struct qos_info qos; |
117 | 120 | ||
@@ -672,19 +675,19 @@ static int pxa_irda_start(struct net_device *dev) | |||
672 | 675 | ||
673 | si->speed = 9600; | 676 | si->speed = 9600; |
674 | 677 | ||
675 | err = request_irq(IRQ_STUART, pxa_irda_sir_irq, 0, dev->name, dev); | 678 | err = request_irq(si->uart_irq, pxa_irda_sir_irq, 0, dev->name, dev); |
676 | if (err) | 679 | if (err) |
677 | goto err_irq1; | 680 | goto err_irq1; |
678 | 681 | ||
679 | err = request_irq(IRQ_ICP, pxa_irda_fir_irq, 0, dev->name, dev); | 682 | err = request_irq(si->icp_irq, pxa_irda_fir_irq, 0, dev->name, dev); |
680 | if (err) | 683 | if (err) |
681 | goto err_irq2; | 684 | goto err_irq2; |
682 | 685 | ||
683 | /* | 686 | /* |
684 | * The interrupt must remain disabled for now. | 687 | * The interrupt must remain disabled for now. |
685 | */ | 688 | */ |
686 | disable_irq(IRQ_STUART); | 689 | disable_irq(si->uart_irq); |
687 | disable_irq(IRQ_ICP); | 690 | disable_irq(si->icp_irq); |
688 | 691 | ||
689 | err = -EBUSY; | 692 | err = -EBUSY; |
690 | si->rxdma = pxa_request_dma("FICP_RX",DMA_PRIO_LOW, pxa_irda_fir_dma_rx_irq, dev); | 693 | si->rxdma = pxa_request_dma("FICP_RX",DMA_PRIO_LOW, pxa_irda_fir_dma_rx_irq, dev); |
@@ -720,8 +723,8 @@ static int pxa_irda_start(struct net_device *dev) | |||
720 | /* | 723 | /* |
721 | * Now enable the interrupt and start the queue | 724 | * Now enable the interrupt and start the queue |
722 | */ | 725 | */ |
723 | enable_irq(IRQ_STUART); | 726 | enable_irq(si->uart_irq); |
724 | enable_irq(IRQ_ICP); | 727 | enable_irq(si->icp_irq); |
725 | netif_start_queue(dev); | 728 | netif_start_queue(dev); |
726 | 729 | ||
727 | printk(KERN_DEBUG "pxa_ir: irda driver opened\n"); | 730 | printk(KERN_DEBUG "pxa_ir: irda driver opened\n"); |
@@ -738,9 +741,9 @@ err_dma_rx_buff: | |||
738 | err_tx_dma: | 741 | err_tx_dma: |
739 | pxa_free_dma(si->rxdma); | 742 | pxa_free_dma(si->rxdma); |
740 | err_rx_dma: | 743 | err_rx_dma: |
741 | free_irq(IRQ_ICP, dev); | 744 | free_irq(si->icp_irq, dev); |
742 | err_irq2: | 745 | err_irq2: |
743 | free_irq(IRQ_STUART, dev); | 746 | free_irq(si->uart_irq, dev); |
744 | err_irq1: | 747 | err_irq1: |
745 | 748 | ||
746 | return err; | 749 | return err; |
@@ -760,8 +763,8 @@ static int pxa_irda_stop(struct net_device *dev) | |||
760 | si->irlap = NULL; | 763 | si->irlap = NULL; |
761 | } | 764 | } |
762 | 765 | ||
763 | free_irq(IRQ_STUART, dev); | 766 | free_irq(si->uart_irq, dev); |
764 | free_irq(IRQ_ICP, dev); | 767 | free_irq(si->icp_irq, dev); |
765 | 768 | ||
766 | pxa_free_dma(si->rxdma); | 769 | pxa_free_dma(si->rxdma); |
767 | pxa_free_dma(si->txdma); | 770 | pxa_free_dma(si->txdma); |
@@ -851,6 +854,9 @@ static int pxa_irda_probe(struct platform_device *pdev) | |||
851 | si->dev = &pdev->dev; | 854 | si->dev = &pdev->dev; |
852 | si->pdata = pdev->dev.platform_data; | 855 | si->pdata = pdev->dev.platform_data; |
853 | 856 | ||
857 | si->uart_irq = platform_get_irq(pdev, 0); | ||
858 | si->icp_irq = platform_get_irq(pdev, 1); | ||
859 | |||
854 | si->sir_clk = clk_get(&pdev->dev, "UARTCLK"); | 860 | si->sir_clk = clk_get(&pdev->dev, "UARTCLK"); |
855 | si->fir_clk = clk_get(&pdev->dev, "FICPCLK"); | 861 | si->fir_clk = clk_get(&pdev->dev, "FICPCLK"); |
856 | if (IS_ERR(si->sir_clk) || IS_ERR(si->fir_clk)) { | 862 | if (IS_ERR(si->sir_clk) || IS_ERR(si->fir_clk)) { |
diff --git a/drivers/sh/pfc/gpio.c b/drivers/sh/pfc/gpio.c index 62bca98474a9..038fa071382a 100644 --- a/drivers/sh/pfc/gpio.c +++ b/drivers/sh/pfc/gpio.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/module.h> | 17 | #include <linux/module.h> |
18 | #include <linux/platform_device.h> | 18 | #include <linux/platform_device.h> |
19 | #include <linux/pinctrl/consumer.h> | 19 | #include <linux/pinctrl/consumer.h> |
20 | #include <linux/sh_pfc.h> | ||
20 | 21 | ||
21 | struct sh_pfc_chip { | 22 | struct sh_pfc_chip { |
22 | struct sh_pfc *pfc; | 23 | struct sh_pfc *pfc; |
diff --git a/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c b/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c index a272e488e5b9..47439c3f7258 100644 --- a/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c +++ b/drivers/staging/ste_rmi4/board-mop500-u8500uib-rmi4.c | |||
@@ -5,7 +5,6 @@ | |||
5 | #include <linux/i2c.h> | 5 | #include <linux/i2c.h> |
6 | #include <linux/gpio.h> | 6 | #include <linux/gpio.h> |
7 | #include <linux/interrupt.h> | 7 | #include <linux/interrupt.h> |
8 | #include <mach/gpio.h> | ||
9 | #include <mach/irqs.h> | 8 | #include <mach/irqs.h> |
10 | #include "synaptics_i2c_rmi4.h" | 9 | #include "synaptics_i2c_rmi4.h" |
11 | 10 | ||
diff --git a/drivers/usb/gadget/pxa27x_udc.c b/drivers/usb/gadget/pxa27x_udc.c index 644b4305cb99..7a8713cda945 100644 --- a/drivers/usb/gadget/pxa27x_udc.c +++ b/drivers/usb/gadget/pxa27x_udc.c | |||
@@ -2508,7 +2508,7 @@ static int __init pxa_udc_probe(struct platform_device *pdev) | |||
2508 | IRQF_SHARED, driver_name, udc); | 2508 | IRQF_SHARED, driver_name, udc); |
2509 | if (retval != 0) { | 2509 | if (retval != 0) { |
2510 | dev_err(udc->dev, "%s: can't get irq %i, err %d\n", | 2510 | dev_err(udc->dev, "%s: can't get irq %i, err %d\n", |
2511 | driver_name, IRQ_USB, retval); | 2511 | driver_name, udc->irq, retval); |
2512 | goto err_irq; | 2512 | goto err_irq; |
2513 | } | 2513 | } |
2514 | retval = usb_add_gadget_udc(&pdev->dev, &udc->gadget); | 2514 | retval = usb_add_gadget_udc(&pdev->dev, &udc->gadget); |