diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index e6723a3..7dc09d0 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -342,10 +342,6 @@ goto err_alloc2; } - memset(ahci_port->cmd_slot, 0, AHCI_CMD_SLOT_SZ * 32); - memset((void *)ahci_port->rx_fis, 0, AHCI_RX_FIS_SZ); - memset(ahci_port->cmd_tbl, 0, AHCI_CMD_TBL_SZ); - ahci_port_debug(ahci_port, "cmd_tbl_dma = 0x%p\n", ahci_port->cmd_tbl); ahci_port->cmd_tbl_sg = ahci_port->cmd_tbl + AHCI_CMD_TBL_HDR_SZ; diff --git a/drivers/dma/apbh_dma.c b/drivers/dma/apbh_dma.c index 72c2f36..3bee89f 100644 --- a/drivers/dma/apbh_dma.c +++ b/drivers/dma/apbh_dma.c @@ -381,15 +381,15 @@ struct mxs_dma_desc *mxs_dma_desc_alloc(void) { struct mxs_dma_desc *pdesc; + dma_addr_t dma_address; pdesc = dma_alloc_coherent(sizeof(struct mxs_dma_desc), - DMA_ADDRESS_BROKEN); + &dma_address); if (pdesc == NULL) return NULL; - memset(pdesc, 0, sizeof(*pdesc)); - pdesc->address = (dma_addr_t)pdesc; + pdesc->address = dma_address; return pdesc; }; diff --git a/drivers/mtd/nand/nand_mxs.c b/drivers/mtd/nand/nand_mxs.c index 28a07d4..c3b07aa 100644 --- a/drivers/mtd/nand/nand_mxs.c +++ b/drivers/mtd/nand/nand_mxs.c @@ -1271,8 +1271,6 @@ return -ENOMEM; } - memset(buf, 0, size); - nand_info->data_buf = buf; nand_info->oob_buf = buf + NAND_MAX_PAGESIZE; @@ -1284,7 +1282,6 @@ printf("MXS NAND: Error allocating command buffers\n"); return -ENOMEM; } - memset(nand_info->cmd_buf, 0, MXS_NAND_COMMAND_BUFFER_SIZE); nand_info->cmd_queue_len = 0; return 0; diff --git a/drivers/net/rtl8169.c b/drivers/net/rtl8169.c index 4e9823d..80997dc 100644 --- a/drivers/net/rtl8169.c +++ b/drivers/net/rtl8169.c @@ -227,9 +227,6 @@ dma_sync_single_for_device((unsigned long)priv->rx_buf, NUM_RX_DESC * PKT_BUF_SIZE, DMA_FROM_DEVICE); - memset((void *)priv->tx_desc, 0, NUM_TX_DESC * sizeof(struct bufdesc)); - memset((void *)priv->rx_desc, 0, NUM_RX_DESC * sizeof(struct bufdesc)); - for (i = 0; i < NUM_RX_DESC; i++) { if (i == (NUM_RX_DESC - 1)) priv->rx_desc[i].status = diff --git a/drivers/usb/gadget/fsl_udc.c b/drivers/usb/gadget/fsl_udc.c index 705f6c0..a47ba20 100644 --- a/drivers/usb/gadget/fsl_udc.c +++ b/drivers/usb/gadget/fsl_udc.c @@ -1143,11 +1143,10 @@ (unsigned)EP_MAX_LENGTH_TRANSFER); dtd = dma_alloc_coherent(sizeof(struct ep_td_struct), - DMA_ADDRESS_BROKEN); + dma); if (dtd == NULL) return dtd; - *dma = (dma_addr_t)virt_to_phys(dtd); dtd->td_dma = *dma; /* Clear reserved field */ swap_temp = cpu_to_le32(dtd->size_ioc_sts); @@ -2066,13 +2065,12 @@ size &= ~(QH_ALIGNMENT - 1); } - udc->ep_qh = dma_alloc_coherent(size, DMA_ADDRESS_BROKEN); + udc->ep_qh = dma_alloc_coherent(size, &udc->ep_qh_dma); if (!udc->ep_qh) { ERR("malloc QHs for udc failed\n"); kfree(udc->eps); return -1; } - udc->ep_qh_dma = (dma_addr_t)virt_to_phys(udc->ep_qh); udc->ep_qh_size = size; diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig index db44052..d2029bc 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -15,7 +15,7 @@ config USB_OHCI bool "OHCI driver" - depends on !MMU + depends on !MMU && HAS_DMA config USB_OHCI_AT91 depends on ARCH_AT91 diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 612c3a1..924dc8e 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -1765,7 +1765,6 @@ DMA_ADDRESS_BROKEN); if (!ohci->ptd) return -ENOMEM; - memset(ohci->ptd, 0, sizeof(struct td) * NUM_TD); ohci->disabled = 1; ohci->irq = -1; @@ -1815,7 +1814,6 @@ DMA_ADDRESS_BROKEN); if (!ohci->ohci_dev) return -ENOMEM; - memset(ohci->ohci_dev, 0, sizeof(*ohci->ohci_dev)); usb_register_host(host);