linux/drivers/ieee1394/ieee1394_types.h
<<
>>
Prefs
   1#ifndef _IEEE1394_TYPES_H
   2#define _IEEE1394_TYPES_H
   3
   4#include <linux/kernel.h>
   5#include <linux/string.h>
   6#include <linux/types.h>
   7#include <asm/byteorder.h>
   8
   9typedef u32 quadlet_t;
  10typedef u64 octlet_t;
  11typedef u16 nodeid_t;
  12
  13typedef u8  byte_t;
  14typedef u64 nodeaddr_t;
  15typedef u16 arm_length_t;
  16
  17#define BUS_MASK  0xffc0
  18#define BUS_SHIFT 6
  19#define NODE_MASK 0x003f
  20#define LOCAL_BUS 0xffc0
  21#define ALL_NODES 0x003f
  22
  23#define NODEID_TO_BUS(nodeid)   ((nodeid & BUS_MASK) >> BUS_SHIFT)
  24#define NODEID_TO_NODE(nodeid)  (nodeid & NODE_MASK)
  25
  26/* Can be used to consistently print a node/bus ID. */
  27#define NODE_BUS_FMT            "%d-%02d:%04d"
  28#define NODE_BUS_ARGS(__host, __nodeid) \
  29        __host->id, NODEID_TO_NODE(__nodeid), NODEID_TO_BUS(__nodeid)
  30
  31#define HPSB_PRINT(level, fmt, args...) \
  32        printk(level "ieee1394: " fmt "\n" , ## args)
  33
  34#define HPSB_DEBUG(fmt, args...)        HPSB_PRINT(KERN_DEBUG, fmt , ## args)
  35#define HPSB_INFO(fmt, args...)         HPSB_PRINT(KERN_INFO, fmt , ## args)
  36#define HPSB_NOTICE(fmt, args...)       HPSB_PRINT(KERN_NOTICE, fmt , ## args)
  37#define HPSB_WARN(fmt, args...)         HPSB_PRINT(KERN_WARNING, fmt , ## args)
  38#define HPSB_ERR(fmt, args...)          HPSB_PRINT(KERN_ERR, fmt , ## args)
  39
  40#ifdef CONFIG_IEEE1394_VERBOSEDEBUG
  41#define HPSB_VERBOSE(fmt, args...)      HPSB_PRINT(KERN_DEBUG, fmt , ## args)
  42#define HPSB_DEBUG_TLABELS
  43#else
  44#define HPSB_VERBOSE(fmt, args...)      do {} while (0)
  45#endif
  46
  47#ifdef __BIG_ENDIAN
  48
  49static inline void *memcpy_le32(u32 *dest, const u32 *__src, size_t count)
  50{
  51        void *tmp = dest;
  52        u32 *src = (u32 *)__src;
  53
  54        count /= 4;
  55        while (count--)
  56                *dest++ = swab32p(src++);
  57        return tmp;
  58}
  59
  60#else
  61
  62static __inline__ void *memcpy_le32(u32 *dest, const u32 *src, size_t count)
  63{
  64        return memcpy(dest, src, count);
  65}
  66
  67#endif /* __BIG_ENDIAN */
  68
  69#endif /* _IEEE1394_TYPES_H */
  70
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.