Changeset 7d60cf5 in mainline for kernel/arch/sparc64/include/asm.h


Ignore:
Timestamp:
2009-02-19T21:58:37Z (15 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5cb223f
Parents:
4b44099d
Message:

Introduce ioport8_t, ioport16_t and ioport32_t. These types are to be used with
pio_read_n() and pio_write_n() functions. This breaks everything.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/asm.h

    r4b44099d r7d60cf5  
    4545#include <arch/barrier.h>
    4646
    47 static inline void pio_write_8(ioport_t port, uint8_t v)
    48 {
    49         *((volatile uint8_t *)(port)) = v;
    50         memory_barrier();
    51 }
    52 
    53 static inline void pio_write_16(ioport_t port, uint16_t v)
    54 {
    55         *((volatile uint16_t *)(port)) = v;
    56         memory_barrier();
    57 }
    58 
    59 static inline void pio_write_32(ioport_t port, uint32_t v)
    60 {
    61         *((volatile uint32_t *)(port)) = v;
    62         memory_barrier();
    63 }
    64 
    65 static inline uint8_t pio_read_8(ioport_t port)
     47static inline void pio_write_8(ioport8_t *port, uint8_t v)
     48{
     49        *port = v;
     50        memory_barrier();
     51}
     52
     53static inline void pio_write_16(ioport16_t *port, uint16_t v)
     54{
     55        *port = v;
     56        memory_barrier();
     57}
     58
     59static inline void pio_write_32(ioport32_t *port, uint32_t v)
     60{
     61        *port = v;
     62        memory_barrier();
     63}
     64
     65static inline uint8_t pio_read_8(ioport8_t *port)
    6666{
    6767        uint8_t rv;
    6868
    69         rv = *((volatile uint8_t *)(port));
     69        rv = *port;
    7070        memory_barrier();
    7171
     
    7373}
    7474
    75 static inline uint16_t pio_read_16(ioport_t port)
     75static inline uint16_t pio_read_16(ioport16_t *port)
    7676{
    7777        uint16_t rv;
    7878
    79         rv = *((volatile uint16_t *)(port));
     79        rv = *port;
    8080        memory_barrier();
    8181
     
    8383}
    8484
    85 static inline uint32_t pio_read_32(ioport_t port)
     85static inline uint32_t pio_read_32(ioport32_t *port)
    8686{
    8787        uint32_t rv;
    8888
    89         rv = *((volatile uint32_t *)(port));
     89        rv = *port;
    9090        memory_barrier();
    9191
Note: See TracChangeset for help on using the changeset viewer.