Comment 18 for bug 172427

Revision history for this message
In , Etienne Bersac (bersace03) wrote :

Hi,

Seems there is a bug in src/radeon.h :

#if defined(__powerpc__)
typedef enum {
       RADEON_MAC_IBOOK = 0x00000001,
       RADEON_MAC_POWERBOOK_EXTERNAL = 0x00000002,
       RADEON_MAC_POWERBOOK_INTERNAL = 0x00000004,
       RADEON_MAC_POWERBOOK_VGA = 0x00000008,
       RADEON_MAC_MINI_EXTERNAL = 0x00000016,
       RADEON_MAC_MINI_INTERNAL = 0x00000032,
} RADEONMacModel;
#endif

I don't understand why the values "seems" decimal power of 2, while there are declared as hexadecimal.

This should be either :

#if defined(__powerpc__)
typedef enum {
       RADEON_MAC_IBOOK = 00000001,
       RADEON_MAC_POWERBOOK_EXTERNAL = 00000002,
       RADEON_MAC_POWERBOOK_INTERNAL = 00000004,
       RADEON_MAC_POWERBOOK_VGA = 00000008,
       RADEON_MAC_MINI_EXTERNAL = 00000016,
       RADEON_MAC_MINI_INTERNAL = 00000032,
} RADEONMacModel;
#endif

OR

#if defined(__powerpc__)
typedef enum {
       RADEON_MAC_IBOOK = 0x00000001,
       RADEON_MAC_POWERBOOK_EXTERNAL = 0x00000002,
       RADEON_MAC_POWERBOOK_INTERNAL = 0x00000004,
       RADEON_MAC_POWERBOOK_VGA = 0x00000008,
       RADEON_MAC_MINI_EXTERNAL = 0x00000010,
       RADEON_MAC_MINI_INTERNAL = 0x00000020,
} RADEONMacModel;
#endif

OR

#if defined(__powerpc__)
typedef enum {
       RADEON_MAC_IBOOK = 1 << 0,
       RADEON_MAC_POWERBOOK_EXTERNAL = 1 << 1,
       RADEON_MAC_POWERBOOK_INTERNAL = 1 << 2,
       RADEON_MAC_POWERBOOK_VGA = 1 << 3,
       RADEON_MAC_MINI_EXTERNAL = 1 << 4,
       RADEON_MAC_MINI_INTERNAL = 1 << 5,
} RADEONMacModel;
#endif

I may be wrong ! Please explain me.

Étienne.