summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-11-22Merge branch 'for-jason-1/cleanup' into mevbu-dt-additionsThomas Petazzoni2-6/+5
2012-11-22ARM: mvebu: update defconfig with I2C and RTC supportThomas Petazzoni1-0/+4
Now that we have support for the I2C busses on Armada 370/XP, and support for the RTC on the OpenBlocks AX3-4 platform, include the necessary options in mvebu_defconfig. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-22ARM: mvebu: Add SATA support for OpenBlocks AX3-4Thomas Petazzoni1-0/+4
This patch enables SATA support on the OpenBlocks AX3-4. It has one internal SATA port, and an external eSATA port. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-22ARM: mvebu: Add support for the RTC in OpenBlocks AX3-4Nobuhiro Iwamatsu1-0/+5
The OpenBlocks AX3-4 has a Seiko Instruments S-35390A as the RTC controller. This patch enables this RTC device in the OpenBlocks AX3-4 Device Tree. [Thomas Petazzoni: updated with other OpenBlocks changes, rephrased commit log.] Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-22ARM: mvebu: Add support for I2C on OpenBlocks AX3-4Nobuhiro Iwamatsu1-0/+8
The OpenBlocks AX3-4 board, based on the Armada XP SoC, has an I2C bus. This patch enables this bus and sets the clock frequency of the bus. [Thomas Petazzoni: updated with other changes on OpenBlocks, rephrased commit log.] Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-22ARM: mvebu: Add support for I2C controllers in Armada 370/XPNobuhiro Iwamatsu1-0/+22
The Armada 370 and Armada XP have the same I2C controllers as previous Marvell SoCs, so the existing mv64xxx-i2c driver works fine. [Thomas Petazzoni: updated on top of other Armada 370/XP changes, rephrased the commit log]. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21Merge tag 'marvell-net-xor-defconfig-for-3.8' of ↵Thomas Petazzoni1-0/+7
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell mvebu defconfig updates for 3.8 Conflicts: arch/arm/configs/mvebu_defconfig Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21Merge tag 'marvell-xor-board-dt-changes-3.8-v2' of ↵Thomas Petazzoni6-23/+158
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell XOR driver DT changes for 3.8 Conflicts: arch/arm/boot/dts/armada-xp.dtsi Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21Merge tag 'marvell-xor-cleanup-dt-binding-3.8' of ↵Thomas Petazzoni8-347/+366
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell XOR driver cleanup and DT binding for 3.8
2012-11-21Merge tag 'marvell-neta-dt-clk-updates-3.8' of ↵Thomas Petazzoni6-12/+4
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell Ethernet DT update for clk support
2012-11-21Merge tag 'marvell-mvneta-fix-and-clk-support-3.8' of ↵Thomas Petazzoni2-14/+23
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell Ethernet driver fix + clk support
2012-11-21Merge tag 'marvell-net-mdio-checkpatch-fixes-3.8' of ↵Thomas Petazzoni2-46/+44
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell network/MDIO driver checkpatch fixes Conflicts: arch/arm/boot/dts/armada-xp-db.dts Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21Merge tag 'marvell-boards-net-for-3.8' of ↵Thomas Petazzoni7-1/+274
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell boards changes related to Ethernet, for 3.8 Conflicts: arch/arm/boot/dts/armada-370-xp.dtsi arch/arm/boot/dts/armada-xp-db.dts Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21Merge tag 'marvell-neta-for-3.8' of ↵Thomas Petazzoni7-0/+3159
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell mvneta network driver, for 3.8
2012-11-21Merge tag 'marvell-sata-3.8' of ↵Thomas Petazzoni6-0/+35
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell Armada 370/XP support for 3.8
2012-11-21Merge tag 'marvell-mvebu-clk-3.8' of ↵Thomas Petazzoni34-38/+1696
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell MVEBU clk support, for 3.8
2012-11-21arm: mvebu: update defconfig to include XOR driverThomas Petazzoni1-0/+2
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21arm: mvebu: update defconfig to include network driverThomas Petazzoni1-0/+5
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21arm: mvebu: remove 'clock-frequency' properties from Armada 370/XP Ethernet ↵Thomas Petazzoni4-12/+0
nodes The mvneta driver for the Marvell Armada 370/XP Ethernet devices has gained proper clock framework integration, and the corresponding Device Tree nodes now have a correct 'clocks' pointer. The 'clock-frequency' properties in the various .dts files for Armada 370/XP boards have therefore become useless. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21arm: mvebu: add 'clocks' property to Ethernet nodes for Armada 370/XP SoCsThomas Petazzoni2-0/+4
The mvneta driver now understands a standard 'clocks' clock pointer property in the Device Tree nodes for the Ethernet devices, so we add the right clock reference for the different Ethernet ports of the Armada 370/XP SoCs. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21net: mvneta: fix section mismatch warning caused by mvneta_deinit()Thomas Petazzoni1-1/+1
mvneta_deinit() can be called from the ->probe() hook in the error path, so it shouldn't be marked as __devexit. It fixes the following section mismatch warning: WARNING: vmlinux.o(.devinit.text+0x239c): Section mismatch in reference from the function mvneta_probe() to the function .devexit.text:mvneta_deinit() The function __devinit mvneta_probe() references a function __devexit mvneta_deinit(). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21net: mvneta: add clk supportThomas Petazzoni2-13/+22
Now that the Armada 370/XP platform has gained proper integration with the clock framework, we add clk support in the Marvell Armada 370/XP Ethernet driver. Since the existing Device Tree binding that exposes a 'clock-frequency' property has never been exposed in any stable kernel release, we take the freedom of removing this property to replace it with the standard 'clocks' clock pointer property. The Device Tree binding documentation is updated accordingly. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21net: mvneta: adjust multiline comments to net/ styleThomas Petazzoni1-42/+42
As reported by checkpatch, the multiline comments for net/ and drivers/net/ have a slightly different format than the one used in the rest of the kernel, so we adjust our multiline comments accordingly. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21net: mvmdio: adjust multiline comment to net/ styleThomas Petazzoni1-2/+1
As reported by checkpatch, the multiline comments for net/ and drivers/net/ have a slightly different format than the one used in the rest of the kernel, so we adjust our multiline comment accordingly. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21net: mvmdio: use <linux/delay.h> instead of <asm/delay.h>Thomas Petazzoni1-2/+1
As suggested by checkpatch, using <linux/delay.h> instead of <asm/delay.h> is appropriate. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-21Merge tag 'marvell-boards-net-for-3.8' of ↵Thomas Petazzoni7-1/+273
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell boards changes related to Ethernet, for 3.8 Conflicts: arch/arm/boot/dts/armada-370-xp.dtsi arch/arm/boot/dts/armada-xp-db.dts
2012-11-21Merge tag 'marvell-neta-for-3.8' of ↵Thomas Petazzoni7-0/+3159
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell mvneta network driver, for 3.8
2012-11-21Merge tag 'marvell-sata-3.8' of ↵Thomas Petazzoni6-0/+35
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell Armada 370/XP support for 3.8
2012-11-21Merge tag 'marvell-mvebu-clk-3.8' of ↵Thomas Petazzoni34-38/+1696
github.com:MISL-EBU-System-SW/mainline-public into test-the-merge Marvell MVEBU clk support, for 3.8
2012-11-20arm: mvebu: add XOR engines to Armada XP .dtsiThomas Petazzoni1-0/+40
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20arm: mvebu: add XOR engines to Armada 370 .dtsiThomas Petazzoni1-0/+36
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20arm: dove: Convert Dove to DT XOR DMA engineSebastian Hesselbarth2-10/+42
With DT support for Marvell XOR DMA engine, make use of it on Dove. Also remove the now redundant code in DT board init for xor engines. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20arm: kirkwood: Convert XOR instantiation to DT.Andrew Lunn2-13/+40
Use DT to describe the two XOR DMA engines on Kirkwood. Remove the C code initialization. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: Add a device_control functionAndrew Lunn1-0/+9
The dmatest module for DMA engines calls device_control(dtc->chan, DMA_TERMINATE_ALL, 0); after completing the tests. The documentation in include/linux/dmaengine.h suggests this function is optional and dma_async_device_register() also does not BUG_ON() when not passed a function. However, dmatest is not the only code in the kernel unconditionally calling device_control. So add an implementation indicating all operations are not implemented. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: add missing __devinit and __devexit qualifiers on probe and removeThomas Petazzoni1-3/+3
The ->probe() and ->remove() functions were missing the usual __devinit and __devexit qualifiers. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: add Device Tree bindingThomas Petazzoni2-4/+94
This patch finally adds a Device Tree binding to the mv_xor driver. Thanks to the previous cleanup patches, the Device Tree binding is relatively simply: one DT node per XOR engine, with sub-nodes for each XOR channel of the XOR engine. The binding obviously comes with the necessary documentation. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: devicetree-discuss@lists.ozlabs.org
2012-11-20dma: mv_xor: add missing free_irq() callThomas Petazzoni2-1/+5
Even though the driver cannot be unloaded at the moment, it is still good to properly free the IRQ handlers in the channel removal function. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: remove the pool_size from platform_dataThomas Petazzoni4-26/+9
The pool_size is always PAGE_SIZE, and since it is a software configuration paramter (and not a hardware description parameter), we cannot make it part of the Device Tree binding, so we'd better remove it from the platform_data as well. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: remove hw_id field from platform_dataThomas Petazzoni3-8/+3
There is no need for the platform_data to give this ID, it is simply the channel number, so we can compute it inside the driver when registering the channels. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: remove useless backpointer from mv_xor_chan to mv_xor_deviceThomas Petazzoni2-2/+0
The backpointer from mv_xor_chan to mv_xor_device is now useless, get rid of it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: rename mv_xor_private to mv_xor_deviceThomas Petazzoni2-35/+35
Now that mv_xor_device is no longer used to designate the per-channel DMA devices, use it know to designate the XOR engine themselves (currently composed of two XOR channels). So, now we have the nice organization where: - mv_xor_device represents each XOR engine in the system - mv_xor_chan represents each XOR channel of a given XOR engine Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: merge mv_xor_device and mv_xor_chanThomas Petazzoni2-55/+34
Even though the DMA engine infrastructure has support for multiple channels per device, the mv_xor driver registers one DMA engine device for each channel, because the mv_xor channels inside the same XOR engine have different capabilities, and the DMA engine infrastructure only allows to express capabilities at the DMA engine device level. The mv_xor driver has therefore been registering one DMA engine device and one DMA engine channel for each XOR channel since its introduction in the kernel. However, it kept two separate internal structures, mv_xor_device and mv_xor_channel, which didn't make a lot of sense since there was a 1:1 mapping between those structures. This patch gets rid of this duplication, and merges everything into the mv_xor_chan structure. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: use mv_xor_chan pointers as arguments to self-test functionsThomas Petazzoni1-11/+6
In preparation for the removal of the mv_xor_device structure, we directly pass mv_xor_chan pointers to the self-test functions included in the driver. These functions were anyway selecting the first (and only channel) available in each DMA device, so the behaviour is unchanged. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: in mv_xor_device, rename 'common' to 'dmadev'Thomas Petazzoni2-8/+8
The mv_xor_device structure embeds a 'struct dma_device', which is named 'common', a not very meaningful name. Rename it to 'dmadev', which will help avoid confusions later as we merge the mv_xor_device and mv_xor_chan structures together. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: in mv_xor_chan, rename 'common' to 'dmachan'Thomas Petazzoni2-7/+7
The mv_xor_chan structure embeds a 'struct dma_chan', which is named 'common', a not very meaningful name. Rename it to 'dmachan', which will help avoid confusions later as we merge the mv_xor_device and mv_xor_chan structures together. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: get rid of the pdev pointer in mv_xor_deviceThomas Petazzoni2-6/+4
It was only used in places where we could get the 'struct device *' pointer through a different way. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: introduce a mv_chan_to_devp() helperThomas Petazzoni1-29/+32
In many place, we need to get the 'struct device *' pointer from a 'struct mv_chan *', so we add a helper that makes this a bit easier. It will also help reducing the change noise in further patches. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: simplify dma_sync_single_for_cpu() callsThomas Petazzoni1-6/+2
In mv_xor_memcpy_self_test() and mv_xor_xor_self_test(), all DMA functions are called by passing dma_chan->device->dev as the 'device *', except the calls to dma_sync_single_for_cpu() which uselessly goes through mv_chan->device->pdev->dev. Simplify this by using dma_chan->device->dev direclty in dma_sync_single_for_cpu() calls. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: remove unused to_mv_xor_device() macroThomas Petazzoni1-3/+0
The to_mv_xor_device() macro is not being used by the driver, so we can get rid of it. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-11-20dma: mv_xor: remove unused id field in mv_xor_device structureThomas Petazzoni2-3/+0
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>