Changeset 34ef6c7 in rtems


Ignore:
Timestamp:
Sep 5, 2008, 10:06:51 PM (12 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.9, 5, master
Children:
dad34779
Parents:
1e6aed25
Message:

2008-09-05 Joel Sherrill <joel.sherrill@…>

  • clock/ckinit.c: The Shared Memory Driver no longer requires the special IOCTL in Clock_control. This was a hack which has existed since before the Classic API Timer Manager was implemented. All implementations of and references to Clock_control were removed.
Location:
c/src/lib
Files:
30 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/i386/i386ex/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/i386/i386ex/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    129129}
    130130
    131 rtems_device_driver Clock_control(
    132   rtems_device_major_number major,
    133   rtems_device_minor_number minor,
    134   void *pargp
    135 )
    136 {
    137     rtems_libio_ioctl_args_t *args = pargp;
    138 
    139     if (args == 0)
    140         goto done;
    141 
    142     /*
    143      * This is hokey, but until we get a defined interface
    144      * to do this, it will just be this simple...
    145      */
    146 
    147     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    148     {
    149         Clock_isr();
    150     }
    151     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    152     {
    153       if (!BSP_install_rtems_irq_handler (&clockIrqData)) {
    154         printk("Error installing clock interrupt handler!\n");
    155         rtems_fatal_error_occurred(1);
    156       }
    157 #ifdef DEBUG
    158       else
    159         printk("Clock installed AGAIN\n");
    160 #endif
    161     }
    162 
    163 done:
    164     return RTEMS_SUCCESSFUL;
    165 }
    166 
    167131void Clock_exit()
    168132{
  • c/src/lib/libbsp/i386/ts_386ex/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    148148}
    149149
    150 rtems_device_driver Clock_control(
    151   rtems_device_major_number major,
    152   rtems_device_minor_number minor,
    153   void *pargp
    154 )
    155 {
    156     rtems_libio_ioctl_args_t *args = pargp;
    157 
    158     if (args == 0)
    159         goto done;
    160 
    161     /*
    162      * This is hokey, but until we get a defined interface
    163      * to do this, it will just be this simple...
    164      */
    165 
    166     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    167     {
    168         Clock_isr();
    169     }
    170     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    171     {
    172       if (!BSP_install_rtems_irq_handler (&clockIrqData)) {
    173         printk("Error installing clock interrupt handler!\n");
    174         rtems_fatal_error_occurred(1);
    175       }
    176 #ifdef BSP_DEBUG
    177       else
    178         printk("Clock installed AGAIN\n");
    179 #endif
    180     }
    181 
    182 done:
    183     return RTEMS_SUCCESSFUL;
    184 }
    185 
    186150void Clock_exit()
    187151{
  • c/src/lib/libbsp/m68k/gen68302/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/m68k/gen68302/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    122122  return RTEMS_SUCCESSFUL;
    123123}
    124 
    125 rtems_device_driver Clock_control(
    126   rtems_device_major_number major,
    127   rtems_device_minor_number minor,
    128   void *pargp
    129 )
    130 {
    131     uint32_t         isrlevel;
    132     rtems_libio_ioctl_args_t *args = pargp;
    133 
    134     if (args == 0)
    135         goto done;
    136 
    137     /*
    138      * This is hokey, but until we get a defined interface
    139      * to do this, it will just be this simple...
    140      */
    141 
    142     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    143     {
    144         Clock_isr( CLOCK_VECTOR);
    145     }
    146     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    147     {
    148       rtems_interrupt_disable( isrlevel );
    149        (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
    150       rtems_interrupt_enable( isrlevel );
    151     }
    152 
    153 done:
    154     return RTEMS_SUCCESSFUL;
    155 }
  • c/src/lib/libbsp/m68k/gen68340/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/m68k/gen68340/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    148148        return RTEMS_SUCCESSFUL;
    149149}
    150 
    151 /******************************************************
    152   Name: Clock_control
    153   Input parameters: major & minor number
    154   Output parameters:
    155   Description:
    156  *****************************************************/
    157 rtems_device_driver Clock_control(
    158         rtems_device_major_number major,
    159         rtems_device_minor_number minor,
    160         void *pargp
    161 )
    162 {
    163         uint32_t         isrlevel;
    164         rtems_libio_ioctl_args_t *args = pargp;
    165 
    166         if (args) {
    167                 /*
    168                  * This is hokey, but until we get a defined interface
    169                  * to do this, it will just be this simple...
    170                  */
    171                 if (args->command == rtems_build_name('I', 'S', 'R', ' ')) {
    172                         Clock_isr( CLOCK_VECTOR);
    173                 }
    174                 else if (args->command == rtems_build_name('N', 'E', 'W', ' ')) {
    175                         rtems_interrupt_disable( isrlevel );
    176                          (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
    177                         rtems_interrupt_enable( isrlevel );
    178                 }
    179         }
    180         return RTEMS_SUCCESSFUL;
    181 }
  • c/src/lib/libbsp/m68k/idp/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/m68k/idp/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    158158  return RTEMS_SUCCESSFUL;
    159159}
    160 
    161 rtems_device_driver Clock_control(
    162   rtems_device_major_number major,
    163   rtems_device_minor_number minor,
    164   void *pargp
    165 )
    166 {
    167     uint32_t         isrlevel;
    168     rtems_libio_ioctl_args_t *args = pargp;
    169 
    170     if (args == 0)
    171         goto done;
    172 
    173     /*
    174      * This is hokey, but until we get a defined interface
    175      * to do this, it will just be this simple...
    176      */
    177 
    178     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    179     {
    180         Clock_isr(CLOCK_VECTOR);
    181     }
    182     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    183     {
    184       rtems_interrupt_disable( isrlevel );
    185        (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
    186       rtems_interrupt_enable( isrlevel );
    187     }
    188 
    189 done:
    190     return RTEMS_SUCCESSFUL;
    191 }
  • c/src/lib/libbsp/m68k/mrm332/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/m68k/mrm332/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    9595  return RTEMS_SUCCESSFUL;
    9696}
    97 
    98 rtems_device_driver Clock_control(
    99   rtems_device_major_number major,
    100   rtems_device_minor_number minor,
    101   void *pargp
    102 )
    103 {
    104     uint32_t         isrlevel;
    105     rtems_libio_ioctl_args_t *args = pargp;
    106 
    107     if (args == 0)
    108         goto done;
    109 
    110     /*
    111      * This is hokey, but until we get a defined interface
    112      * to do this, it will just be this simple...
    113      */
    114 
    115     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    116     {
    117         Clock_isr(CLOCK_VECTOR);
    118     }
    119     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    120     {
    121       rtems_interrupt_disable( isrlevel );
    122        (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
    123       rtems_interrupt_enable( isrlevel );
    124     }
    125 
    126 done:
    127     return RTEMS_SUCCESSFUL;
    128 }
  • c/src/lib/libbsp/m68k/mvme136/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/m68k/mvme136/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    134134  return RTEMS_SUCCESSFUL;
    135135}
    136 
    137 rtems_device_driver Clock_control(
    138   rtems_device_major_number major,
    139   rtems_device_minor_number minor,
    140   void *pargp
    141 )
    142 {
    143     uint32_t         isrlevel;
    144     rtems_libio_ioctl_args_t *args = pargp;
    145 
    146     if (args == 0)
    147         goto done;
    148 
    149     /*
    150      * This is hokey, but until we get a defined interface
    151      * to do this, it will just be this simple...
    152      */
    153 
    154     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    155     {
    156         Clock_isr(CLOCK_VECTOR);
    157     }
    158     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    159     {
    160       rtems_interrupt_disable( isrlevel );
    161        (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
    162       rtems_interrupt_enable( isrlevel );
    163     }
    164 
    165 done:
    166     return RTEMS_SUCCESSFUL;
    167 }
  • c/src/lib/libbsp/m68k/mvme147/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/m68k/mvme147/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    101101  return RTEMS_SUCCESSFUL;
    102102}
    103 
    104 rtems_device_driver Clock_control(
    105   rtems_device_major_number major,
    106   rtems_device_minor_number minor,
    107   void *pargp
    108 )
    109 {
    110     uint32_t         isrlevel;
    111     rtems_libio_ioctl_args_t *args = pargp;
    112 
    113     if (args == 0)
    114         goto done;
    115 
    116     /*
    117      * This is hokey, but until we get a defined interface
    118      * to do this, it will just be this simple...
    119      */
    120 
    121     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    122     {
    123         Clock_isr(TIMER_2_VECTOR);
    124     }
    125     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    126     {
    127       rtems_interrupt_disable( isrlevel );
    128        (void) set_vector( args->buffer, TIMER_2_VECTOR, 1 );
    129       rtems_interrupt_enable( isrlevel );
    130     }
    131 
    132 done:
    133     return RTEMS_SUCCESSFUL;
    134 }
  • c/src/lib/libbsp/m68k/mvme162/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/m68k/mvme162/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    107107  return RTEMS_SUCCESSFUL;
    108108}
    109 
    110 rtems_device_driver Clock_control(
    111   rtems_device_major_number major,
    112   rtems_device_minor_number minor,
    113   void *pargp
    114 )
    115 {
    116     uint32_t         isrlevel;
    117     rtems_libio_ioctl_args_t *args = pargp;
    118 
    119     if (args == 0)
    120         goto done;
    121 
    122     /*
    123      * This is hokey, but until we get a defined interface
    124      * to do this, it will just be this simple...
    125      */
    126 
    127     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    128     {
    129         Clock_isr(CLOCK_VECTOR);
    130     }
    131     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    132     {
    133       rtems_interrupt_disable( isrlevel );
    134        (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
    135       rtems_interrupt_enable( isrlevel );
    136     }
    137 
    138 done:
    139     return RTEMS_SUCCESSFUL;
    140 }
  • c/src/lib/libbsp/m68k/mvme167/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/m68k/mvme167/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    11/*  ckinit.c
    22 *
    3  *  Implementation of the Clock_control() and Clock_initialize() functions
     3 *  Implementation of the Clock_initialize() functions
    44 *  prototyped in rtems/c/src/lib/include/clockdrv.h.
    55 *
     
    222222  return RTEMS_SUCCESSFUL;
    223223}
    224 
    225 /*
    226  *  Clock_control().
    227  *  Prototyped in rtems/c/src/lib/include/clockdrv.h
    228  *
    229  *  Input parameters:
    230  *    major - clock device major number
    231  *    minor - clock device minor number
    232  *    parg  - pointer to optional device driver arguments
    233  *
    234  *  Output parameters:  NONE
    235  *
    236  *  Return values:
    237  *    rtems_device_driver status code
    238  */
    239 rtems_device_driver Clock_control(
    240   rtems_device_major_number major,
    241   rtems_device_minor_number minor,
    242   void *pargp)
    243 {
    244     uint32_t         isrlevel;
    245     rtems_libio_ioctl_args_t *args = pargp;
    246 
    247     if ( args == 0 )
    248         goto done;
    249 
    250     /*
    251      * This is hokey, but until we get a defined interface
    252      * to do this, it will just be this simple...
    253      */
    254     if ( args->command == rtems_build_name('I', 'S', 'R', ' ') )
    255     {
    256       VMEchip2_T2_isr( CLOCK_VECTOR );
    257     }
    258     else if ( args->command == rtems_build_name('N', 'E', 'W', ' ') )
    259     {
    260       rtems_interrupt_disable( isrlevel );
    261       set_vector( args->buffer, CLOCK_VECTOR, 1 );
    262       rtems_interrupt_enable( isrlevel );
    263     }
    264 
    265 done:
    266     return RTEMS_SUCCESSFUL;
    267 }
  • c/src/lib/libbsp/m68k/ods68302/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    123123  return RTEMS_SUCCESSFUL;
    124124}
    125 
    126 rtems_device_driver Clock_control(
    127   rtems_device_major_number major,
    128   rtems_device_minor_number minor,
    129   void *pargp
    130 )
    131 {
    132     uint32_t         isrlevel;
    133     rtems_libio_ioctl_args_t *args = pargp;
    134 
    135     if (args == 0)
    136         goto done;
    137 
    138     /*
    139      * This is hokey, but until we get a defined interface
    140      * to do this, it will just be this simple...
    141      */
    142 
    143     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    144     {
    145         Clock_isr( CLOCK_VECTOR);
    146     }
    147     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    148     {
    149       rtems_interrupt_disable( isrlevel );
    150        (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
    151       rtems_interrupt_enable( isrlevel );
    152     }
    153 
    154 done:
    155     return RTEMS_SUCCESSFUL;
    156 }
  • c/src/lib/libbsp/mips/hurricane/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/mips/hurricane/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    224224}
    225225
    226 rtems_device_driver Clock_control(
    227   rtems_device_major_number major,
    228   rtems_device_minor_number minor,
    229   void *pargp
    230 )
    231 {
    232     uint32_t isrlevel;
    233     rtems_libio_ioctl_args_t *args = pargp;
    234  
    235     if (args == 0)
    236         goto done;
    237  
    238     /*
    239      * This is hokey, but until we get a defined interface
    240      * to do this, it will just be this simple...
    241      */
    242  
    243     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    244     {
    245         Clock_isr(CLOCK_VECTOR);
    246     }
    247     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    248     {
    249       rtems_interrupt_disable( isrlevel );
    250       user_callback = (void (*)(void))args->buffer;
    251       (void) set_vector( User_Clock_isr, CLOCK_VECTOR, 1 );
    252       rtems_interrupt_enable( isrlevel );
    253     }
    254  
    255 done:
    256     return RTEMS_SUCCESSFUL;
    257 }
  • c/src/lib/libbsp/no_cpu/no_bsp/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libbsp/no_cpu/no_bsp/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    146146}
    147147
    148 rtems_device_driver Clock_control(
    149   rtems_device_major_number major,
    150   rtems_device_minor_number minor,
    151   void *pargp
    152 )
    153 {
    154     uint32_t         isrlevel;
    155     rtems_libio_ioctl_args_t *args = pargp;
    156 
    157     if (args == 0)
    158         goto done;
    159 
    160     /*
    161      * This is hokey, but until we get a defined interface
    162      * to do this, it will just be this simple...
    163      */
    164 
    165     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    166     {
    167         Clock_isr(CLOCK_VECTOR);
    168     }
    169     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    170     {
    171       rtems_interrupt_disable( isrlevel );
    172        (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
    173       rtems_interrupt_enable( isrlevel );
    174     }
    175 
    176 done:
    177     return RTEMS_SUCCESSFUL;
    178 }
  • c/src/lib/libbsp/sh/simsh4/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-08-31      Joel Sherrill <joel.sherrill@oarcorp.com>
    29
  • c/src/lib/libbsp/sh/simsh4/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    142142    return RTEMS_SUCCESSFUL;
    143143}
    144 
    145 /* Clock_control --
    146  *     I/O control (IOCTL) function for Clock driver. At this moment this
    147  *     just runs the interrupt handler or re-registers the interrupt handler
    148  *     on request.
    149  *
    150  * PARAMETERS:
    151  *     major - clock major device number
    152  *     minor - clock minor device number
    153  *     pargp - pointer to IOCTL arguments
    154  *
    155  * RETURNS:
    156  *     RTEMS status code
    157  */
    158 rtems_device_driver
    159 Clock_control(rtems_device_major_number major,
    160               rtems_device_minor_number minor,
    161               void *pargp)
    162 {
    163     uint32_t         isrlevel;
    164     rtems_libio_ioctl_args_t *args = pargp;
    165 
    166     if (args)
    167     {
    168         rtems_isr_entry  old_isr;
    169         /*
    170          * This is hokey, but until we get a defined interface
    171          * to do this, it will just be this simple...
    172          */
    173         if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    174         {
    175             Clock_isr(CLOCK_VECTOR);
    176         }
    177         else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    178         {
    179             rtems_interrupt_disable( isrlevel );
    180             rtems_interrupt_catch(Clock_isr, CLOCK_VECTOR, &old_isr);
    181             rtems_interrupt_enable( isrlevel );
    182         }
    183     }
    184     return RTEMS_SUCCESSFUL;
    185 }
  • c/src/lib/libcpu/mips/ChangeLog

    r1e6aed25 r34ef6c7  
     12008-09-05      Joel Sherrill <joel.sherrill@OARcorp.com>
     2
     3        * clock/ckinit.c: The Shared Memory Driver no longer requires the
     4        special IOCTL in Clock_control. This was a hack which has existed
     5        since before the Classic API Timer Manager was implemented. All
     6        implementations of and references to Clock_control were removed.
     7
    182008-09-05      Ralf Corsépius <ralf.corsepius@rtems.org>
    29
  • c/src/lib/libcpu/mips/clock/ckinit.c

    r1e6aed25 r34ef6c7  
    206206  return RTEMS_SUCCESSFUL;
    207207}
    208 
    209 rtems_device_driver Clock_control(
    210   rtems_device_major_number major,
    211   rtems_device_minor_number minor,
    212   void *pargp
    213 )
    214 {
    215     uint32_t   isrlevel;
    216     rtems_libio_ioctl_args_t *args = pargp;
    217  
    218     if (args == 0)
    219         goto done;
    220  
    221     /*
    222      * This is hokey, but until we get a defined interface
    223      * to do this, it will just be this simple...
    224      */
    225  
    226     if (args->command == rtems_build_name('I', 'S', 'R', ' '))
    227     {
    228         Clock_isr(CLOCK_VECTOR);
    229     }
    230     else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
    231     {
    232       rtems_interrupt_disable( isrlevel );
    233       user_callback = (void (*)(void))args->buffer;
    234       (void) set_vector( User_Clock_isr, CLOCK_VECTOR, 1 );
    235       rtems_interrupt_enable( isrlevel );
    236     }
    237  
    238 done:
    239     return RTEMS_SUCCESSFUL;
    240 }
Note: See TracChangeset for help on using the changeset viewer.