From 0057e38f9d2af5a78c0da8ee24ace790b3e6bb81 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 4 Jul 2016 11:06:53 +0200 Subject: libchip: Simplify RTC driver --- c/src/lib/libbsp/arm/altera-cyclone-v/rtc/rtc.c | 2 -- c/src/lib/libbsp/arm/beagle/rtc.c | 1 - c/src/lib/libbsp/arm/lpc176x/rtc/rtc-config.c | 2 -- c/src/lib/libbsp/arm/lpc24xx/rtc/rtc-config.c | 2 -- c/src/lib/libbsp/arm/lpc32xx/rtc/rtc-config.c | 2 -- c/src/lib/libbsp/i386/pc386/clock/todcfg.c | 2 -- c/src/lib/libbsp/m68k/mcf5206elite/tod/todcfg.c | 2 -- c/src/lib/libbsp/powerpc/beatnik/tod/todcfg.c | 2 -- c/src/lib/libbsp/powerpc/gen5200/tod/todcfg.c | 2 -- c/src/lib/libbsp/powerpc/mvme3100/tod/todcfg.c | 2 -- c/src/lib/libbsp/powerpc/mvme5500/tod/todcfg.c | 2 -- c/src/lib/libbsp/powerpc/qoriq/rtc/rtc-config.c | 2 -- c/src/lib/libbsp/powerpc/shared/tod/todcfg.c | 2 -- c/src/lib/libbsp/shared/tod.c | 27 ++++++++++++------------- 14 files changed, 13 insertions(+), 39 deletions(-) diff --git a/c/src/lib/libbsp/arm/altera-cyclone-v/rtc/rtc.c b/c/src/lib/libbsp/arm/altera-cyclone-v/rtc/rtc.c index aab39b321f..20b9ae8c74 100644 --- a/c/src/lib/libbsp/arm/altera-cyclone-v/rtc/rtc.c +++ b/c/src/lib/libbsp/arm/altera-cyclone-v/rtc/rtc.c @@ -808,8 +808,6 @@ const rtc_fns altera_cyclone_v_m41st87_ops = size_t RTC_Count = ALTERA_CYCLONE_V_RTC_NUMBER; -rtems_device_minor_number RTC_Minor = 0; - rtc_tbl RTC_Table[ALTERA_CYCLONE_V_RTC_NUMBER] = { diff --git a/c/src/lib/libbsp/arm/beagle/rtc.c b/c/src/lib/libbsp/arm/beagle/rtc.c index 342caf7fa4..abce5df1ab 100644 --- a/c/src/lib/libbsp/arm/beagle/rtc.c +++ b/c/src/lib/libbsp/arm/beagle/rtc.c @@ -29,7 +29,6 @@ #define dec(a) (((a / 10) << 4) | (a % 10)) #define WRITE_WAIT_MAX_COUNT 10000 -rtems_device_minor_number RTC_Minor; size_t RTC_Count = 1; static void rtc_write_enable(void); diff --git a/c/src/lib/libbsp/arm/lpc176x/rtc/rtc-config.c b/c/src/lib/libbsp/arm/lpc176x/rtc/rtc-config.c index 22c76387ea..7d1512c01a 100644 --- a/c/src/lib/libbsp/arm/lpc176x/rtc/rtc-config.c +++ b/c/src/lib/libbsp/arm/lpc176x/rtc/rtc-config.c @@ -107,8 +107,6 @@ const rtc_fns lpc176x_rtc_ops = { size_t RTC_Count = LPC176X_RTC_NUMBER; -rtems_device_minor_number RTC_Minor = 0; - /** * @brief Table to describes the rtc device. */ diff --git a/c/src/lib/libbsp/arm/lpc24xx/rtc/rtc-config.c b/c/src/lib/libbsp/arm/lpc24xx/rtc/rtc-config.c index 3a25f5d71d..c154a98196 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/rtc/rtc-config.c +++ b/c/src/lib/libbsp/arm/lpc24xx/rtc/rtc-config.c @@ -81,8 +81,6 @@ const rtc_fns lpc24xx_rtc_ops = { size_t RTC_Count = LPC24XX_RTC_NUMBER; -rtems_device_minor_number RTC_Minor = 0; - rtc_tbl RTC_Table [LPC24XX_RTC_NUMBER] = { { .sDeviceName = "/dev/rtc", diff --git a/c/src/lib/libbsp/arm/lpc32xx/rtc/rtc-config.c b/c/src/lib/libbsp/arm/lpc32xx/rtc/rtc-config.c index cdae8254df..bd225248b3 100644 --- a/c/src/lib/libbsp/arm/lpc32xx/rtc/rtc-config.c +++ b/c/src/lib/libbsp/arm/lpc32xx/rtc/rtc-config.c @@ -127,8 +127,6 @@ const rtc_fns lpc32xx_rtc_ops = { size_t RTC_Count = LPC32XX_RTC_COUNT; -rtems_device_minor_number RTC_Minor = 0; - rtc_tbl RTC_Table [LPC32XX_RTC_COUNT] = { { .sDeviceName = "/dev/rtc", diff --git a/c/src/lib/libbsp/i386/pc386/clock/todcfg.c b/c/src/lib/libbsp/i386/pc386/clock/todcfg.c index f53e1c2449..7a1d36900a 100644 --- a/c/src/lib/libbsp/i386/pc386/clock/todcfg.c +++ b/c/src/lib/libbsp/i386/pc386/clock/todcfg.c @@ -30,5 +30,3 @@ rtc_tbl RTC_Table[] = { #define NUM_RTCS (sizeof(RTC_Table)/sizeof(rtc_tbl)) size_t RTC_Count = NUM_RTCS; - -rtems_device_minor_number RTC_Minor; diff --git a/c/src/lib/libbsp/m68k/mcf5206elite/tod/todcfg.c b/c/src/lib/libbsp/m68k/mcf5206elite/tod/todcfg.c index 548f3fa30b..aacb8575bd 100644 --- a/c/src/lib/libbsp/m68k/mcf5206elite/tod/todcfg.c +++ b/c/src/lib/libbsp/m68k/mcf5206elite/tod/todcfg.c @@ -41,8 +41,6 @@ rtc_tbl RTC_Table[] = { size_t RTC_Count = NUM_RTCS; -rtems_device_minor_number RTC_Minor; - /* mcf5206elite_ds1307_probe -- * RTC presence probe function. Return TRUE, if device is present. * Device presence checked by probe access to RTC device over I2C bus. diff --git a/c/src/lib/libbsp/powerpc/beatnik/tod/todcfg.c b/c/src/lib/libbsp/powerpc/beatnik/tod/todcfg.c index ea5b0563a1..e8faccc840 100644 --- a/c/src/lib/libbsp/powerpc/beatnik/tod/todcfg.c +++ b/c/src/lib/libbsp/powerpc/beatnik/tod/todcfg.c @@ -30,5 +30,3 @@ rtc_tbl RTC_Table[] = { #define NUM_RTCS (sizeof(RTC_Table)/sizeof(rtc_tbl)) size_t RTC_Count = NUM_RTCS; - -rtems_device_minor_number RTC_Minor; diff --git a/c/src/lib/libbsp/powerpc/gen5200/tod/todcfg.c b/c/src/lib/libbsp/powerpc/gen5200/tod/todcfg.c index 2460b8fe55..2120fa3362 100644 --- a/c/src/lib/libbsp/powerpc/gen5200/tod/todcfg.c +++ b/c/src/lib/libbsp/powerpc/gen5200/tod/todcfg.c @@ -63,8 +63,6 @@ rtc_tbl RTC_Table[] = { size_t RTC_Count = NUM_RTCS; -rtems_device_minor_number RTC_Minor; - /* mpc5200_pcf8563_probe -- * RTC presence probe function. Return TRUE, if device is present. * Device presence checked by probe access to RTC device over I2C bus. diff --git a/c/src/lib/libbsp/powerpc/mvme3100/tod/todcfg.c b/c/src/lib/libbsp/powerpc/mvme3100/tod/todcfg.c index b8327a96ee..939bea0258 100644 --- a/c/src/lib/libbsp/powerpc/mvme3100/tod/todcfg.c +++ b/c/src/lib/libbsp/powerpc/mvme3100/tod/todcfg.c @@ -22,5 +22,3 @@ rtc_tbl RTC_Table[] = { #define NUM_RTCS (sizeof(RTC_Table)/sizeof(rtc_tbl)) size_t RTC_Count = NUM_RTCS; - -rtems_device_minor_number RTC_Minor; diff --git a/c/src/lib/libbsp/powerpc/mvme5500/tod/todcfg.c b/c/src/lib/libbsp/powerpc/mvme5500/tod/todcfg.c index a1e3c526f6..39089db710 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/tod/todcfg.c +++ b/c/src/lib/libbsp/powerpc/mvme5500/tod/todcfg.c @@ -30,5 +30,3 @@ rtc_tbl RTC_Table[] = { #define NUM_RTCS (sizeof(RTC_Table)/sizeof(rtc_tbl)) size_t RTC_Count = NUM_RTCS; - -rtems_device_minor_number RTC_Minor; diff --git a/c/src/lib/libbsp/powerpc/qoriq/rtc/rtc-config.c b/c/src/lib/libbsp/powerpc/qoriq/rtc/rtc-config.c index ce0c1758e8..c3e39e0830 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/rtc/rtc-config.c +++ b/c/src/lib/libbsp/powerpc/qoriq/rtc/rtc-config.c @@ -52,8 +52,6 @@ const rtc_fns qoriq_rtc_ops = { size_t RTC_Count = RTC_COUNT; -rtems_device_minor_number RTC_Minor = 0; - rtc_tbl RTC_Table [RTC_COUNT] = { { .sDeviceName = "/dev/rtc", diff --git a/c/src/lib/libbsp/powerpc/shared/tod/todcfg.c b/c/src/lib/libbsp/powerpc/shared/tod/todcfg.c index 2859ac89f5..17ef18d5b5 100644 --- a/c/src/lib/libbsp/powerpc/shared/tod/todcfg.c +++ b/c/src/lib/libbsp/powerpc/shared/tod/todcfg.c @@ -44,8 +44,6 @@ rtc_tbl RTC_Table[] = { size_t RTC_Count = NUM_RTCS; -rtems_device_minor_number RTC_Minor; - #if !defined(mvme2100) #include void mvmertc_set_register( diff --git a/c/src/lib/libbsp/shared/tod.c b/c/src/lib/libbsp/shared/tod.c index 2a69bc95b1..560d2ea33f 100644 --- a/c/src/lib/libbsp/shared/tod.c +++ b/c/src/lib/libbsp/shared/tod.c @@ -18,12 +18,12 @@ /* * Configuration Information */ -extern size_t RTC_Count; -extern rtems_device_minor_number RTC_Minor; +static rtems_device_minor_number RTC_Minor = UINT32_MAX; -int RTC_Present; - -extern void setRealTimeToRTEMS(void); +static bool RTC_Is_present(void) +{ + return RTC_Minor != UINT32_MAX; +} /* * rtc_initialize @@ -50,12 +50,11 @@ rtems_device_driver rtc_initialize( * Use this device as the primary RTC */ RTC_Minor = minor; - RTC_Present = 1; break; } } - if ( !RTC_Present ) { + if ( !RTC_Is_present() ) { /* * Failed to find an RTC -- this is not a fatal error. */ @@ -116,7 +115,7 @@ rtems_device_driver rtc_read( rw->offset = 0; rw->bytes_moved = 0; - if (!RTC_Present) { + if (!RTC_Is_present()) { return RTEMS_NOT_CONFIGURED; } @@ -150,7 +149,7 @@ rtems_device_driver rtc_write( rw->offset = 0; rw->bytes_moved = 0; - if (!RTC_Present) { + if (!RTC_Is_present()) { return RTEMS_NOT_CONFIGURED; } @@ -205,7 +204,7 @@ void setRealTimeToRTEMS() { rtems_time_of_day rtc_tod; - if (!RTC_Present) + if (!RTC_Is_present()) return; RTC_Table[RTC_Minor].pDeviceFns->deviceGetTime(RTC_Minor, &rtc_tod); @@ -221,7 +220,7 @@ void setRealTimeFromRTEMS(void) { rtems_time_of_day rtems_tod; - if (!RTC_Present) + if (!RTC_Is_present()) return; rtems_clock_get_tod( &rtems_tod ); @@ -237,7 +236,7 @@ void getRealTime( rtems_time_of_day *tod ) { - if (!RTC_Present) + if (!RTC_Is_present()) return; RTC_Table[RTC_Minor].pDeviceFns->deviceGetTime(RTC_Minor, tod); @@ -252,7 +251,7 @@ int setRealTime( const rtems_time_of_day *tod ) { - if (!RTC_Present) + if (!RTC_Is_present()) return -1; if ( !_TOD_Validate(tod) ) @@ -275,7 +274,7 @@ int checkRealTime(void) uint32_t rtems_time; uint32_t rtc_time; - if (!RTC_Present) + if (!RTC_Is_present()) return -1; rtems_clock_get_tod( &rtems_tod ); -- cgit v1.2.3