1*9c2cb97eSBin Meng // SPDX-License-Identifier: GPL-2.0 20dd9c7a9SMike Dunn 3*9c2cb97eSBin Meng #ifndef CONFIG_HAVE_ARCH_BITREVERSE 40dd9c7a9SMike Dunn #include <linux/types.h> 5*9c2cb97eSBin Meng #include <linux/compat.h> 60dd9c7a9SMike Dunn #include <linux/bitrev.h> 70dd9c7a9SMike Dunn 8*9c2cb97eSBin Meng MODULE_AUTHOR("Akinobu Mita <akinobu.mita@gmail.com>"); 9*9c2cb97eSBin Meng MODULE_DESCRIPTION("Bit ordering reversal functions"); 10*9c2cb97eSBin Meng MODULE_LICENSE("GPL"); 11*9c2cb97eSBin Meng 120dd9c7a9SMike Dunn const u8 byte_rev_table[256] = { 130dd9c7a9SMike Dunn 0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0, 140dd9c7a9SMike Dunn 0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0, 150dd9c7a9SMike Dunn 0x08, 0x88, 0x48, 0xc8, 0x28, 0xa8, 0x68, 0xe8, 160dd9c7a9SMike Dunn 0x18, 0x98, 0x58, 0xd8, 0x38, 0xb8, 0x78, 0xf8, 170dd9c7a9SMike Dunn 0x04, 0x84, 0x44, 0xc4, 0x24, 0xa4, 0x64, 0xe4, 180dd9c7a9SMike Dunn 0x14, 0x94, 0x54, 0xd4, 0x34, 0xb4, 0x74, 0xf4, 190dd9c7a9SMike Dunn 0x0c, 0x8c, 0x4c, 0xcc, 0x2c, 0xac, 0x6c, 0xec, 200dd9c7a9SMike Dunn 0x1c, 0x9c, 0x5c, 0xdc, 0x3c, 0xbc, 0x7c, 0xfc, 210dd9c7a9SMike Dunn 0x02, 0x82, 0x42, 0xc2, 0x22, 0xa2, 0x62, 0xe2, 220dd9c7a9SMike Dunn 0x12, 0x92, 0x52, 0xd2, 0x32, 0xb2, 0x72, 0xf2, 230dd9c7a9SMike Dunn 0x0a, 0x8a, 0x4a, 0xca, 0x2a, 0xaa, 0x6a, 0xea, 240dd9c7a9SMike Dunn 0x1a, 0x9a, 0x5a, 0xda, 0x3a, 0xba, 0x7a, 0xfa, 250dd9c7a9SMike Dunn 0x06, 0x86, 0x46, 0xc6, 0x26, 0xa6, 0x66, 0xe6, 260dd9c7a9SMike Dunn 0x16, 0x96, 0x56, 0xd6, 0x36, 0xb6, 0x76, 0xf6, 270dd9c7a9SMike Dunn 0x0e, 0x8e, 0x4e, 0xce, 0x2e, 0xae, 0x6e, 0xee, 280dd9c7a9SMike Dunn 0x1e, 0x9e, 0x5e, 0xde, 0x3e, 0xbe, 0x7e, 0xfe, 290dd9c7a9SMike Dunn 0x01, 0x81, 0x41, 0xc1, 0x21, 0xa1, 0x61, 0xe1, 300dd9c7a9SMike Dunn 0x11, 0x91, 0x51, 0xd1, 0x31, 0xb1, 0x71, 0xf1, 310dd9c7a9SMike Dunn 0x09, 0x89, 0x49, 0xc9, 0x29, 0xa9, 0x69, 0xe9, 320dd9c7a9SMike Dunn 0x19, 0x99, 0x59, 0xd9, 0x39, 0xb9, 0x79, 0xf9, 330dd9c7a9SMike Dunn 0x05, 0x85, 0x45, 0xc5, 0x25, 0xa5, 0x65, 0xe5, 340dd9c7a9SMike Dunn 0x15, 0x95, 0x55, 0xd5, 0x35, 0xb5, 0x75, 0xf5, 350dd9c7a9SMike Dunn 0x0d, 0x8d, 0x4d, 0xcd, 0x2d, 0xad, 0x6d, 0xed, 360dd9c7a9SMike Dunn 0x1d, 0x9d, 0x5d, 0xdd, 0x3d, 0xbd, 0x7d, 0xfd, 370dd9c7a9SMike Dunn 0x03, 0x83, 0x43, 0xc3, 0x23, 0xa3, 0x63, 0xe3, 380dd9c7a9SMike Dunn 0x13, 0x93, 0x53, 0xd3, 0x33, 0xb3, 0x73, 0xf3, 390dd9c7a9SMike Dunn 0x0b, 0x8b, 0x4b, 0xcb, 0x2b, 0xab, 0x6b, 0xeb, 400dd9c7a9SMike Dunn 0x1b, 0x9b, 0x5b, 0xdb, 0x3b, 0xbb, 0x7b, 0xfb, 410dd9c7a9SMike Dunn 0x07, 0x87, 0x47, 0xc7, 0x27, 0xa7, 0x67, 0xe7, 420dd9c7a9SMike Dunn 0x17, 0x97, 0x57, 0xd7, 0x37, 0xb7, 0x77, 0xf7, 430dd9c7a9SMike Dunn 0x0f, 0x8f, 0x4f, 0xcf, 0x2f, 0xaf, 0x6f, 0xef, 440dd9c7a9SMike Dunn 0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff, 450dd9c7a9SMike Dunn }; 46*9c2cb97eSBin Meng EXPORT_SYMBOL_GPL(byte_rev_table); 470dd9c7a9SMike Dunn 48*9c2cb97eSBin Meng #endif /* CONFIG_HAVE_ARCH_BITREVERSE */ 49