summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-07-04 11:06:53 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-07-04 11:06:53 +0200
commit0057e38f9d2af5a78c0da8ee24ace790b3e6bb81 (patch)
treec8f29e9e27c7a5e868cfc5be3c227a4ad42ae691
parentnet: Fix byte order issue for getnameinfo() (diff)
downloadrtems-0057e38f9d2af5a78c0da8ee24ace790b3e6bb81.tar.bz2
libchip: Simplify RTC driver
-rw-r--r--c/src/lib/libbsp/arm/altera-cyclone-v/rtc/rtc.c2
-rw-r--r--c/src/lib/libbsp/arm/beagle/rtc.c1
-rw-r--r--c/src/lib/libbsp/arm/lpc176x/rtc/rtc-config.c2
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/rtc/rtc-config.c2
-rw-r--r--c/src/lib/libbsp/arm/lpc32xx/rtc/rtc-config.c2
-rw-r--r--c/src/lib/libbsp/i386/pc386/clock/todcfg.c2
-rw-r--r--c/src/lib/libbsp/m68k/mcf5206elite/tod/todcfg.c2
-rw-r--r--c/src/lib/libbsp/powerpc/beatnik/tod/todcfg.c2
-rw-r--r--c/src/lib/libbsp/powerpc/gen5200/tod/todcfg.c2
-rw-r--r--c/src/lib/libbsp/powerpc/mvme3100/tod/todcfg.c2
-rw-r--r--c/src/lib/libbsp/powerpc/mvme5500/tod/todcfg.c2
-rw-r--r--c/src/lib/libbsp/powerpc/qoriq/rtc/rtc-config.c2
-rw-r--r--c/src/lib/libbsp/powerpc/shared/tod/todcfg.c2
-rw-r--r--c/src/lib/libbsp/shared/tod.c27
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 <rtems/bspIo.h>
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 );