Merge remote-tracking branch 'regulator/fix/db8500' into tmp
[deliverable/linux.git] / drivers / spi / spi-mpc512x-psc.c
index cb3a3106bd4ffaa7f65040df88d48448abdd631d..89480b281d74715ad0eaa6cf63bf354546f99fc4 100644 (file)
@@ -438,6 +438,7 @@ static int mpc512x_psc_spi_do_probe(struct device *dev, u32 regaddr,
                master->num_chipselect = pdata->max_chipselect;
        }
 
+       master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LSB_FIRST;
        master->setup = mpc512x_psc_spi_setup;
        master->transfer = mpc512x_psc_spi_transfer;
        master->cleanup = mpc512x_psc_spi_cleanup;
@@ -522,17 +523,11 @@ static int mpc512x_psc_spi_of_probe(struct platform_device *op)
        regaddr64 = of_translate_address(op->dev.of_node, regaddr_p);
 
        /* get PSC id (0..11, used by port_config) */
-       if (op->dev.platform_data == NULL) {
-               const u32 *psc_nump;
-
-               psc_nump = of_get_property(op->dev.of_node, "cell-index", NULL);
-               if (!psc_nump || *psc_nump > 11) {
-                       dev_err(&op->dev, "mpc512x_psc_spi: Device node %s "
-                               "has invalid cell-index property\n",
-                               op->dev.of_node->full_name);
-                       return -EINVAL;
-               }
-               id = *psc_nump;
+       id = of_alias_get_id(op->dev.of_node, "spi");
+       if (id < 0) {
+               dev_err(&op->dev, "no alias id for %s\n",
+                       op->dev.of_node->full_name);
+               return id;
        }
 
        return mpc512x_psc_spi_do_probe(&op->dev, (u32) regaddr64, (u32) size64,
This page took 0.023853 seconds and 5 git commands to generate.