{"id":2197471,"url":"http://patchwork.ozlabs.org/api/1.0/covers/2197471/?format=json","project":{"id":9,"url":"http://patchwork.ozlabs.org/api/1.0/projects/9/?format=json","name":"Linux RTC development","link_name":"rtc-linux","list_id":"linux-rtc.vger.kernel.org","list_email":"linux-rtc@vger.kernel.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<5d0951ec-42c9-453f-9966-ecca593c4153@kernel.org>","date":"2026-02-17T22:24:26","name":"[RFC,00/10] driver core: constify groups arrays in several structs","submitter":{"id":88130,"url":"http://patchwork.ozlabs.org/api/1.0/people/88130/?format=json","name":"Heiner Kallweit","email":"hkall@kernel.org"},"series":[{"id":492492,"url":"http://patchwork.ozlabs.org/api/1.0/series/492492/?format=json","date":"2026-02-17T22:24:26","name":"driver core: constify groups arrays in several structs","version":1,"mbox":"http://patchwork.ozlabs.org/series/492492/mbox/"}],"headers":{"Return-Path":"\n <linux-rtc+bounces-5968-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-rtc@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=fwSrmyEs;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c15:e001:75::12fc:5321; helo=sin.lore.kernel.org;\n envelope-from=linux-rtc+bounces-5968-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"fwSrmyEs\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sin.lore.kernel.org (sin.lore.kernel.org\n [IPv6:2600:3c15:e001:75::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fFvMQ2PFBz1xwC\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 18 Feb 2026 09:24:34 +1100 (AEDT)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sin.lore.kernel.org (Postfix) with ESMTP id 5045430095C8\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 17 Feb 2026 22:24:32 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 4085D313E3E;\n\tTue, 17 Feb 2026 22:24:31 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 1B81428641F;\n\tTue, 17 Feb 2026 22:24:30 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 5B661C4CEF7;\n\tTue, 17 Feb 2026 22:24:28 +0000 (UTC)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1771367071; cv=none;\n b=VwUNys7oGhPscHWiZweJ3F330zApTTXypuc9IyugGLZNpkI7Fq94WYYAgf6h60kWYJUC5eE8p3kQR4nqibsYJpYQ7bp6S3SRRSdh5XlmGLUYvfagU1n7A1K4/8lTatQ/1ei4rUyAo4Z93QQXYsV/w2l8Jpq6lqXCJXyiLVbj7uo=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1771367071; c=relaxed/simple;\n\tbh=KbBp7ZGFZUKm1zv8UcR0RDREWlKTzcJOIc68SKR0XP8=;\n\th=Message-ID:Date:MIME-Version:From:Subject:To:Cc:Content-Type;\n b=XmoylIGPNSuaqgG9iHf3HUoG789LCzfwe8XHt4fm1dTqh2rBbSCGqQjQwSUUJKu9ZYvMZ3vCo20XKS5plVtdUhtyGP6f/ufQ03Dv2/uxQYM0s20GcrzzmSBSJ8yC9dfVWB54t/pMO++HbA2/GD8M5MUsBi/n7r8cFxZG6wTbrk4=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=fwSrmyEs; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1771367070;\n\tbh=KbBp7ZGFZUKm1zv8UcR0RDREWlKTzcJOIc68SKR0XP8=;\n\th=Date:From:Subject:To:Cc:From;\n\tb=fwSrmyEssGYDFr7KdXWcpac5kgtfLX3/QLEOKJ3HSzJ1ohs5/JWhneeq00uAg9gsE\n\t X3cjMkq0Sc/5uNNkdk4X8XUu2NS6HdCoeeF4FfL6xUHD/yV9/2PxRxCdjaR1Cji7QU\n\t tsmdMb8CiQEn+dlA7EjYE+TXicaSSI+2cdEV382CogKc6rldJcxCn1kDFhSR2DSsLc\n\t q+CoWed0yJLUh91PRPnl4hIyRckkXTKntHIzaiPY+Gg/LR5+NwBnCOmth/7//hTug6\n\t QbFk6XtuzGoQOgXMTihGDbbzN5uOO4EeNs3D9JU2doU+Z60K7UVO3axQS7kEE5jMA6\n\t /XcA1Imtx3/2Q==","Message-ID":"<5d0951ec-42c9-453f-9966-ecca593c4153@kernel.org>","Date":"Tue, 17 Feb 2026 23:24:26 +0100","Precedence":"bulk","X-Mailing-List":"linux-rtc@vger.kernel.org","List-Id":"<linux-rtc.vger.kernel.org>","List-Subscribe":"<mailto:linux-rtc+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-rtc+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","From":"Heiner Kallweit <hkall@kernel.org>","Subject":"[PATCH RFC 00/10] driver core: constify groups arrays in several\n structs","To":"=?utf-8?q?Thomas_Wei=C3=9Fschuh?= <linux@weissschuh.net>,\n Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n \"Rafael J. Wysocki\" <rafael@kernel.org>, Danilo Krummrich <dakr@kernel.org>,\n Jason Gunthorpe <jgg@ziepe.ca>, Leon Romanovsky <leon@kernel.org>,\n Alexandre Belloni <alexandre.belloni@bootlin.com>","Cc":"driver-core@lists.linux.dev,\n Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,\n linux-rdma@vger.kernel.org, linux-rtc@vger.kernel.org","Content-Language":"en-US","Content-Type":"text/plain; charset=UTF-8","Content-Transfer-Encoding":"7bit"},"content":"This series constifies the attribute group groups arrays in a number\nof structs, plus some preparation work. This allows to assign constant\narrays, w/o \"discards const qualifier\" compiler warning.\nThis is a step towards to goal to e.g. create constant arrays in macro\n__ATTRIBUTE_GROUPS().\n\nThere may be drivers not covered by my test scenarios which conflict\nwith this series. Therefore I send it as RFC for now.\nHopefully some CI checking this series provides additional hints.\n\nHeiner Kallweit (10):\n  IB/core: Prepare for immutable device groups\n  rtc: prepare for struct device member groups becoming a constant array\n  sysfs: constify group arrays in function arguments\n  driver: core: constify groups array argument in device_add_groups and\n    device_remove_groups\n  driver core: make struct device member groups a constant array\n  driver core: make struct device_type member groups a constant array\n  driver core: make struct bus_type groups members constant arrays\n  driver core: make struct class groups members constant arrays\n  driver core: make struct device_driver groups members contact arrays\n  kobject: make struct kobject member default_groups a constant array\n\n drivers/base/base.h              |  6 ++++--\n drivers/base/core.c              |  5 +++--\n drivers/base/driver.c            |  4 ++--\n drivers/infiniband/core/device.c |  9 ++++-----\n drivers/rtc/sysfs.c              |  8 ++++----\n fs/sysfs/group.c                 | 10 +++++-----\n include/linux/device.h           |  8 ++++----\n include/linux/device/bus.h       |  6 +++---\n include/linux/device/class.h     |  4 ++--\n include/linux/device/driver.h    |  4 ++--\n include/linux/kobject.h          |  2 +-\n include/linux/sysfs.h            | 16 ++++++++--------\n 12 files changed, 42 insertions(+), 40 deletions(-)"}