Received: by 2002:a05:7412:f589:b0:e2:908c:2ebd with SMTP id eh9csp388252rdb; Tue, 31 Oct 2023 10:08:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHjNYC0OBCtf4EuqDY431zExgyU6cZHes1NQaPZyu44+8lRrG8HvaeRdq9e2PJAaGAM7Jxz X-Received: by 2002:a17:90a:fc8e:b0:280:ac76:69bb with SMTP id ci14-20020a17090afc8e00b00280ac7669bbmr1367236pjb.2.1698772093206; Tue, 31 Oct 2023 10:08:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698772093; cv=none; d=google.com; s=arc-20160816; b=VMUNNayCs1ilK9/FiEDO/8iN0BC3jk+oSx+ZTgosanzqB/tBlHJNAfthtIhSdq8QPd qxGlErMVn9dXiHZ74XarZYKnp5MMsUqSJKj1o5B8xtt+Wf7DUd2Qfngi9HdYnj32GxD4 GAE6iEw9HZUbfLIhC35KbFNNflDakSUlHuLeN1nPA+tZT0wDJKmEeub/NJh7OP3kXXm2 wNo07pdaMvEZAXUGBO9QfNfPYwQ4boqBLAsQBJdA0NOnX71WI0/5bvQQr20ugmyhXcIi fnPaZezjttPIxmsayZbBZ+gyl4TznSix+0Eabu//bXvF5OSAd6v2gx5ezQkwAqnckCR3 teUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:organization :message-id:user-agent:references:in-reply-to:subject:cc:to:from :date:mime-version; bh=7QX1tdhuM6itt9YTHNr1tKrr5eFBP9qpPrKX8cYFVqc=; fh=o56WKVc4ViBhK5jqwDpo6tSWqayKunGsmg4GMfihLWc=; b=mdOmmMnVJBkEPvB0e0lR4alArEkhWAd96R82UvHU1jdWs4F5/QH0TVVflI0x+OA8rj QDfFgFFu/Zz3KQLXIXrlC/BOiD60OOC1Eo6/yiOdVlgFy1r+7m/KmbuDkysEIVrUeqjF 34il+KjPfwXAqT3gSiUEeeKGMJQubFBbYCKB/XkkzNHywSnOxsn8T/X9qt11lhj22Ku3 jJmd3GGn+UDah30g7qyp1qcGJ7Rge5I+8f4lYGxhZziKPJpRgjMY1EQ8BpAB7ZJZx2LN W1tzism51xrxv3BhTgZbKvtHHG/PE3CUZ/qVVgNQfOkV3xVWam6wr5VCEM6hajJwqEI2 hlHQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id ch9-20020a17090af40900b00274df6d4c38si1181166pjb.89.2023.10.31.10.08.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 10:08:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 581C480321F8; Tue, 31 Oct 2023 10:08:09 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343503AbjJaRHx (ORCPT + 99 others); Tue, 31 Oct 2023 13:07:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34446 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233426AbjJaRHv (ORCPT ); Tue, 31 Oct 2023 13:07:51 -0400 Received: from 13.mo582.mail-out.ovh.net (13.mo582.mail-out.ovh.net [188.165.56.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8F9F2E4 for ; Tue, 31 Oct 2023 10:07:43 -0700 (PDT) Received: from director6.ghost.mail-out.ovh.net (unknown [10.109.138.54]) by mo582.mail-out.ovh.net (Postfix) with ESMTP id C7301281B0 for ; Tue, 31 Oct 2023 17:00:39 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-cgrz2 (unknown [10.110.171.20]) by director6.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 468BC1FD22; Tue, 31 Oct 2023 17:00:39 +0000 (UTC) Received: from RCM-web9.webmail.mail.ovh.net ([151.80.29.21]) by ghost-submission-6684bf9d7b-cgrz2 with ESMTPSA id USdVEbcyQWVsPwEAnliliw (envelope-from ); Tue, 31 Oct 2023 17:00:39 +0000 MIME-Version: 1.0 Date: Tue, 31 Oct 2023 19:00:39 +0200 From: =?UTF-8?Q?Jos=C3=A9_Pekkarinen?= To: Alex Deucher Cc: "Deucher, Alexander" , linux-kernel-mentees@lists.linuxfoundation.org, "Pan, Xinhui" , linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, skhan@linuxfoundation.org, "Koenig, Christian" Subject: Re: [PATCH] drm/radeon: replace 1-element arrays with flexible-array members In-Reply-To: References: <20231027165841.71810-1-jose.pekkarinen@foxhound.fi> <634f769b7f723795180d5bd2186943b9@foxhound.fi> User-Agent: Roundcube Webmail/1.4.15 Message-ID: <8e97338fecfe92eec24c2bc27d6e9eac@foxhound.fi> X-Sender: jose.pekkarinen@foxhound.fi Organization: Foxhound Ltd. X-Originating-IP: 185.241.208.71 X-Webmail-UserID: jose.pekkarinen@foxhound.fi Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Ovh-Tracer-Id: 3654389624392164959 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: -100 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedruddtvddgleegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepggffhffvvefujghffgfkgihoihgtgfesthekjhdttderjeenucfhrhhomheplfhoshorucfrvghkkhgrrhhinhgvnhcuoehjohhsvgdrphgvkhhkrghrihhnvghnsehfohighhhouhhnugdrfhhiqeenucggtffrrghtthgvrhhnpeehieduleeufeeggfeuhefgueekjeegtdehudefvdduteefudevkeelfeduheejtdenucffohhmrghinhepkhgvrhhnvghlrdhorhhgnecukfhppeduvdejrddtrddtrddupddukeehrddvgedurddvtdekrdejuddpudehuddrkedtrddvledrvddunecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeojhhoshgvrdhpvghkkhgrrhhinhgvnhesfhhogihhohhunhgurdhfiheqpdhnsggprhgtphhtthhopedupdhrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdfovfetjfhoshhtpehmohehkedvpdhmohguvgepshhmthhpohhuth X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Tue, 31 Oct 2023 10:08:09 -0700 (PDT) On 2023-10-31 17:45, Alex Deucher wrote: > On Sat, Oct 28, 2023 at 8:05 AM José Pekkarinen > wrote: >> >> On 2023-10-27 20:55, Deucher, Alexander wrote: >> > [Public] >> > >> >> -----Original Message----- >> >> From: José Pekkarinen >> >> Sent: Friday, October 27, 2023 12:59 PM >> >> To: Deucher, Alexander ; Koenig, Christian >> >> ; Pan, Xinhui ; >> >> skhan@linuxfoundation.org >> >> Cc: José Pekkarinen ; airlied@gmail.com; >> >> daniel@ffwll.ch; amd-gfx@lists.freedesktop.org; dri- >> >> devel@lists.freedesktop.org; linux-kernel@vger.kernel.org; >> >> linux-kernel- >> >> mentees@lists.linuxfoundation.org >> >> Subject: [PATCH] drm/radeon: replace 1-element arrays with >> >> flexible-array >> >> members >> >> >> >> Reported by coccinelle, the following patch will move the following 1 >> >> element >> >> arrays to flexible arrays. >> >> >> >> drivers/gpu/drm/radeon/atombios.h:5523:32-48: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:5545:32-48: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:5461:34-44: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:4447:30-40: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:4236:30-41: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:7044:24-37: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:7054:24-37: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:7095:28-45: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:7553:8-17: WARNING use >> >> flexible-array >> >> member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:7559:8-17: WARNING use >> >> flexible-array >> >> member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:3896:27-37: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:5443:16-25: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:5454:34-43: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:4603:21-32: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:6299:32-44: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:4628:32-46: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:6285:29-39: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:4296:30-36: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:4756:28-36: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:4064:22-35: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:7327:9-24: WARNING use >> >> flexible-array >> >> member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:7332:32-53: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:6030:8-17: WARNING use >> >> flexible-array >> >> member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:7362:26-41: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:7369:29-44: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:7349:24-32: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> drivers/gpu/drm/radeon/atombios.h:7355:27-35: WARNING use flexible- >> >> array member instead >> >> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero- >> >> length-and-one-element-arrays) >> >> >> >> Signed-off-by: José Pekkarinen >> > >> > Please verify that changing these to variable sized arrays does not >> > break any calculations based on the old size in the driver. More >> > below. >> > >> >> --- >> >> drivers/gpu/drm/radeon/atombios.h | 54 >> >> +++++++++++++++---------------- >> >> 1 file changed, 27 insertions(+), 27 deletions(-) >> >> >> >> diff --git a/drivers/gpu/drm/radeon/atombios.h >> >> b/drivers/gpu/drm/radeon/atombios.h >> >> index 8a6621f1e82c..7fa1606be92c 100644 >> >> --- a/drivers/gpu/drm/radeon/atombios.h >> >> +++ b/drivers/gpu/drm/radeon/atombios.h >> >> @@ -3893,7 +3893,7 @@ typedef struct _ATOM_GPIO_PIN_ASSIGNMENT >> >> typedef struct _ATOM_GPIO_PIN_LUT { >> >> ATOM_COMMON_TABLE_HEADER sHeader; >> >> - ATOM_GPIO_PIN_ASSIGNMENT asGPIO_Pin[1]; >> >> + ATOM_GPIO_PIN_ASSIGNMENT asGPIO_Pin[]; >> >> }ATOM_GPIO_PIN_LUT; >> >> >> >> >> >> /****************************************************************** >> >> **********/ >> >> @@ -4061,7 +4061,7 @@ typedef struct >> >> _ATOM_SRC_DST_TABLE_FOR_ONE_OBJECT //usSrcDstTableOffset >> >> UCHAR ucNumberOfSrc; >> >> USHORT usSrcObjectID[1]; >> >> UCHAR ucNumberOfDst; >> >> - USHORT usDstObjectID[1]; >> >> + USHORT usDstObjectID[]; >> >> }ATOM_SRC_DST_TABLE_FOR_ONE_OBJECT; >> >> >> >> >> >> @@ -4233,7 +4233,7 @@ typedef struct >> >> _ATOM_CONNECTOR_DEVICE_TAG_RECORD >> >> ATOM_COMMON_RECORD_HEADER sheader; >> >> UCHAR ucNumberOfDevice; >> >> UCHAR ucReserved; >> >> - ATOM_CONNECTOR_DEVICE_TAG asDeviceTag[1]; //This Id is >> >> same as >> >> "ATOM_DEVICE_XXX_SUPPORT", 1 is only for allocation >> >> + ATOM_CONNECTOR_DEVICE_TAG asDeviceTag[]; //This Id is >> >> same as >> >> "ATOM_DEVICE_XXX_SUPPORT", 1 is only for allocation >> >> }ATOM_CONNECTOR_DEVICE_TAG_RECORD; >> >> >> >> >> >> @@ -4293,7 +4293,7 @@ typedef struct >> >> _ATOM_OBJECT_GPIO_CNTL_RECORD >> >> ATOM_COMMON_RECORD_HEADER sheader; >> >> UCHAR ucFlags; // Future >> >> expnadibility >> >> UCHAR ucNumberOfPins; // Number of >> >> GPIO pins used to >> >> control the object >> >> - ATOM_GPIO_PIN_CONTROL_PAIR asGpio[1]; // the real >> >> gpio pin pair >> >> determined by number of pins ucNumberOfPins >> >> + ATOM_GPIO_PIN_CONTROL_PAIR asGpio[]; // the real >> >> gpio pin pair >> >> determined by number of pins ucNumberOfPins >> >> }ATOM_OBJECT_GPIO_CNTL_RECORD; >> >> >> >> //Definitions for GPIO pin state >> >> @@ -4444,7 +4444,7 @@ typedef struct >> >> _ATOM_BRACKET_LAYOUT_RECORD >> >> UCHAR ucWidth; >> >> UCHAR ucConnNum; >> >> UCHAR ucReserved; >> >> - ATOM_CONNECTOR_LAYOUT_INFO asConnInfo[1]; >> >> + ATOM_CONNECTOR_LAYOUT_INFO asConnInfo[]; >> >> }ATOM_BRACKET_LAYOUT_RECORD; >> >> >> >> >> >> /****************************************************************** >> >> **********/ >> >> @@ -4600,7 +4600,7 @@ typedef struct _ATOM_I2C_VOLTAGE_OBJECT_V3 >> >> UCHAR ucVoltageControlAddress; >> >> UCHAR ucVoltageControlOffset; >> >> ULONG ulReserved; >> >> - VOLTAGE_LUT_ENTRY asVolI2cLut[1]; // end with 0xff >> >> + VOLTAGE_LUT_ENTRY asVolI2cLut[]; // end with 0xff >> >> }ATOM_I2C_VOLTAGE_OBJECT_V3; >> >> >> >> // ATOM_I2C_VOLTAGE_OBJECT_V3.ucVoltageControlFlag >> >> @@ -4625,7 +4625,7 @@ typedef struct >> >> _ATOM_LEAKAGE_VOLTAGE_OBJECT_V3 >> >> UCHAR ucLeakageEntryNum; // indicate the entry number >> >> of >> >> LeakageId/Voltage Lut table >> >> UCHAR ucReserved[2]; >> >> ULONG ulMaxVoltageLevel; >> >> - LEAKAGE_VOLTAGE_LUT_ENTRY_V2 asLeakageIdLut[1]; >> >> + LEAKAGE_VOLTAGE_LUT_ENTRY_V2 asLeakageIdLut[]; >> >> }ATOM_LEAKAGE_VOLTAGE_OBJECT_V3; >> >> >> >> >> >> @@ -4753,7 +4753,7 @@ typedef struct _ATOM_POWER_SOURCE_INFO { >> >> ATOM_COMMON_TABLE_HEADER asHeader; >> >> UCHAR >> >> asPwrbehave[16]; >> >> - ATOM_POWER_SOURCE_OBJECT asPwrObj[1]; >> >> + ATOM_POWER_SOURCE_OBJECT asPwrObj[]; >> >> }ATOM_POWER_SOURCE_INFO; >> >> >> >> >> >> @@ -5440,7 +5440,7 @@ typedef struct _ATOM_FUSION_SYSTEM_INFO_V2 >> >> typedef struct _ATOM_I2C_DATA_RECORD { >> >> UCHAR ucNunberOfBytes; >> >> //Indicates how many >> >> bytes SW needs to write to the external ASIC for one block, besides to >> >> "Start" >> >> and "Stop" >> >> - UCHAR ucI2CData[1]; >> >> //I2C data in bytes, >> >> should be less than 16 bytes usually >> >> + UCHAR ucI2CData[]; >> >> //I2C data in bytes, should >> >> be less than 16 bytes usually >> >> }ATOM_I2C_DATA_RECORD; >> >> >> >> >> >> @@ -5451,14 +5451,14 @@ typedef struct >> >> _ATOM_I2C_DEVICE_SETUP_INFO >> >> UCHAR ucSSChipID; >> >> //SS chip being used >> >> UCHAR ucSSChipSlaveAddr; >> >> //Slave Address to >> >> set up this SS chip >> >> UCHAR ucNumOfI2CDataRecords; //number of >> >> data block >> >> - ATOM_I2C_DATA_RECORD asI2CData[1]; >> >> + ATOM_I2C_DATA_RECORD asI2CData[]; >> >> }ATOM_I2C_DEVICE_SETUP_INFO; >> >> >> >> >> >> //================================================================= >> >> ========================= >> >> typedef struct _ATOM_ASIC_MVDD_INFO >> >> { >> >> ATOM_COMMON_TABLE_HEADER sHeader; >> >> - ATOM_I2C_DEVICE_SETUP_INFO asI2CSetup[1]; >> >> + ATOM_I2C_DEVICE_SETUP_INFO asI2CSetup[]; >> >> }ATOM_ASIC_MVDD_INFO; >> >> >> >> >> >> //================================================================= >> >> ========================= >> >> @@ -5520,7 +5520,7 @@ typedef struct _ATOM_ASIC_INTERNAL_SS_INFO >> >> typedef struct _ATOM_ASIC_INTERNAL_SS_INFO_V2 { >> >> ATOM_COMMON_TABLE_HEADER sHeader; >> >> - ATOM_ASIC_SS_ASSIGNMENT_V2 asSpreadSpectrum[1]; >> >> //this is point only. >> >> + ATOM_ASIC_SS_ASSIGNMENT_V2 asSpreadSpectrum[]; >> >> //this is point only. >> >> }ATOM_ASIC_INTERNAL_SS_INFO_V2; >> >> >> >> typedef struct _ATOM_ASIC_SS_ASSIGNMENT_V3 @@ -5542,7 +5542,7 @@ >> >> typedef struct _ATOM_ASIC_SS_ASSIGNMENT_V3 typedef struct >> >> _ATOM_ASIC_INTERNAL_SS_INFO_V3 { >> >> ATOM_COMMON_TABLE_HEADER sHeader; >> >> - ATOM_ASIC_SS_ASSIGNMENT_V3 asSpreadSpectrum[1]; >> >> //this is pointer only. >> >> + ATOM_ASIC_SS_ASSIGNMENT_V3 asSpreadSpectrum[]; >> >> //this is pointer only. >> >> }ATOM_ASIC_INTERNAL_SS_INFO_V3; >> >> >> >> >> >> @@ -6027,7 +6027,7 @@ typedef struct _ENABLE_SCALER_PARAMETERS >> >> UCHAR ucScaler; // ATOM_SCALER1, ATOM_SCALER2 >> >> UCHAR ucEnable; // ATOM_SCALER_DISABLE or >> >> ATOM_SCALER_CENTER or ATOM_SCALER_EXPANSION >> >> UCHAR ucTVStandard; // >> >> - UCHAR ucPadding[1]; >> >> + UCHAR ucPadding[]; >> > >> > This may actually be a 1 element array. It’s just padding at the end >> > of the table. >> > >> >> }ENABLE_SCALER_PARAMETERS; >> >> #define ENABLE_SCALER_PS_ALLOCATION ENABLE_SCALER_PARAMETERS >> >> >> >> @@ -6282,7 +6282,7 @@ typedef union >> >> _ATOM_MEMORY_SETTING_ID_CONFIG_ACCESS >> >> >> >> typedef struct _ATOM_MEMORY_SETTING_DATA_BLOCK{ >> >> ATOM_MEMORY_SETTING_ID_CONFIG_ACCESS >> >> ulMemoryID; >> >> - ULONG >> >> >> >> aulMemData[1]; >> >> + ULONG >> >> >> >> aulMemData[]; >> >> }ATOM_MEMORY_SETTING_DATA_BLOCK; >> >> >> >> >> >> @@ -6296,7 +6296,7 @@ typedef struct _ATOM_INIT_REG_BLOCK{ >> >> USHORT >> >> usRegIndexTblSize; >> >> >> >> //size of asRegIndexBuf >> >> USHORT >> >> usRegDataBlkSize; >> >> >> >> //size of >> >> ATOM_MEMORY_SETTING_DATA_BLOCK >> >> ATOM_INIT_REG_INDEX_FORMAT >> >> asRegIndexBuf[1]; >> >> - ATOM_MEMORY_SETTING_DATA_BLOCK asRegDataBuf[1]; >> >> + ATOM_MEMORY_SETTING_DATA_BLOCK asRegDataBuf[]; >> >> }ATOM_INIT_REG_BLOCK; >> >> >> > >> > This one needs special handling as you have multiple variable sized >> > arrays. >> >> I'm happy to add any special handling in v2, though >> I may need to understand what that special handling would >> be. Would you mind to elaborate? Otherwise I can just leave >> the sensitive cases and the paddings untouched and resend >> the patch with the rest of cases converted. > > > I'm not sure how we want to handle back to back variable sized arrays. > I'd say just skip these cases for now. Very good, I'll be sending v2 soon. thanks for the comments! José.