spi: octeon: Remove my_master pointer from struct octeon_spi
authorAxel Lin <axel.lin@ingics.com>
Mon, 5 Aug 2013 07:53:32 +0000 (15:53 +0800)
committerMark Brown <broonie@linaro.org>
Mon, 5 Aug 2013 14:55:50 +0000 (15:55 +0100)
Pass master to platform_set_drvdata() then we can remove my_master pointer.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-octeon.c

index 24daf964a4094322a891be0974f291dfbb1a024d..ad924a147ea87faabf91d8653b79c9bea9d81dc0 100644 (file)
@@ -28,7 +28,6 @@
 #define OCTEON_SPI_MAX_CLOCK_HZ 16000000
 
 struct octeon_spi {
-       struct spi_master *my_master;
        u64 register_base;
        u64 last_cfg;
        u64 cs_enax;
@@ -268,7 +267,6 @@ static int octeon_spi_nop_transfer_hardware(struct spi_master *master)
 
 static int octeon_spi_probe(struct platform_device *pdev)
 {
-
        struct resource *res_mem;
        struct spi_master *master;
        struct octeon_spi *p;
@@ -278,8 +276,7 @@ static int octeon_spi_probe(struct platform_device *pdev)
        if (!master)
                return -ENOMEM;
        p = spi_master_get_devdata(master);
-       platform_set_drvdata(pdev, p);
-       p->my_master = master;
+       platform_set_drvdata(pdev, master);
 
        res_mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 
@@ -328,10 +325,11 @@ fail:
 
 static int octeon_spi_remove(struct platform_device *pdev)
 {
-       struct octeon_spi *p = platform_get_drvdata(pdev);
+       struct spi_master *master = platform_get_drvdata(pdev);
+       struct octeon_spi *p = spi_master_get_devdata(master);
        u64 register_base = p->register_base;
 
-       spi_unregister_master(p->my_master);
+       spi_unregister_master(master);
 
        /* Clear the CSENA* and put everything in a known state. */
        cvmx_write_csr(register_base + OCTEON_SPI_CFG, 0);