svn commit: r310344 - head/sys/arm/freescale/imx
Oleksandr Tymoshenko
gonzo at FreeBSD.org
Wed Dec 21 01:38:45 UTC 2016
Author: gonzo
Date: Wed Dec 21 01:38:44 2016
New Revision: 310344
URL: https://svnweb.freebsd.org/changeset/base/310344
Log:
[iMX6] Fix SDMA driver build
- Place const modifiers where required
- Make sure sdma device is attahched before consumers like SSI
Reviewed by: br
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D8874
Modified:
head/sys/arm/freescale/imx/imx6_sdma.c
head/sys/arm/freescale/imx/imx6_sdma.h
Modified: head/sys/arm/freescale/imx/imx6_sdma.c
==============================================================================
--- head/sys/arm/freescale/imx/imx6_sdma.c Wed Dec 21 01:32:19 2016 (r310343)
+++ head/sys/arm/freescale/imx/imx6_sdma.c Wed Dec 21 01:38:44 2016 (r310344)
@@ -351,7 +351,7 @@ sdma_configure(int chn, struct sdma_conf
static int
load_firmware(struct sdma_softc *sc)
{
- struct sdma_firmware_header *header;
+ const struct sdma_firmware_header *header;
const struct firmware *fp;
fp = firmware_get("sdma_fw");
@@ -360,14 +360,14 @@ load_firmware(struct sdma_softc *sc)
return (-1);
}
- header = (struct sdma_firmware_header *)fp->data;
+ header = fp->data;
if (header->magic != FW_HEADER_MAGIC) {
device_printf(sc->dev, "Can't use firmware.\n");
return (-1);
}
sc->fw_header = header;
- sc->fw_scripts = (void *)((char *)header +
+ sc->fw_scripts = (const void *)((const char *)header +
header->script_addrs_start);
return (0);
@@ -377,14 +377,14 @@ static int
boot_firmware(struct sdma_softc *sc)
{
struct sdma_buffer_descriptor *bd0;
- uint32_t *ram_code;
+ const uint32_t *ram_code;
int timeout;
int ret;
int chn;
int sz;
int i;
- ram_code = (void *)((char *)sc->fw_header +
+ ram_code = (const void *)((const char *)sc->fw_header +
sc->fw_header->ram_code_start);
/* Make sure SDMA has not started yet */
@@ -514,4 +514,5 @@ static driver_t sdma_driver = {
static devclass_t sdma_devclass;
-DRIVER_MODULE(sdma, simplebus, sdma_driver, sdma_devclass, 0, 0);
+EARLY_DRIVER_MODULE(sdma, simplebus, sdma_driver, sdma_devclass, 0, 0,
+ BUS_PASS_RESOURCE);
Modified: head/sys/arm/freescale/imx/imx6_sdma.h
==============================================================================
--- head/sys/arm/freescale/imx/imx6_sdma.h Wed Dec 21 01:32:19 2016 (r310343)
+++ head/sys/arm/freescale/imx/imx6_sdma.h Wed Dec 21 01:38:44 2016 (r310344)
@@ -221,8 +221,8 @@ struct sdma_softc {
uint32_t num_bd;
uint32_t ccb_phys;
uint32_t context_phys;
- struct sdma_firmware_header *fw_header;
- struct sdma_script_start_addrs *fw_scripts;
+ const struct sdma_firmware_header *fw_header;
+ const struct sdma_script_start_addrs *fw_scripts;
};
struct sdma_conf {
More information about the svn-src-head
mailing list