~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/dtc/libfdt/libfdt_env.h

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /scripts/dtc/libfdt/libfdt_env.h (Architecture ppc) and /scripts/dtc/libfdt/libfdt_env.h (Architecture sparc)


  1 /* SPDX-License-Identifier: (GPL-2.0-or-later       1 /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
  2 #ifndef LIBFDT_ENV_H                                2 #ifndef LIBFDT_ENV_H
  3 #define LIBFDT_ENV_H                                3 #define LIBFDT_ENV_H
  4 /*                                                  4 /*
  5  * libfdt - Flat Device Tree manipulation           5  * libfdt - Flat Device Tree manipulation
  6  * Copyright (C) 2006 David Gibson, IBM Corpor      6  * Copyright (C) 2006 David Gibson, IBM Corporation.
  7  * Copyright 2012 Kim Phillips, Freescale Semi      7  * Copyright 2012 Kim Phillips, Freescale Semiconductor.
  8  */                                                 8  */
  9                                                     9 
 10 #include <stdbool.h>                               10 #include <stdbool.h>
 11 #include <stddef.h>                                11 #include <stddef.h>
 12 #include <stdint.h>                                12 #include <stdint.h>
 13 #include <stdlib.h>                                13 #include <stdlib.h>
 14 #include <string.h>                                14 #include <string.h>
 15 #include <limits.h>                                15 #include <limits.h>
 16                                                    16 
 17 #ifdef __CHECKER__                                 17 #ifdef __CHECKER__
 18 #define FDT_FORCE __attribute__((force))           18 #define FDT_FORCE __attribute__((force))
 19 #define FDT_BITWISE __attribute__((bitwise))       19 #define FDT_BITWISE __attribute__((bitwise))
 20 #else                                              20 #else
 21 #define FDT_FORCE                                  21 #define FDT_FORCE
 22 #define FDT_BITWISE                                22 #define FDT_BITWISE
 23 #endif                                             23 #endif
 24                                                    24 
 25 typedef uint16_t FDT_BITWISE fdt16_t;              25 typedef uint16_t FDT_BITWISE fdt16_t;
 26 typedef uint32_t FDT_BITWISE fdt32_t;              26 typedef uint32_t FDT_BITWISE fdt32_t;
 27 typedef uint64_t FDT_BITWISE fdt64_t;              27 typedef uint64_t FDT_BITWISE fdt64_t;
 28                                                    28 
 29 #define EXTRACT_BYTE(x, n)      ((unsigned lon     29 #define EXTRACT_BYTE(x, n)      ((unsigned long long)((uint8_t *)&x)[n])
 30 #define CPU_TO_FDT16(x) ((EXTRACT_BYTE(x, 0) <     30 #define CPU_TO_FDT16(x) ((EXTRACT_BYTE(x, 0) << 8) | EXTRACT_BYTE(x, 1))
 31 #define CPU_TO_FDT32(x) ((EXTRACT_BYTE(x, 0) <     31 #define CPU_TO_FDT32(x) ((EXTRACT_BYTE(x, 0) << 24) | (EXTRACT_BYTE(x, 1) << 16) | \
 32                          (EXTRACT_BYTE(x, 2) <     32                          (EXTRACT_BYTE(x, 2) << 8) | EXTRACT_BYTE(x, 3))
 33 #define CPU_TO_FDT64(x) ((EXTRACT_BYTE(x, 0) <     33 #define CPU_TO_FDT64(x) ((EXTRACT_BYTE(x, 0) << 56) | (EXTRACT_BYTE(x, 1) << 48) | \
 34                          (EXTRACT_BYTE(x, 2) <     34                          (EXTRACT_BYTE(x, 2) << 40) | (EXTRACT_BYTE(x, 3) << 32) | \
 35                          (EXTRACT_BYTE(x, 4) <     35                          (EXTRACT_BYTE(x, 4) << 24) | (EXTRACT_BYTE(x, 5) << 16) | \
 36                          (EXTRACT_BYTE(x, 6) <     36                          (EXTRACT_BYTE(x, 6) << 8) | EXTRACT_BYTE(x, 7))
 37                                                    37 
 38 static inline uint16_t fdt16_to_cpu(fdt16_t x)     38 static inline uint16_t fdt16_to_cpu(fdt16_t x)
 39 {                                                  39 {
 40         return (FDT_FORCE uint16_t)CPU_TO_FDT1     40         return (FDT_FORCE uint16_t)CPU_TO_FDT16(x);
 41 }                                                  41 }
 42 static inline fdt16_t cpu_to_fdt16(uint16_t x)     42 static inline fdt16_t cpu_to_fdt16(uint16_t x)
 43 {                                                  43 {
 44         return (FDT_FORCE fdt16_t)CPU_TO_FDT16     44         return (FDT_FORCE fdt16_t)CPU_TO_FDT16(x);
 45 }                                                  45 }
 46                                                    46 
 47 static inline uint32_t fdt32_to_cpu(fdt32_t x)     47 static inline uint32_t fdt32_to_cpu(fdt32_t x)
 48 {                                                  48 {
 49         return (FDT_FORCE uint32_t)CPU_TO_FDT3     49         return (FDT_FORCE uint32_t)CPU_TO_FDT32(x);
 50 }                                                  50 }
 51 static inline fdt32_t cpu_to_fdt32(uint32_t x)     51 static inline fdt32_t cpu_to_fdt32(uint32_t x)
 52 {                                                  52 {
 53         return (FDT_FORCE fdt32_t)CPU_TO_FDT32     53         return (FDT_FORCE fdt32_t)CPU_TO_FDT32(x);
 54 }                                                  54 }
 55                                                    55 
 56 static inline uint64_t fdt64_to_cpu(fdt64_t x)     56 static inline uint64_t fdt64_to_cpu(fdt64_t x)
 57 {                                                  57 {
 58         return (FDT_FORCE uint64_t)CPU_TO_FDT6     58         return (FDT_FORCE uint64_t)CPU_TO_FDT64(x);
 59 }                                                  59 }
 60 static inline fdt64_t cpu_to_fdt64(uint64_t x)     60 static inline fdt64_t cpu_to_fdt64(uint64_t x)
 61 {                                                  61 {
 62         return (FDT_FORCE fdt64_t)CPU_TO_FDT64     62         return (FDT_FORCE fdt64_t)CPU_TO_FDT64(x);
 63 }                                                  63 }
 64 #undef CPU_TO_FDT64                                64 #undef CPU_TO_FDT64
 65 #undef CPU_TO_FDT32                                65 #undef CPU_TO_FDT32
 66 #undef CPU_TO_FDT16                                66 #undef CPU_TO_FDT16
 67 #undef EXTRACT_BYTE                                67 #undef EXTRACT_BYTE
 68                                                    68 
 69 #ifdef __APPLE__                                   69 #ifdef __APPLE__
 70 #include <AvailabilityMacros.h>                    70 #include <AvailabilityMacros.h>
 71                                                    71 
 72 /* strnlen() is not available on Mac OS < 10.7     72 /* strnlen() is not available on Mac OS < 10.7 */
 73 # if !defined(MAC_OS_X_VERSION_10_7) || (MAC_O     73 # if !defined(MAC_OS_X_VERSION_10_7) || (MAC_OS_X_VERSION_MAX_ALLOWED < \
 74                                          MAC_O     74                                          MAC_OS_X_VERSION_10_7)
 75                                                    75 
 76 #define strnlen fdt_strnlen                        76 #define strnlen fdt_strnlen
 77                                                    77 
 78 /*                                                 78 /*
 79  * fdt_strnlen: returns the length of a string     79  * fdt_strnlen: returns the length of a string or max_count - which ever is
 80  * smallest.                                       80  * smallest.
 81  * Input 1 string: the string whose size is to     81  * Input 1 string: the string whose size is to be determined
 82  * Input 2 max_count: the maximum value return     82  * Input 2 max_count: the maximum value returned by this function
 83  * Output: length of the string or max_count (     83  * Output: length of the string or max_count (the smallest of the two)
 84  */                                                84  */
 85 static inline size_t fdt_strnlen(const char *s     85 static inline size_t fdt_strnlen(const char *string, size_t max_count)
 86 {                                                  86 {
 87     const char *p = memchr(string, 0, max_coun     87     const char *p = memchr(string, 0, max_count);
 88     return p ? p - string : max_count;             88     return p ? p - string : max_count;
 89 }                                                  89 }
 90                                                    90 
 91 #endif /* !defined(MAC_OS_X_VERSION_10_7) || (     91 #endif /* !defined(MAC_OS_X_VERSION_10_7) || (MAC_OS_X_VERSION_MAX_ALLOWED <
 92           MAC_OS_X_VERSION_10_7) */                92           MAC_OS_X_VERSION_10_7) */
 93                                                    93 
 94 #endif /* __APPLE__ */                             94 #endif /* __APPLE__ */
 95                                                    95 
 96 #endif /* LIBFDT_ENV_H */                          96 #endif /* LIBFDT_ENV_H */
 97                                                    97 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php