diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-09-18 10:00:46 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-10-16 07:07:19 +0200 |
commit | f9c8e14dcb578c503c666ffdabe06d28b383700d (patch) | |
tree | 77aa2db2612a3ae85b09218a561f23db3e1d6a7f /bsps/shared/grlib/drvmgr | |
parent | grlib: Remove unused conversion macros (diff) | |
download | rtems-f9c8e14dcb578c503c666ffdabe06d28b383700d.tar.bz2 |
grlib: Add ambapp_common_info to derived types
This avoids a cast in DEV_TO_COMMON().
Diffstat (limited to 'bsps/shared/grlib/drvmgr')
-rw-r--r-- | bsps/shared/grlib/drvmgr/ambapp_bus.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/bsps/shared/grlib/drvmgr/ambapp_bus.c b/bsps/shared/grlib/drvmgr/ambapp_bus.c index 931d5d2a61..3c38fc16e0 100644 --- a/bsps/shared/grlib/drvmgr/ambapp_bus.c +++ b/bsps/shared/grlib/drvmgr/ambapp_bus.c @@ -418,17 +418,17 @@ static void ambapp_dev_info( str1 = str2 = str3 = ""; if (core->ahb_mst) { str1 = "AHBMST "; - ver = core->ahb_mst->ver; + ver = core->ahb_mst->common.ver; ambapp_bus_freq_get(dev, DEV_AHB_MST, &ahbmst_freq); } if (core->ahb_slv) { str2 = "AHBSLV "; - ver = core->ahb_slv->ver; + ver = core->ahb_slv->common.ver; ambapp_bus_freq_get(dev, DEV_AHB_SLV, &ahbslv_freq); } if (core->apb_slv) { str3 = "APBSLV"; - ver = core->apb_slv->ver; + ver = core->apb_slv->common.ver; ambapp_bus_freq_get(dev, DEV_APB_SLV, &apbslv_freq); } @@ -505,7 +505,7 @@ static int ambapp_dev_fixup(struct drvmgr_dev *dev, struct amba_dev_info *pnp) int core; devs_to_register[0] = dev; - subcores = (pnp->info.ahb_slv->ver & 0x7) + 1; + subcores = (pnp->info.ahb_slv->common.ver & 0x7) + 1; for(core = 1; core < subcores; core++) { drvmgr_alloc_dev(&newdev, sizeof(*pnpinfo)); memcpy(newdev, dev, sizeof(*newdev)); @@ -599,22 +599,22 @@ static void ambapp_core_register( pnpinfo->info.ahb_mst = (struct ambapp_ahb_info *) ahb_mst->devinfo; ambapp_alloc_dev(ahb_mst, (void *)newdev); - if ( pnpinfo->info.ahb_mst->irq ) - pnpinfo->info.irq = pnpinfo->info.ahb_mst->irq; + if ( pnpinfo->info.ahb_mst->common.irq ) + pnpinfo->info.irq = pnpinfo->info.ahb_mst->common.irq; } if ( ahb_slv ) { pnpinfo->info.ahb_slv = (struct ambapp_ahb_info *) ahb_slv->devinfo; ambapp_alloc_dev(ahb_slv, (void *)newdev); - if ( pnpinfo->info.ahb_slv->irq ) - pnpinfo->info.irq = pnpinfo->info.ahb_slv->irq; + if ( pnpinfo->info.ahb_slv->common.irq ) + pnpinfo->info.irq = pnpinfo->info.ahb_slv->common.irq; } if ( apb_slv ) { pnpinfo->info.apb_slv = (struct ambapp_apb_info *) apb_slv->devinfo; ambapp_alloc_dev(apb_slv, (void *)newdev); - if ( pnpinfo->info.apb_slv->irq ) - pnpinfo->info.irq = pnpinfo->info.apb_slv->irq; + if ( pnpinfo->info.apb_slv->common.irq ) + pnpinfo->info.irq = pnpinfo->info.apb_slv->common.irq; } if ( pnpinfo->info.irq == 0 ) pnpinfo->info.irq = -1; /* indicate no IRQ */ |