From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E6FC2CD5BD2 for ; Fri, 29 May 2026 10:18:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=gRuenZrko78jZddy0UFWO+BRki0zaXyQrkNHtJpBvQk=; b=NR+WbAhBSbH+0aQgpgVvX8LBO/ cd5if0RvYEy9otB5Yr1AHEEgfcHi6aLzwgMJnfKL9yQmV4S7nH89aJSGU4J5HrMphXW8BpK0dDlk5 SkJSHMMIvVKsa4lavKxEL9Pbkmpal/vo6qKwJooUDazq+nMzMKJSwjFSNanNUbhgmXv2IQtPFDrPx DYFG2fgHU1a6QJ6WuAefgFTnNL/D6kjQa5fO5lcQNTZn15gdNqgQL9mZVeB75k5vfNLmn8oJR2xlY JhemCxzSA4GSve0ryIotywSjdhc5mPWODg/EWaMLYsr0jmsOJ+HgsRly8UjKG6D46Ooni4EAX8t9Z l7pssbqg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wSuId-00000007AGw-43nB; Fri, 29 May 2026 10:18:43 +0000 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wSuIb-00000007AF8-079p for linux-mediatek@lists.infradead.org; Fri, 29 May 2026 10:18:42 +0000 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-459bf19e87bso8325529f8f.1 for ; Fri, 29 May 2026 03:18:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre.com; s=google; t=1780049919; x=1780654719; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=gRuenZrko78jZddy0UFWO+BRki0zaXyQrkNHtJpBvQk=; b=EIgyBmN5mQbSQzbjZwles/c5C6KLqQRi8ZfZERzbMtllYrg9hkoNLIrG84mQYiqrWB +llBAeOSUi7PtmeCTG4piQDNvVCfHDIRwdFXCoX62WFKOJ+jJdMddqvdf0gJANLNqqb2 qdTocqAU2d+7dV0u3HIbjmIudU0N3zbblNj4SwrTnIKxk6/qW9FQO7PvY9g9ZZQqEUD1 FHeHcDsKIhcHBjVSxP/NNmMXkbQQh8g1nciCuk/pbu/FaYQOAh192njJdf8lHZIKteVI RDbsclQ+O7VxQ9LodoLcPG3qhDuA+yZInJfh1SXt4EayK3xfcG4T2tmZd0AY1mpcgupn RyUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780049919; x=1780654719; 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=gRuenZrko78jZddy0UFWO+BRki0zaXyQrkNHtJpBvQk=; b=Z9MWIPVMrvvO34j2Ya98Yow07p/uESGxeN573yHnLXhDhPtYPlnEplKtQxmq1Iw4Lv esrwmw2RNN3d7vDQ+n3F6loejMmBK/qlt3OtKO8nTYiRFIe6y0VmdgygIEa7+1Qk4bri S1x2OVz6t6kEuOqtn9vSD0iLBlBPaOQzRm9Fow6K0QiWfBUNUcf/QnQdOrB9HhvaG2BQ XYK0+BlM0ByJLRrM7NCdpKNJ22dTTFKSGjUFQF1XcbWWlncrogdhBZVjPvP5fXjoShir NnJSBTiedr90uREZF/YYAoISAnQaPbhIa7JFMBw1x2GtjVrjzXPu38slM3aDGgFOx5qV lYrw== X-Forwarded-Encrypted: i=1; AFNElJ+/d0SJ7QHPRbXA8ulx+mstxY9sOuclH4esCVOdqKM051QDIqWXYfbNOeM6oDANjjHpqsV1fL3L72qfe78DvQ==@lists.infradead.org X-Gm-Message-State: AOJu0Yyle1BMBXpb556ouwCzRr6HmpjtGn+Wtb53fOGHCXS5he+nsOja VGyPDqftDVMIusz95PXTVEawo9Vz6tfAOqqD/HfbnY/34rjuvVcayZbRSAo3J/shjxo= X-Gm-Gg: Acq92OGWMTk8YaCZGZD+3jzGQYCia1qYva1R6zrVv2MfXYVszmBUFvd7YxZQcMLfKoO 8HDZuL7hIuNWHr3jg6uV74THJ31N9GqWhK4e4qxpRhvzk2AZ1qf62dGV+C/SbYv00lWh68tKiYq R57qo/7Cq0fvKd9ac7ZJ/HCCC2fSkD3uzIIu73yl6iltVlTFiahJU/NnmVE/1tCTWPeJQhNr3o/ c2jUEEyhtTVMqxsexcvMJmYLiN29kodzpauQUcJtVobKUX4uLpur1Asi8vHJCQGvyWjjHiHAz+S EqhjI9pfaR1sB5ba1TbbMBbKXUTHqL97CM3pA5gvZ1VaOWb0XZDtz/zfhqKZ5U36c7H7JIYt7I4 DLXwwUvLnv5RYPAcHZUdAP46ZgQr07A6pWmGdFNrxqQEicaXXqYjmA03Vfn2WHNd+9CWSiKFgnr BoucpYRz4smB9nYL8vcHgW1ljdIUXunv05b7iHD6HyKS4pJ0Aj1+MrbgmTtyjp9TgcC8b3uJECq Wefv8X0aa/LEMzb9CNwkWXpNQ== X-Received: by 2002:a5d:6f03:0:b0:45e:ef4a:8192 with SMTP id ffacd0b85a97d-45ef14aeca6mr4456766f8f.38.1780049919017; Fri, 29 May 2026 03:18:39 -0700 (PDT) Received: from localhost (p200300f65f47db043f932d8b97293bf6.dip0.t-ipconnect.de. [2003:f6:5f47:db04:3f93:2d8b:9729:3bf6]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-45ef354cd7csm2359192f8f.18.2026.05.29.03.18.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 May 2026 03:18:38 -0700 (PDT) From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig=20=28The=20Capable=20Hub=29?= To: Sebastian Reichel Cc: Kuan-Wei Chiu , Benson Leung , Guenter Roeck , =?utf-8?q?Thomas_Wei=C3=9Fschuh?= , Krzysztof Kozlowski , Matthias Brugger , AngeloGioacchino Del Regno , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, chrome-platform@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Hans de Goede , Marek Szyprowski , Sebastian Krzyszkowiak , Purism Kernel Team , Yixun Lan , Andreas Kemnade , Matti Vaittinen , Sven Peter , Janne Grunau , Neal Gompa , Amit Sunil Dhamne , Samuel Kayode , linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, asahi@lists.linux.dev, imx@lists.linux.dev, Chen-Yu Tsai Subject: [PATCH v1 0/6] power: Use named initializers for platform_device_id arrays Date: Fri, 29 May 2026 12:18:15 +0200 Message-ID: X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Developer-Signature: v=1; a=openpgp-sha256; l=5698; i=u.kleine-koenig@baylibre.com; h=from:subject:message-id; bh=HR0BG2x5gStI8qVvDgUBsjfK17M95+4vrnDaD2QTsYk=; b=owEBbQGS/pANAwAKAY+A+1h9Ev5OAcsmYgBqGWfoDIuZ0g/W2ypE62dFHULfUWoyzPSByuJOy zumyQmeqqeJATMEAAEKAB0WIQQ/gaxpOnoeWYmt/tOPgPtYfRL+TgUCahln6AAKCRCPgPtYfRL+ TsKPB/9mAyfp+pLZiIDxZa/Gq+SSHanqJrTQwpZ9rQFWh6BTlVwAzfy9/iK3DTaEC0m73vbGFfQ SrrV9RH9jd6SuuSNJEy+P030qdvrNgwnqe9+Kw6h9Ox1Xf/WbmVgbFqiAvBlC9bWaxNYlaSXA6b k6D0JHKSjZPpHgGWSl8de58GW9wTOhD4G7APcHqvig2ElcuxKXGEJMbDiI5C+wM6c/uNZYGDKQH Gyln8usdt6LIe+L24f+S0WZZOkN5b75oBqE1U4SirbgWSV0oQR/VgR5R3MVvLMMrmyqPiFaaawD fWqFsf8PmmOgcfZvBQ4ZGzTElp/ezMarN1H6m653QUtXR1kb X-Developer-Key: i=u.kleine-koenig@baylibre.com; a=openpgp; fpr=0D2511F322BFAB1C1580266BE2DCDD9132669BD6 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260529_031841_127243_591E9F0A X-CRM114-Status: GOOD ( 23.25 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Hello, this series targets to use named initializers for platform_device_id arrays. In general these are better readable for humans and more robust to changes in the respective struct definition. This robustness is needed as I want to do diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -610,4 +610,7 @@ struct dmi_system_id { struct platform_device_id { char name[PLATFORM_NAME_SIZE]; - kernel_ulong_t driver_data; + union { + kernel_ulong_t driver_data; + const void *driver_data_ptr; + }; }; which allows dropping several casts and eases porting CHERI to mainline linux. A possible follow-up change is the following example: diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c index 5d61053e0596..03bc8e859d73 100644 --- a/drivers/gpio/gpio-pxa.c +++ b/drivers/gpio/gpio-pxa.c @@ -534,7 +534,7 @@ static struct irq_chip pxa_muxed_gpio_chip = { static int pxa_gpio_nums(struct platform_device *pdev) { const struct platform_device_id *id = platform_get_device_id(pdev); - struct pxa_gpio_id *pxa_id = (struct pxa_gpio_id *)id->driver_data; + struct pxa_gpio_id *pxa_id = id->driver_data_ptr; int count = 0; switch (pxa_id->type) { @@ -708,14 +708,14 @@ static int pxa_gpio_probe(struct platform_device *pdev) } static const struct platform_device_id gpio_id_table[] = { - { .name = "pxa25x-gpio", .driver_data = (unsigned long)&pxa25x_id }, - { .name = "pxa26x-gpio", .driver_data = (unsigned long)&pxa26x_id }, - { .name = "pxa27x-gpio", .driver_data = (unsigned long)&pxa27x_id }, - { .name = "pxa3xx-gpio", .driver_data = (unsigned long)&pxa3xx_id }, - { .name = "pxa93x-gpio", .driver_data = (unsigned long)&pxa93x_id }, - { .name = "mmp-gpio", .driver_data = (unsigned long)&mmp_id }, - { .name = "mmp2-gpio", .driver_data = (unsigned long)&mmp2_id }, - { .name = "pxa1928-gpio", .driver_data = (unsigned long)&pxa1928_id }, + { .name = "pxa25x-gpio", .driver_data_ptr = &pxa25x_id }, + { .name = "pxa26x-gpio", .driver_data_ptr = &pxa26x_id }, + { .name = "pxa27x-gpio", .driver_data_ptr = &pxa27x_id }, + { .name = "pxa3xx-gpio", .driver_data_ptr = &pxa3xx_id }, + { .name = "pxa93x-gpio", .driver_data_ptr = &pxa93x_id }, + { .name = "mmp-gpio", .driver_data_ptr = &mmp_id }, + { .name = "mmp2-gpio", .driver_data_ptr = &mmp2_id }, + { .name = "pxa1928-gpio", .driver_data_ptr = &pxa1928_id }, { } }; increasing readability due to less casting. Also this results in the compiler warning: drivers/gpio/gpio-pxa.c: In function ‘pxa_gpio_nums’: drivers/gpio/gpio-pxa.c:537:38: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers] 537 | struct pxa_gpio_id *pxa_id = id->driver_data_ptr; | ^~ which is a good thing as adding the needed const to fix this warning improves type safety. (Sorry, no driver below drivers/power benefits here, so the example is from a different subsystem.) Patch #5 is just an unrelated change where I spotted the patch opportunity while preparing this series. It's included here just for my convenience and could be applied independently. If you consider the last patch mostly churn, just drop it. There are no dependencies between the patches, the only file that is touched in more than one patch is drivers/power/supply/mt6360_charger.c and even if these (i.e. patches #1 and #5) are reordered, git should be able to cope with that without conflicts. Note that this series is only build tested, and there is the possibility that I failed to spot driver data usage that render patches #2 and/or #3 wrong. So a deeper look on at least those two won't hurt. Best regards Uwe Uwe Kleine-König (The Capable Hub) (6): power: Drop unused assignment of platform_device_id driver data power: supply: max14577: Drop driver data in of and platform device id arrays power: supply: max17042: Drop driver data in of and platform device id arrays power: Use named initializers for platform_device_id arrays power: supply: mt6360_charger: Use of match table unconditionally power: Unify code style for platform_device_id arrays drivers/power/reset/qemu-virt-ctrl.c | 2 +- drivers/power/reset/spacemit-p1-reboot.c | 4 ++-- drivers/power/reset/tps65086-restart.c | 2 +- drivers/power/supply/axp288_charger.c | 2 +- drivers/power/supply/axp288_fuel_gauge.c | 2 +- drivers/power/supply/bd71828-power.c | 8 ++++---- drivers/power/supply/charger-manager.c | 4 ++-- drivers/power/supply/cros_charge-control.c | 4 ++-- drivers/power/supply/cros_peripheral_charger.c | 4 ++-- drivers/power/supply/cros_usbpd-charger.c | 4 ++-- drivers/power/supply/macsmc-power.c | 2 +- drivers/power/supply/max14577_charger.c | 12 +++++------- drivers/power/supply/max17042_battery.c | 14 +++++++------- drivers/power/supply/max77693_charger.c | 2 +- drivers/power/supply/max77759_charger.c | 2 +- drivers/power/supply/max8997_charger.c | 2 +- drivers/power/supply/max8998_charger.c | 2 +- drivers/power/supply/mt6360_charger.c | 6 +++--- drivers/power/supply/pf1550-charger.c | 2 +- drivers/power/supply/rt5033_charger.c | 2 +- 20 files changed, 40 insertions(+), 42 deletions(-) base-commit: f7af91adc230aa99e23330ecf85bc9badd9780ad -- 2.47.3