drm/radeon: Replace 1-element arrays with flexible-array members
One-element arrays are deprecated, and we are replacing them with flexible array members instead. So, replace one-element array with flexible-array member in structs _ATOM_DISPLAY_OBJECT_PATH, _ATOM_DISPLAY_OBJECT_PATH_TABLE, _ATOM_OBJECT_TABLE, GOP_VBIOS_CONTENT _ATOM_GPIO_VOLTAGE_OBJECT_V3 and refactor the rest of the code accordingly. It's worth mentioning that doing a build before/after this patch results in no binary output differences. This helps with the ongoing efforts to tighten the FORTIFY_SOURCE routines on memcpy() and help us make progress towards globally enabling -fstrict-flex-arrays=3 [1]. Link: https://github.com/KSPP/linux/issues/79 Link: https://github.com/KSPP/linux/issues/239 Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101836 [1] Signed-off-by: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
2dd9032beb
commit
09ccde9191
@ -4020,7 +4020,7 @@ typedef struct _ATOM_DISPLAY_OBJECT_PATH
|
||||
USHORT usSize; //the size of ATOM_DISPLAY_OBJECT_PATH
|
||||
USHORT usConnObjectId; //Connector Object ID
|
||||
USHORT usGPUObjectId; //GPU ID
|
||||
USHORT usGraphicObjIds[1]; //1st Encoder Obj source from GPU to last Graphic Obj destinate to connector.
|
||||
USHORT usGraphicObjIds[]; //1st Encoder Obj source from GPU to last Graphic Obj destinate to connector.
|
||||
}ATOM_DISPLAY_OBJECT_PATH;
|
||||
|
||||
typedef struct _ATOM_DISPLAY_EXTERNAL_OBJECT_PATH
|
||||
@ -4037,7 +4037,7 @@ typedef struct _ATOM_DISPLAY_OBJECT_PATH_TABLE
|
||||
UCHAR ucNumOfDispPath;
|
||||
UCHAR ucVersion;
|
||||
UCHAR ucPadding[2];
|
||||
ATOM_DISPLAY_OBJECT_PATH asDispPath[1];
|
||||
ATOM_DISPLAY_OBJECT_PATH asDispPath[];
|
||||
}ATOM_DISPLAY_OBJECT_PATH_TABLE;
|
||||
|
||||
|
||||
@ -4053,7 +4053,7 @@ typedef struct _ATOM_OBJECT_TABLE //Above 4 object table
|
||||
{
|
||||
UCHAR ucNumberOfObjects;
|
||||
UCHAR ucPadding[3];
|
||||
ATOM_OBJECT asObjects[1];
|
||||
ATOM_OBJECT asObjects[];
|
||||
}ATOM_OBJECT_TABLE;
|
||||
|
||||
typedef struct _ATOM_SRC_DST_TABLE_FOR_ONE_OBJECT //usSrcDstTableOffset pointing to this structure
|
||||
@ -4615,7 +4615,7 @@ typedef struct _ATOM_GPIO_VOLTAGE_OBJECT_V3
|
||||
UCHAR ucPhaseDelay; // phase delay in unit of micro second
|
||||
UCHAR ucReserved;
|
||||
ULONG ulGpioMaskVal; // GPIO Mask value
|
||||
VOLTAGE_LUT_ENTRY_V2 asVolGpioLut[1];
|
||||
VOLTAGE_LUT_ENTRY_V2 asVolGpioLut[];
|
||||
}ATOM_GPIO_VOLTAGE_OBJECT_V3;
|
||||
|
||||
typedef struct _ATOM_LEAKAGE_VOLTAGE_OBJECT_V3
|
||||
@ -7964,7 +7964,7 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
VFCT_IMAGE_HEADER VbiosHeader;
|
||||
UCHAR VbiosContent[1];
|
||||
UCHAR VbiosContent[];
|
||||
}GOP_VBIOS_CONTENT;
|
||||
|
||||
typedef struct {
|
||||
|
Loading…
x
Reference in New Issue
Block a user