Merge tag 'mips_fixes_4.21_1' of git://git.kernel.org/pub/scm/linux/kernel/git/mips...
[sfrench/cifs-2.6.git] / arch / mips / alchemy / devboards / db1000.c
index 13e3c84859fe760c0a4c109211be06f52135c58f..7f99592cf56b5396dc8618cea0c787566f95ad05 100644 (file)
@@ -82,6 +82,8 @@ static int db1500_map_pci_irq(const struct pci_dev *d, u8 slot, u8 pin)
        return -1;
 }
 
+static u64 au1xxx_all_dmamask = DMA_BIT_MASK(32);
+
 static struct resource alchemy_pci_host_res[] = {
        [0] = {
                .start  = AU1500_PCI_PHYS_ADDR,
@@ -120,13 +122,11 @@ static struct resource au1100_lcd_resources[] = {
        }
 };
 
-static u64 au1100_lcd_dmamask = DMA_BIT_MASK(32);
-
 static struct platform_device au1100_lcd_device = {
        .name           = "au1100-lcd",
        .id             = 0,
        .dev = {
-               .dma_mask               = &au1100_lcd_dmamask,
+               .dma_mask               = &au1xxx_all_dmamask,
                .coherent_dma_mask      = DMA_BIT_MASK(32),
        },
        .num_resources  = ARRAY_SIZE(au1100_lcd_resources),
@@ -170,6 +170,10 @@ static struct platform_device db1x00_codec_dev = {
 
 static struct platform_device db1x00_audio_dev = {
        .name           = "db1000-audio",
+       .dev = {
+               .dma_mask               = &au1xxx_all_dmamask,
+               .coherent_dma_mask      = DMA_BIT_MASK(32),
+       },
 };
 
 /******************************************************************************/
@@ -338,13 +342,11 @@ static struct resource au1100_mmc0_resources[] = {
        }
 };
 
-static u64 au1xxx_mmc_dmamask =         DMA_BIT_MASK(32);
-
 static struct platform_device db1100_mmc0_dev = {
        .name           = "au1xxx-mmc",
        .id             = 0,
        .dev = {
-               .dma_mask               = &au1xxx_mmc_dmamask,
+               .dma_mask               = &au1xxx_all_dmamask,
                .coherent_dma_mask      = DMA_BIT_MASK(32),
                .platform_data          = &db1100_mmc_platdata[0],
        },
@@ -379,7 +381,7 @@ static struct platform_device db1100_mmc1_dev = {
        .name           = "au1xxx-mmc",
        .id             = 1,
        .dev = {
-               .dma_mask               = &au1xxx_mmc_dmamask,
+               .dma_mask               = &au1xxx_all_dmamask,
                .coherent_dma_mask      = DMA_BIT_MASK(32),
                .platform_data          = &db1100_mmc_platdata[1],
        },
@@ -389,58 +391,6 @@ static struct platform_device db1100_mmc1_dev = {
 
 /******************************************************************************/
 
-static void db1000_irda_set_phy_mode(int mode)
-{
-       unsigned short mask = BCSR_RESETS_IRDA_MODE_MASK | BCSR_RESETS_FIR_SEL;
-
-       switch (mode) {
-       case AU1000_IRDA_PHY_MODE_OFF:
-               bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_OFF);
-               break;
-       case AU1000_IRDA_PHY_MODE_SIR:
-               bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_FULL);
-               break;
-       case AU1000_IRDA_PHY_MODE_FIR:
-               bcsr_mod(BCSR_RESETS, mask, BCSR_RESETS_IRDA_MODE_FULL |
-                                           BCSR_RESETS_FIR_SEL);
-               break;
-       }
-}
-
-static struct au1k_irda_platform_data db1000_irda_platdata = {
-       .set_phy_mode   = db1000_irda_set_phy_mode,
-};
-
-static struct resource au1000_irda_res[] = {
-       [0] = {
-               .start  = AU1000_IRDA_PHYS_ADDR,
-               .end    = AU1000_IRDA_PHYS_ADDR + 0x0fff,
-               .flags  = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start  = AU1000_IRDA_TX_INT,
-               .end    = AU1000_IRDA_TX_INT,
-               .flags  = IORESOURCE_IRQ,
-       },
-       [2] = {
-               .start  = AU1000_IRDA_RX_INT,
-               .end    = AU1000_IRDA_RX_INT,
-               .flags  = IORESOURCE_IRQ,
-       },
-};
-
-static struct platform_device db1000_irda_dev = {
-       .name   = "au1000-irda",
-       .id     = -1,
-       .dev    = {
-               .platform_data = &db1000_irda_platdata,
-       },
-       .resource       = au1000_irda_res,
-       .num_resources  = ARRAY_SIZE(au1000_irda_res),
-};
-
-/******************************************************************************/
-
 static struct ads7846_platform_data db1100_touch_pd = {
        .model          = 7846,
        .vref_mv        = 3300,
@@ -468,6 +418,8 @@ static struct platform_device db1100_spi_dev = {
        .id             = 0,
        .dev            = {
                .platform_data  = &db1100_spictl_pd,
+               .dma_mask               = &au1xxx_all_dmamask,
+               .coherent_dma_mask      = DMA_BIT_MASK(32),
        },
 };
 
@@ -497,15 +449,10 @@ static struct platform_device *db1x00_devs[] = {
        &db1x00_audio_dev,
 };
 
-static struct platform_device *db1000_devs[] = {
-       &db1000_irda_dev,
-};
-
 static struct platform_device *db1100_devs[] = {
        &au1100_lcd_device,
        &db1100_mmc0_dev,
        &db1100_mmc1_dev,
-       &db1000_irda_dev,
 };
 
 int __init db1000_dev_setup(void)
@@ -565,7 +512,6 @@ int __init db1000_dev_setup(void)
                d1 = 3; /* GPIO number, NOT irq! */
                s0 = AU1000_GPIO1_INT;
                s1 = AU1000_GPIO4_INT;
-               platform_add_devices(db1000_devs, ARRAY_SIZE(db1000_devs));
        } else if ((board == BCSR_WHOAMI_PB1500) ||
                   (board == BCSR_WHOAMI_PB1500R2)) {
                c0 = AU1500_GPIO203_INT;