From 2c07f24af210c4738fbe6f75a53c58fbd80fb658 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 10 Jun 2021 13:04:13 +0200 Subject: grlib: Add ambapp_plb() Replace the global variable ambapp_plb with a function to allow an automatic on demand initialization. --- bsps/shared/grlib/ascs/grascs.c | 4 ++-- bsps/shared/grlib/can/canmux.c | 2 +- bsps/shared/grlib/can/satcan.c | 2 +- bsps/shared/grlib/slink/grslink.c | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) (limited to 'bsps/shared') diff --git a/bsps/shared/grlib/ascs/grascs.c b/bsps/shared/grlib/ascs/grascs.c index 200cf67409..0e4a2ba868 100644 --- a/bsps/shared/grlib/ascs/grascs.c +++ b/bsps/shared/grlib/ascs/grascs.c @@ -72,7 +72,7 @@ static int ASCS_get_addr(int *base, int *irq) { struct ambapp_apb_info core; - if(ambapp_find_apbslv(&ambapp_plb, VENDOR_GAISLER, GAISLER_ASCS, &core) == 1) { + if(ambapp_find_apbslv(ambapp_plb(), VENDOR_GAISLER, GAISLER_ASCS, &core) == 1) { *base = core.start; *irq = core.common.irq; DBG("ASCS_get_addr: Registerd ASCS core at 0x%x with irq %i\n",core.start, core.irq); @@ -108,7 +108,7 @@ static int ASCS_get_sysfreq(void) { struct gptimer_regs *tregs; int tmp; - if(ambapp_find_apbslv(&ambapp_plb, VENDOR_GAISLER, GAISLER_GPTIMER, &gpt) == 1) { + if(ambapp_find_apbslv(ambapp_plb(), VENDOR_GAISLER, GAISLER_GPTIMER, &gpt) == 1) { tregs = (struct gptimer_regs *) gpt.start; tmp = (tregs->scaler_reload + 1)*1000; DBG("ASCS_get_sysfreq: Detected system frequency %i kHz\n",tmp); diff --git a/bsps/shared/grlib/can/canmux.c b/bsps/shared/grlib/can/canmux.c index 369cb3dd0a..631b9d941a 100644 --- a/bsps/shared/grlib/can/canmux.c +++ b/bsps/shared/grlib/can/canmux.c @@ -132,7 +132,7 @@ static rtems_device_driver canmux_initialize(rtems_device_major_number major, rt strcpy(fs_name, CANMUX_DEVNAME); /* Find core and initialize register pointer */ - if (!ambapp_find_apbslv(&ambapp_plb, VENDOR_GAISLER, GAISLER_CANMUX, &d)) { + if (!ambapp_find_apbslv(ambapp_plb(), VENDOR_GAISLER, GAISLER_CANMUX, &d)) { printk("CAN_MUX: Failed to find CAN_MUX core\n\r"); return -1; } diff --git a/bsps/shared/grlib/can/satcan.c b/bsps/shared/grlib/can/satcan.c index 52e674cb04..a94d570955 100644 --- a/bsps/shared/grlib/can/satcan.c +++ b/bsps/shared/grlib/can/satcan.c @@ -585,7 +585,7 @@ static rtems_device_driver satcan_initialize(rtems_device_major_number major, rt strcpy(fs_name, SATCAN_DEVNAME); /* Find core and initialize register pointer */ - if (!ambapp_find_ahbslv(&ambapp_plb, VENDOR_GAISLER, GAISLER_SATCAN, &d)) { + if (!ambapp_find_ahbslv(ambapp_plb(), VENDOR_GAISLER, GAISLER_SATCAN, &d)) { printk("SatCAN: Failed to find SatCAN core\n\r"); return -1; } diff --git a/bsps/shared/grlib/slink/grslink.c b/bsps/shared/grlib/slink/grslink.c index 3ed3e3c370..7c1eb8e290 100644 --- a/bsps/shared/grlib/slink/grslink.c +++ b/bsps/shared/grlib/slink/grslink.c @@ -181,7 +181,7 @@ static int SLINK_getaddr(int *base, int *irq) { struct ambapp_apb_info c; - if (ambapp_find_apbslv(&ambapp_plb,VENDOR_GAISLER,GAISLER_SLINK,&c) == 1) { + if (ambapp_find_apbslv(ambapp_plb(),VENDOR_GAISLER,GAISLER_SLINK,&c) == 1) { *base = c.start; *irq = c.common.irq; return 0; @@ -215,7 +215,7 @@ static int SLINK_getsysfreq(void) struct ambapp_apb_info t; struct gptimer_regs *tregs; - if (ambapp_find_apbslv(&ambapp_plb,VENDOR_GAISLER,GAISLER_GPTIMER,&t)==1) { + if (ambapp_find_apbslv(ambapp_plb(),VENDOR_GAISLER,GAISLER_GPTIMER,&t)==1) { tregs = (struct gptimer_regs *)t.start; DBG("SLINK_getsysfreq returning %d\n", (tregs->scaler_reload+1)*1000*1000); -- cgit v1.2.3