From nobody Wed Apr 8 02:48:23 2026 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9E26B3358DA for ; Wed, 11 Mar 2026 05:40:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773207659; cv=none; b=eJUKpK8iSV9O9j3o8N/mvK/fguZi61olPpUDTpcgZMx27SJMZ1YgTV5AZiOimwQkKMfcjLpQ3s1eD3QuKR71EgXJdipyARieEghp76ljErz93D8TbHqtnJQ47QFPoC+Ma2zlt82jQFpJJH5dFRYazKaO9dy3AHG4gnIzB28pqR0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773207659; c=relaxed/simple; bh=LOYbWJB1Zo4cUmrSJOh6/PNPahZDMm/AXhL3nHBlbZw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=W4OLSt7qH8/LP3OydqYxqE9/6IbSyi/4io+LNCtSrlMD2ftLmjAhGUcJfrBpo4sg594gRNuQxAa9UVIDxT952QJeK67YNauG5ZxXyJEOpqCtYyeSUOcJOcHaNeFW+5CYxzMC1ZLkHZmIKQIFDsEDVglwgD/PfQqaJfNapLwl9wg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hpdboBa8; arc=none smtp.client-ip=209.85.210.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hpdboBa8" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-829a27414a3so2851065b3a.3 for ; Tue, 10 Mar 2026 22:40:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773207658; x=1773812458; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Bi+cpYb6Vg0VXFOuregCJb6MTqBCf/daXiAT548yjY0=; b=hpdboBa8NfKIdaKe8gMosCMZU2fvdzrtkkavNj0U9H8FDtx3y5JawifyePEU8QPDHE AOr+Vlx3Kt3vUbix+CPW8pl73wym3bLvq6DvVp0IDMrSCl5yUq0i9uos22Fu/bMnVZpr zER9jipjySO03dShMiaPiEMa+F01QshBRecxwwcgQ3ocKFpJL1Cwkvac4MQkL7T5dP3e 5M1HPWhhhYYSomYYTF2EIdchrEBvxWbcLcC/re2XMxN5fZEIbdWAOktosc95RfSm+axL qmVdAJpSVk0Wq4wM4U/CFP2Y+CZrrQnXD1dfeeZtYKpgJ1j36a7SNf0vCRUx4FwC9QZW uIwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773207658; x=1773812458; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Bi+cpYb6Vg0VXFOuregCJb6MTqBCf/daXiAT548yjY0=; b=aRHHCEY2wzxOxjLsKIEtfmk8Ru4pl81yYr7vAEKHdDcNQ5uuM12rRuAMdVOVvYZB8s Hu9VC2ckbc5HfC2rlaXSjhJi5dbwmZBvkDaYJ+nZ1wCPVbWkXu1+SQ4vs+XC62sf5B5Y fWnsVmNG3VuWqpB8QUrr2Pk8+C+px9f8T+hJ+vmnx+iznF2Jz8AVggWTletjxekK1g6n uXmaFRAqN0+mT4mE/6MTU3C4E9+wpAUgBZunZ+sQ905Xl6nuVXIitM1T/8++g8RLo29L FEz3B69+FTyoDtw9Yn8RDZ3lxfvy12DkPJ6mi56fk1ZdnhIGRRFI0RY2Vq3zRgqefUCC piow== X-Gm-Message-State: AOJu0YzsGwaZpzwSucGYB17FDuTFpaJqj1gQ/MrxajmUM/N35GaFpTRm Kt4tmPbJAVwo4NH+VDnvQYXDfy7tqy+CnZ5R0KKX+Gpdih8F4wVWhe5Ufp7paabR X-Gm-Gg: ATEYQzw1nK7vlK4x7HdOzHD+v5AozgM9lybVmBs+zQra1sVP02VGMnnRleWWppiz4jI DPUgde7ANGyc8EMcz/tmglEZenrjVn20TAdH2Z4UnNYRv9JEi7RESqyWVUCtiNdUbSkZlcaNcob 8YuG0jSwHngZEDJSDuwe9Ugg5q3UBxxNKY9MiEiG4JgM2jvHWO/hXPLNCJQKqKv1IOHb+bGuwvv bSbqGqepWVnMWCVlrDUX+lWGFkzrkCmX6wFQX+LPbEhz1MW5+r8CScfiMs5piQALYXnkEa4CEQw m0gRA57mebueRfoTuo3cvEGwkLNdJGdg3x7x1as5rTf7CRCaUNiiS6KzZ+Bb3Qncyj6R4N8OhFw agLoYRGsCQ7O7kkrQUqkf1X3/7qY7HkSfm3WGeC1AcVmPecYnxD05fQf04PhGQstpiuq9TRcrf9 YGabwSQQO3PanIhKhyBk1Ws/EipGs/7GLRj2wHa6NS005CpzBBs0RN6Q== X-Received: by 2002:aa7:88d3:0:b0:828:d9a1:c604 with SMTP id d2e1a72fcca58-829f6e71531mr1386417b3a.12.1773207657593; Tue, 10 Mar 2026 22:40:57 -0700 (PDT) Received: from ryzen ([2601:644:8000:56f5::8bd]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-829f6eebff0sm1058168b3a.32.2026.03.10.22.40.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 22:40:57 -0700 (PDT) From: Rosen Penev To: linux-kernel@vger.kernel.org Cc: Thomas Gleixner , Maxime Coquelin , Alexandre Torgue , linux-stm32@st-md-mailman.stormreply.com (moderated list:ARM/STM32 ARCHITECTURE), linux-arm-kernel@lists.infradead.org (moderated list:ARM/STM32 ARCHITECTURE) Subject: [PATCH] irqchip: stm32-exti: use kzalloc_flex Date: Tue, 10 Mar 2026 22:40:38 -0700 Message-ID: <20260311054038.166293-1-rosenp@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Simplifies allocations by using a flexible array member in these structs. No need for a second kfree. Signed-off-by: Rosen Penev --- drivers/irqchip/irq-stm32-exti.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/drivers/irqchip/irq-stm32-exti.c b/drivers/irqchip/irq-stm32-e= xti.c index 5fdf335acb46..144120cadfa0 100644 --- a/drivers/irqchip/irq-stm32-exti.c +++ b/drivers/irqchip/irq-stm32-exti.c @@ -45,8 +45,8 @@ struct stm32_exti_chip_data { struct stm32_exti_host_data { void __iomem *base; struct device *dev; - struct stm32_exti_chip_data *chips_data; const struct stm32_exti_drv_data *drv_data; + struct stm32_exti_chip_data chips_data[]; }; =20 static const struct stm32_exti_bank stm32f4xx_exti_b1 =3D { @@ -269,26 +269,20 @@ stm32_exti_host_data *stm32_exti_host_init(const stru= ct stm32_exti_drv_data *dd, { struct stm32_exti_host_data *host_data; =20 - host_data =3D kzalloc_obj(*host_data); + host_data =3D kzalloc_flex(*host_data, chips_data, dd->bank_nr); if (!host_data) return NULL; =20 host_data->drv_data =3D dd; - host_data->chips_data =3D kzalloc_objs(struct stm32_exti_chip_data, - dd->bank_nr); - if (!host_data->chips_data) - goto free_host_data; =20 host_data->base =3D of_iomap(node, 0); if (!host_data->base) { pr_err("%pOF: Unable to map registers\n", node); - goto free_chips_data; + goto free_host_data; } =20 return host_data; =20 -free_chips_data: - kfree(host_data->chips_data); free_host_data: kfree(host_data); =20 @@ -389,7 +383,6 @@ static int __init stm32_exti_init(const struct stm32_ex= ti_drv_data *drv_data, irq_domain_remove(domain); out_unmap: iounmap(host_data->base); - kfree(host_data->chips_data); kfree(host_data); return ret; } --=20 2.53.0