lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250910-make-compound-literals-normal-again-v1-3-076ee7738a0b@linaro.org>
Date: Wed, 10 Sep 2025 09:25:47 +0200
From: Bartosz Golaszewski <brgl@...ev.pl>
To: Lee Jones <lee@...nel.org>, 
 Andy Shevchenko <andriy.shevchenko@...el.com>, 
 Liviu Dudau <liviu.dudau@....com>, Sudeep Holla <sudeep.holla@....com>, 
 Lorenzo Pieralisi <lpieralisi@...nel.org>, 
 Avi Fishman <avifishman70@...il.com>, Tomer Maimon <tmaimon77@...il.com>, 
 Tali Perry <tali.perry1@...il.com>, Patrick Venture <venture@...gle.com>, 
 Nancy Yuen <yuenn@...gle.com>, Benjamin Fair <benjaminfair@...gle.com>, 
 Linus Walleij <linus.walleij@...aro.org>, 
 Jonathan Neuschäfer <j.neuschaefer@....net>, 
 Clément Le Goffic <legoffic.clement@...il.com>, 
 Maxime Coquelin <mcoquelin.stm32@...il.com>, 
 Alexandre Torgue <alexandre.torgue@...s.st.com>, 
 Bartosz Golaszewski <brgl@...ev.pl>, 
 James Cowgill <james.cowgill@...ize.com>, 
 Matt Redfearn <matt.redfearn@...ize.com>, 
 Neil Jones <neil.jones@...ize.com>, 
 Nikolaos Pasaloukos <nikolaos.pasaloukos@...ize.com>, 
 Hoan Tran <hoan@...amperecomputing.com>, Yang Shen <shenyang39@...wei.com>, 
 Imre Kaloz <kaloz@...nwrt.org>, Yinbo Zhu <zhuyinbo@...ngson.cn>, 
 Shawn Guo <shawnguo@...nel.org>, Sascha Hauer <s.hauer@...gutronix.de>, 
 Pengutronix Kernel Team <kernel@...gutronix.de>, 
 Fabio Estevam <festevam@...il.com>, Manivannan Sadhasivam <mani@...nel.org>, 
 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.x90@...l.toshiba>, 
 Ray Jui <rjui@...adcom.com>, Scott Branden <sbranden@...adcom.com>, 
 Broadcom internal kernel review list <bcm-kernel-feedback-list@...adcom.com>
Cc: linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org, 
 openbmc@...ts.ozlabs.org, linux-gpio@...r.kernel.org, 
 linux-stm32@...md-mailman.stormreply.com, imx@...ts.linux.dev, 
 linux-unisoc@...ts.infradead.org, 
 Bartosz Golaszewski <bartosz.golaszewski@...aro.org>
Subject: [PATCH 3/3] gpio: use more common syntax for compound literals

From: Bartosz Golaszewski <bartosz.golaszewski@...aro.org>

The (typeof(foo)) construct is unusual in the kernel, use a more typical
syntax by explicitly spelling out the type.

Link: https://lore.kernel.org/all/20250909-gpio-mmio-gpio-conv-part4-v1-13-9f723dc3524a@linaro.org/
Suggested-by: Andy Shevchenko <andriy.shevchenko@...el.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@...aro.org>
---
 drivers/gpio/gpio-amdpt.c          | 2 +-
 drivers/gpio/gpio-blzp1600.c       | 2 +-
 drivers/gpio/gpio-dwapb.c          | 2 +-
 drivers/gpio/gpio-ep93xx.c         | 2 +-
 drivers/gpio/gpio-ftgpio010.c      | 2 +-
 drivers/gpio/gpio-ge.c             | 2 +-
 drivers/gpio/gpio-grgpio.c         | 2 +-
 drivers/gpio/gpio-hisi.c           | 2 +-
 drivers/gpio/gpio-idt3243x.c       | 2 +-
 drivers/gpio/gpio-ixp4xx.c         | 2 +-
 drivers/gpio/gpio-loongson-64bit.c | 2 +-
 drivers/gpio/gpio-mlxbf.c          | 2 +-
 drivers/gpio/gpio-mlxbf2.c         | 2 +-
 drivers/gpio/gpio-mlxbf3.c         | 2 +-
 drivers/gpio/gpio-mpc8xxx.c        | 2 +-
 drivers/gpio/gpio-mxs.c            | 2 +-
 drivers/gpio/gpio-rda.c            | 2 +-
 drivers/gpio/gpio-realtek-otto.c   | 2 +-
 drivers/gpio/gpio-tb10x.c          | 2 +-
 drivers/gpio/gpio-ts4800.c         | 2 +-
 drivers/gpio/gpio-vf610.c          | 2 +-
 drivers/gpio/gpio-visconti.c       | 2 +-
 drivers/gpio/gpio-xgene-sb.c       | 2 +-
 drivers/gpio/gpio-xgs-iproc.c      | 2 +-
 24 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/drivers/gpio/gpio-amdpt.c b/drivers/gpio/gpio-amdpt.c
index 0a9b870705b90bdc9bdab93ce5a4a33ebdafccc6..bbaf42307bc3d7df0a19b34cdb0a5aaa96c9ad3f 100644
--- a/drivers/gpio/gpio-amdpt.c
+++ b/drivers/gpio/gpio-amdpt.c
@@ -88,7 +88,7 @@ static int pt_gpio_probe(struct platform_device *pdev)
 		return PTR_ERR(pt_gpio->reg_base);
 	}
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = pt_gpio->reg_base + PT_INPUTDATA_REG,
diff --git a/drivers/gpio/gpio-blzp1600.c b/drivers/gpio/gpio-blzp1600.c
index bfb35d59fa561c43889b186fdfb8d9184b750a53..0f8c826ba876129aab078d4c9cd37d9da015e35f 100644
--- a/drivers/gpio/gpio-blzp1600.c
+++ b/drivers/gpio/gpio-blzp1600.c
@@ -230,7 +230,7 @@ static int blzp1600_gpio_probe(struct platform_device *pdev)
 	if (IS_ERR(chip->base))
 		return PTR_ERR(chip->base);
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = &pdev->dev,
 		.sz = 4,
 		.dat = chip->base + GPIO_IDATA_REG,
diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
index 0fb781ca9da29545dce23ddbdf3bd5927c714b4c..b42ff46d292bd8f272395956709e8dccf49106e2 100644
--- a/drivers/gpio/gpio-dwapb.c
+++ b/drivers/gpio/gpio-dwapb.c
@@ -525,7 +525,7 @@ static int dwapb_gpio_add_port(struct dwapb_gpio *gpio,
 	set = gpio->regs + GPIO_SWPORTA_DR + pp->idx * GPIO_SWPORT_DR_STRIDE;
 	dirout = gpio->regs + GPIO_SWPORTA_DDR + pp->idx * GPIO_SWPORT_DDR_STRIDE;
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = gpio->dev,
 		.sz = 4,
 		.dat = dat,
diff --git a/drivers/gpio/gpio-ep93xx.c b/drivers/gpio/gpio-ep93xx.c
index c6c8170813331be567048980710226792b4b2a02..1f56e44ffc9a3c5edab016a3b66e9d63aabf88ab 100644
--- a/drivers/gpio/gpio-ep93xx.c
+++ b/drivers/gpio/gpio-ep93xx.c
@@ -352,7 +352,7 @@ static int ep93xx_gpio_probe(struct platform_device *pdev)
 
 	gc = &egc->chip.gc;
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = &pdev->dev,
 		.sz = 1,
 		.dat = data,
diff --git a/drivers/gpio/gpio-ftgpio010.c b/drivers/gpio/gpio-ftgpio010.c
index dfa2c9444960a304d411e8d20db9bce0f8afa1c6..11e6907c3b54012877254e567520d868585c1f2b 100644
--- a/drivers/gpio/gpio-ftgpio010.c
+++ b/drivers/gpio/gpio-ftgpio010.c
@@ -264,7 +264,7 @@ static int ftgpio_gpio_probe(struct platform_device *pdev)
 		 */
 		return PTR_ERR(g->clk);
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = g->base + GPIO_DATA_IN,
diff --git a/drivers/gpio/gpio-ge.c b/drivers/gpio/gpio-ge.c
index a02dd322e0d4cecd4564a71a550204983df33568..b5cbf27b8f44225341e23e88b985e26458d11a7b 100644
--- a/drivers/gpio/gpio-ge.c
+++ b/drivers/gpio/gpio-ge.c
@@ -67,7 +67,7 @@ static int __init gef_gpio_probe(struct platform_device *pdev)
 	if (IS_ERR(regs))
 		return PTR_ERR(regs);
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = regs + GEF_GPIO_IN,
diff --git a/drivers/gpio/gpio-grgpio.c b/drivers/gpio/gpio-grgpio.c
index 3b77fad00749cd5218268b267b5848515c6a26fc..5930f4c6f2b578ea55c8143078042d5e0aaf3cfd 100644
--- a/drivers/gpio/gpio-grgpio.c
+++ b/drivers/gpio/gpio-grgpio.c
@@ -353,7 +353,7 @@ static int grgpio_probe(struct platform_device *ofdev)
 	if (IS_ERR(regs))
 		return PTR_ERR(regs);
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = regs + GRGPIO_DATA,
diff --git a/drivers/gpio/gpio-hisi.c b/drivers/gpio/gpio-hisi.c
index 01a99ac613d94e933d30f782520776693f048d1c..d8c4ab02ceaef7941e97f4788957b1f2c268de98 100644
--- a/drivers/gpio/gpio-hisi.c
+++ b/drivers/gpio/gpio-hisi.c
@@ -292,7 +292,7 @@ static int hisi_gpio_probe(struct platform_device *pdev)
 
 	hisi_gpio->dev = dev;
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = hisi_gpio->dev,
 		.sz = 4,
 		.dat = hisi_gpio->reg_base + HISI_GPIO_EXT_PORT_WX,
diff --git a/drivers/gpio/gpio-idt3243x.c b/drivers/gpio/gpio-idt3243x.c
index 232a621ba086ef66b2d2f0d471388c77ac5caa5b..56f1f1e57b69438ccd1e7014d590de61cd5a9286 100644
--- a/drivers/gpio/gpio-idt3243x.c
+++ b/drivers/gpio/gpio-idt3243x.c
@@ -147,7 +147,7 @@ static int idt_gpio_probe(struct platform_device *pdev)
 
 	ctrl->chip.gc.parent = dev;
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = &pdev->dev,
 		.sz = 4,
 		.dat = ctrl->gpio + IDT_GPIO_DATA,
diff --git a/drivers/gpio/gpio-ixp4xx.c b/drivers/gpio/gpio-ixp4xx.c
index 0cf10d0ba16ef7f45ac114c34468bc263442ccca..8a3b6b192288c8093abfe6644dbb680e9e25e830 100644
--- a/drivers/gpio/gpio-ixp4xx.c
+++ b/drivers/gpio/gpio-ixp4xx.c
@@ -294,7 +294,7 @@ static int ixp4xx_gpio_probe(struct platform_device *pdev)
 	flags = 0;
 #endif
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = g->base + IXP4XX_REG_GPIN,
diff --git a/drivers/gpio/gpio-loongson-64bit.c b/drivers/gpio/gpio-loongson-64bit.c
index f84f8c5372494345adc64dc21f3d0439130dc6f3..b9234e12c30208dc971160d72896d8c7c6835127 100644
--- a/drivers/gpio/gpio-loongson-64bit.c
+++ b/drivers/gpio/gpio-loongson-64bit.c
@@ -289,7 +289,7 @@ static int loongson_gpio_init(struct platform_device *pdev, struct loongson_gpio
 
 	lgpio->reg_base = reg_base;
 	if (lgpio->chip_data->mode == BIT_CTRL_MODE) {
-		config = (typeof(config)){
+		config = (struct gpio_generic_chip_config) {
 			.dev = &pdev->dev,
 			.sz = 8,
 			.dat = lgpio->reg_base + lgpio->chip_data->in_offset,
diff --git a/drivers/gpio/gpio-mlxbf.c b/drivers/gpio/gpio-mlxbf.c
index 843f40496be7b723c300b3ea2f19fc698a56abba..a18fedbc463e678d94f23f8561c6d2140015c939 100644
--- a/drivers/gpio/gpio-mlxbf.c
+++ b/drivers/gpio/gpio-mlxbf.c
@@ -66,7 +66,7 @@ static int mlxbf_gpio_probe(struct platform_device *pdev)
 
 	gc = &gs->chip.gc;
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 8,
 		.dat = gs->base + MLXBF_GPIO_PIN_STATE,
diff --git a/drivers/gpio/gpio-mlxbf2.c b/drivers/gpio/gpio-mlxbf2.c
index f99f66cd189ca71c9d188dff0a0b42ef2223abb3..7e3b526a6caae0ef7697c2f812370f8bf5ea6049 100644
--- a/drivers/gpio/gpio-mlxbf2.c
+++ b/drivers/gpio/gpio-mlxbf2.c
@@ -377,7 +377,7 @@ mlxbf2_gpio_probe(struct platform_device *pdev)
 
 	gc = &gs->chip.gc;
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = gs->gpio_io + YU_GPIO_DATAIN,
diff --git a/drivers/gpio/gpio-mlxbf3.c b/drivers/gpio/gpio-mlxbf3.c
index c812011bdbe65a9ee793ae1a5bfc656b523ab8ed..4770578269bae8bdbee60873d77c93d4c4712c9b 100644
--- a/drivers/gpio/gpio-mlxbf3.c
+++ b/drivers/gpio/gpio-mlxbf3.c
@@ -209,7 +209,7 @@ static int mlxbf3_gpio_probe(struct platform_device *pdev)
 		return PTR_ERR(gs->gpio_clr_io);
 	gc = &gs->chip.gc;
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = gs->gpio_io + MLXBF_GPIO_READ_DATA_IN,
diff --git a/drivers/gpio/gpio-mpc8xxx.c b/drivers/gpio/gpio-mpc8xxx.c
index 38643fb813c562957076aab48d804f8048cee5e4..dd2cd2cc6e6f2932a62f5fe82718c53cd765ffa6 100644
--- a/drivers/gpio/gpio-mpc8xxx.c
+++ b/drivers/gpio/gpio-mpc8xxx.c
@@ -345,7 +345,7 @@ static int mpc8xxx_probe(struct platform_device *pdev)
 	gc = &mpc8xxx_gc->chip.gc;
 	gc->parent = dev;
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = mpc8xxx_gc->regs + GPIO_DAT,
diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c
index af45d1b1af6e049899ea6773bed92fb8a84a0dff..5635694bf9f448f85b395a3da62033735a04fbdf 100644
--- a/drivers/gpio/gpio-mxs.c
+++ b/drivers/gpio/gpio-mxs.c
@@ -321,7 +321,7 @@ static int mxs_gpio_probe(struct platform_device *pdev)
 	irq_set_chained_handler_and_data(port->irq, mxs_gpio_irq_handler,
 					 port);
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = &pdev->dev,
 		.sz = 4,
 		.dat = port->base + PINCTRL_DIN(port),
diff --git a/drivers/gpio/gpio-rda.c b/drivers/gpio/gpio-rda.c
index bcd85a2237a532b875df9470d972ac88b95a91cc..fb479d13eb01a49218ad4229e7d4f70f096f5a2e 100644
--- a/drivers/gpio/gpio-rda.c
+++ b/drivers/gpio/gpio-rda.c
@@ -237,7 +237,7 @@ static int rda_gpio_probe(struct platform_device *pdev)
 
 	spin_lock_init(&rda_gpio->lock);
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = rda_gpio->base + RDA_GPIO_VAL,
diff --git a/drivers/gpio/gpio-realtek-otto.c b/drivers/gpio/gpio-realtek-otto.c
index ab711422254e9e8ff1a4e7c4016389e6d352f268..37b4f73771e651e95b6127befe579ea76e03a102 100644
--- a/drivers/gpio/gpio-realtek-otto.c
+++ b/drivers/gpio/gpio-realtek-otto.c
@@ -401,7 +401,7 @@ static int realtek_gpio_probe(struct platform_device *pdev)
 		ctrl->line_imr_pos = realtek_gpio_line_imr_pos_swapped;
 	}
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = ctrl->base + REALTEK_GPIO_REG_DATA,
diff --git a/drivers/gpio/gpio-tb10x.c b/drivers/gpio/gpio-tb10x.c
index f20b6654b865555579bb356a336308e23b0e5af6..09a448ce3eec2f4a68da188ec88a9d0833ab65ab 100644
--- a/drivers/gpio/gpio-tb10x.c
+++ b/drivers/gpio/gpio-tb10x.c
@@ -135,7 +135,7 @@ static int tb10x_gpio_probe(struct platform_device *pdev)
 	 * the lines, no special set or clear registers and a data direction register
 	 * wher 1 means "output".
 	 */
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = tb10x_gpio->base + OFFSET_TO_REG_DATA,
diff --git a/drivers/gpio/gpio-ts4800.c b/drivers/gpio/gpio-ts4800.c
index 844347945e8e71fa0f456be0ba8de7217f6760a3..992ee231db9ff8ba47600483457e7373159f1e5d 100644
--- a/drivers/gpio/gpio-ts4800.c
+++ b/drivers/gpio/gpio-ts4800.c
@@ -39,7 +39,7 @@ static int ts4800_gpio_probe(struct platform_device *pdev)
 	else if (retval)
 		return retval;
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 2,
 		.dat = base_addr + INPUT_REG_OFFSET,
diff --git a/drivers/gpio/gpio-vf610.c b/drivers/gpio/gpio-vf610.c
index fa7e322a834cc2afbab7d4948cd41465867aa4c8..f3590db72b141223e0a957825e94222056aa77bb 100644
--- a/drivers/gpio/gpio-vf610.c
+++ b/drivers/gpio/gpio-vf610.c
@@ -305,7 +305,7 @@ static int vf610_gpio_probe(struct platform_device *pdev)
 	if (port->sdata->have_paddr)
 		flags |= BGPIOF_READ_OUTPUT_REG_SET;
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = port->gpio_base + GPIO_PDIR,
diff --git a/drivers/gpio/gpio-visconti.c b/drivers/gpio/gpio-visconti.c
index cde1581a91033e0ffa855e6cab0a36fa01f2baa1..6d5d829634ad761b6f8f63dd1565e337faf89e44 100644
--- a/drivers/gpio/gpio-visconti.c
+++ b/drivers/gpio/gpio-visconti.c
@@ -191,7 +191,7 @@ static int visconti_gpio_probe(struct platform_device *pdev)
 		return -ENODEV;
 	}
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = priv->base + GPIO_IDATA,
diff --git a/drivers/gpio/gpio-xgene-sb.c b/drivers/gpio/gpio-xgene-sb.c
index c559a89aadf7a77bd9cce7e5a7d4a2b241307812..28ee3f7e91b921e7f22cbdb9c2d23cd0e80d429c 100644
--- a/drivers/gpio/gpio-xgene-sb.c
+++ b/drivers/gpio/gpio-xgene-sb.c
@@ -265,7 +265,7 @@ static int xgene_gpio_sb_probe(struct platform_device *pdev)
 		return -ENODEV;
 	}
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = &pdev->dev,
 		.sz = 4,
 		.dat = regs + MPA_GPIO_IN_ADDR,
diff --git a/drivers/gpio/gpio-xgs-iproc.c b/drivers/gpio/gpio-xgs-iproc.c
index 9cffdedd31b1c39123b93469465f483fbb4d076a..77eb29dcc2171a8221b965fd75c4a0d9175044d0 100644
--- a/drivers/gpio/gpio-xgs-iproc.c
+++ b/drivers/gpio/gpio-xgs-iproc.c
@@ -233,7 +233,7 @@ static int iproc_gpio_probe(struct platform_device *pdev)
 	if (IS_ERR(chip->base))
 		return PTR_ERR(chip->base);
 
-	config = (typeof(config)){
+	config = (struct gpio_generic_chip_config) {
 		.dev = dev,
 		.sz = 4,
 		.dat = chip->base + IPROC_GPIO_CCA_DIN,

-- 
2.48.1


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ