Merge commit 'v2.6.38-rc8' into spi/next
authorGrant Likely <grant.likely@secretlab.ca>
Sat, 12 Mar 2011 08:25:53 +0000 (01:25 -0700)
committerGrant Likely <grant.likely@secretlab.ca>
Sat, 12 Mar 2011 08:25:53 +0000 (01:25 -0700)
Conflicts:
drivers/spi/pxa2xx_spi_pci.c

1  2 
Documentation/devicetree/bindings/mmc/mmc-spi-slot.txt
drivers/gpio/pca953x.c
drivers/spi/pxa2xx_spi_pci.c
drivers/spi/spi_sh_msiof.c

index 0000000000000000000000000000000000000000,c39ac2891951bf413935f2ab12daf3f46310e5e8..89a0084df2f76e625a2cdfcccf4e6c0f4281bc12
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,23 +1,30 @@@
 -- gpios : (optional) may specify GPIOs in this order: Card-Detect GPIO,
+ MMC/SD/SDIO slot directly connected to a SPI bus
+ Required properties:
+ - compatible : should be "mmc-spi-slot".
+ - reg : should specify SPI address (chip-select number).
+ - spi-max-frequency : maximum frequency for this device (Hz).
+ - voltage-ranges : two cells are required, first cell specifies minimum
+   slot voltage (mV), second cell specifies maximum slot voltage (mV).
+   Several ranges could be specified.
++
++Optional properties:
++- gpios : may specify GPIOs in this order: Card-Detect GPIO,
+   Write-Protect GPIO.
++- interrupts : the interrupt of a card detect interrupt.
++- interrupt-parent : the phandle for the interrupt controller that
++  services interrupts for this device.
+ Example:
+       mmc-slot@0 {
+               compatible = "fsl,mpc8323rdb-mmc-slot",
+                            "mmc-spi-slot";
+               reg = <0>;
+               gpios = <&qe_pio_d 14 1
+                        &qe_pio_d 15 0>;
+               voltage-ranges = <3300 3300>;
+               spi-max-frequency = <50000000>;
++              interrupts = <42>;
++              interrupt-parent = <&PIC>;
+       };
Simple merge
index b6589bb3a6c3772012acf507622ba560b2be74ed,19752b09e155457a5dc0836b991da2c41802cd52..378e504f89ebdf8dd7b2b503e6c3a79d8820f269
@@@ -84,25 -75,24 +75,22 @@@ static int __devinit ce4100_spi_probe(s
                return ret;
        }
  
+       pdev = platform_device_alloc("pxa2xx-spi", dev->devfn);
        spi_info = kzalloc(sizeof(*spi_info), GFP_KERNEL);
-       if (!spi_info) {
+       if (!pdev || !spi_info ) {
                ret = -ENOMEM;
-               goto err_kz;
+               goto err_nomem;
        }
-       ssp = &spi_info->ssp;
-       pdev = &spi_info->spi_pdev;
-       spi_pdata =  &spi_info->spi_pdata;
+       memset(&spi_pdata, 0, sizeof(spi_pdata));
+       spi_pdata.num_chipselect = dev->devfn;
  
-       pdev->name = "pxa2xx-spi";
-       pdev->id = dev->devfn;
-       pdev->dev.parent = &dev->dev;
-       pdev->dev.platform_data = &spi_info->spi_pdata;
+       ret = platform_device_add_data(pdev, &spi_pdata, sizeof(spi_pdata));
+       if (ret)
+               goto err_nomem;
  
 -#ifdef CONFIG_OF
+       pdev->dev.parent = &dev->dev;
        pdev->dev.of_node = dev->dev.of_node;
-       pdev->dev.release = plat_dev_release;
-       spi_pdata->num_chipselect = dev->devfn;
 -#endif
+       ssp = &spi_info->ssp;
        ssp->phys_base = pci_resource_start(dev, 0);
        ssp->mmio_base = ioremap(phys_beg, phys_len);
        if (!ssp->mmio_base) {
Simple merge