From nobody Sat Jun 13 23:11:23 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 122852D238F for ; Tue, 5 May 2026 09:05:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971904; cv=none; b=Wcbynvq8LFl7wSxUIcHAMi+cB30xkloWEDzumBNzCRmKS9Kr+e6aRnONa9ovMNfO8xP3cR9JaJ2r7h443CKfc0eBOVr5XGfK3oLta/4FGTFOzH2DnH7Y98haKOqDZsuaR02UXIWQQqECdYtHf/9pSd/D6F0n+UQs8bEU5MeLGYs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971904; c=relaxed/simple; bh=t+icqeEoiY+KcgnxGpNWtWdscrRBCeIqg/r15pU/Pbs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JbkZIQp2hNhZyWFdWJzQaWb4fOEksiNvlGf4Vw7Uybnw+PqS8G132ku24MrGUcw/thzy2Hq8egyMFs3pv458Icde6udy+FX+3Um/ns3dNEPpD7CAZwEbaUWTietfU92SoCcBDljFzAOEMMyivJaKvpW3DiAjuuz8LZO0st2LOL8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=L+6tRDwO; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JxDhzSGb; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="L+6tRDwO"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JxDhzSGb" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6456lqmG3187751 for ; Tue, 5 May 2026 09:05:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= kbqkJeBsX1wbON6raniruchDjTgiZzN7QgYGEqC10JU=; b=L+6tRDwOAZeStxIV miaeo2QEZ1sVcJNONcIv76NxUwoqoYWVW0M/9Ol06P+X8+fOqbVBYjV8rTXoaKRN tYhqKRBjUT+sW+pCFF4FUoQSQL+Us21Yc0066kPc9AlJGo7x0PquUHEYMgySj0b2 6lyQG45kqVn5usQK7kQ7ija5+BrAVfLx8yt/wXe13Ojid3/Fd7UYlIKVsdu0Nys2 NPlwi/pc+ixatndAzh1TNexsFcDxzNpZiaSKhY61JUr1QCTZy6p++6EhqZaY4ErX 7wYcBtigezK0Jjx6tXZO0zAaiQ7KbLZLbAfUCoDGH3C3IYM0xZHSMkKA+n+feoP+ pSPssQ== Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dybkk8er0-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 09:05:02 +0000 (GMT) Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8eb04352972so998993385a.2 for ; Tue, 05 May 2026 02:05:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777971901; x=1778576701; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=kbqkJeBsX1wbON6raniruchDjTgiZzN7QgYGEqC10JU=; b=JxDhzSGbZNm3vr4nj43OqIZwi/NfMBLhQKlBtG0OYDGZbEhTKvvUQ3S/jWU+5f/nc4 pxJTpy5dyiR/tAqfP+EJiB9ck1qpfE9+CAnqPdYZAbGcwUX5h4sIKuJftQYZZJfjgLzH YfLWnTzQoYXP88DuIhq10+wGmCe52ZUfPu5uukn1JxS8RzgiPT/SZrcHPtUY3BaZeOZe kbgTwxKVidm+58rZNNj8apZKxSbhRaqbOR3o+VvS7g3cMnGN6BsxLlmwCnisLibuU08V QRhvA+XewSv6KlW4MvQBbl3NJCJdd15HiUwr9h5DLaZKwJo9zBnyf3yiE3A8pnHylM8g 5d6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777971901; x=1778576701; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=kbqkJeBsX1wbON6raniruchDjTgiZzN7QgYGEqC10JU=; b=ZbzC1NwJHsg4fzw6KxzkN/H9XlQdsq9EsHX6cIPWqg9FtYNLa0Z1iQQP3P0CjwTyZD DOW3X8IQGGdZaJaVOPT7C9OVhu7ebHrcvNswP3LC+Vpt1Ems6+4mWne1h/qAM1N5N3rm nmBIGevj0oMg3xqmLZjyJeK0Zq52pzuBuBi1KfDnlpq+DhAYB8SPxUgK6l0fW1zSNTEu 0bP6XHR9FZDooG0iSxdBVvSnDOGcb5g2zGsjkrGu0NhZsBZ62dqKr5DhpbYhr4kAveqn mLGWnpbR8XYyMO+V+A/pY/KIOVOpVkfC+Ye8as364jchLO6wgiPsrD+E8OSe0Sn94NHL a5zg== X-Forwarded-Encrypted: i=1; AFNElJ/eE+FKgXEdZ74C8AfQ2q5lXHj2e4dFXQbkwxS/lSgHgRhGE/pxl3Vowh7Omjrt4oKvpdrAaKESfh23LUw=@vger.kernel.org X-Gm-Message-State: AOJu0Yx5akb3PJXC21okLVkkllDXahxcP637JWIgEEH8zPvioeogflpK HJZ81MgHP8wCsZ58XWHTYLaqG6zuvyvJjOUxWNyP0NXC9VwWELQq25bh/PUiFFnTIOJVUYJMTeY 541CzVPGZzpiwukeSFxMM8Q9O+YxvXo//76azBkkewKV15ywkMpug+ntxfqB64VWLDLtzDZ7Sxy Q= X-Gm-Gg: AeBDiev0aC+1fqFaHOoSW3rUbLd41dLlKvmcNXWWZuWnFbMeySeBaDjYCfLyaafJ3GL i+tlZSh/bEQPDOB3bEpbQPYpmouzGSKRPagS7uFq2Hk6Y2a1yAYLpEdEzH2vOC/BlD/0vez3JIz KFyHj+XAHvgFaFnw6naf1nSTVNb5X+ibLfB6lXUHcoVIjVNh6JwvL7V1kAurUpwuPelyn0XkCwR kfjzkCu30myrNDrDgf0nRFkqbSldtp5Gildlef4WcPZBNQW9F+Vr8F5N+taAhnW3D0Df/XY8drW 00Ns5D8OmMI8+rsHufpKKMhIya8kmZhzHJT0OhOCsYrZXH4YoA9dTtwz8ncorUrh+A9Xgf0N99m 9xPpDKzt6xEJyW8P574pjXJ4q+BfY67JjazOkGQ/rm67u5kP2fUM6hgA1yBNcug== X-Received: by 2002:a05:622a:903:b0:509:25ab:f545 with SMTP id d75a77b69052e-5104be0e45amr182203461cf.11.1777971901345; Tue, 05 May 2026 02:05:01 -0700 (PDT) X-Received: by 2002:a05:622a:903:b0:509:25ab:f545 with SMTP id d75a77b69052e-5104be0e45amr182203001cf.11.1777971900739; Tue, 05 May 2026 02:05:00 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3276:ff51:bd0f:7f92]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48d14d1b4f6sm14133385e9.12.2026.05.05.02.04.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 02:05:00 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 05 May 2026 11:04:41 +0200 Subject: [PATCH v2 1/6] MIPS: alchemy: platform: add missing include Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260505-gpio-swnode-alchemy-v2-1-cb208afc5b56@oss.qualcomm.com> References: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> In-Reply-To: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1218; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=t+icqeEoiY+KcgnxGpNWtWdscrRBCeIqg/r15pU/Pbs=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp+bKz2dywPuUgzcJzrJaVgMJ1YWMAde2LdV3pW PSFyslGvhqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCafmyswAKCRAFnS7L/zaE wwxxD/9RRAoB9/Um3joqriZf4rXrBtUFSwA8+UZA9iB97gVUSOs7UFI82SQ+ub7F/xWfkVExrOi mg+PIBJCpZLg/saFWj1dyHuks1HxWwwjRPJXFfa0JIFSzmnfm6KUdPG961uPTOp78lTVArffF/o ipac93t7A+tCRTRp6Kqc8UWNmFqsCOtU3UY4RygG1d1qzl6gBmBdJbCDiHQF8Scl42Y1zoIWDJO JJDlO2qpTNBCxnxD+u8MWiA3EdQ0nuoHmXkxMtH6P+IdzdmlJXIAqmWyH4nXzvORLFp6FFPQM/2 7bcagl1C3YkqqgB5zj5LscoVDy6Z1OAYLNhJEkPU/O9re3qg2BrpuFGJfL+xNUrpZajgrHwuqRa CaSwOBi0KCCL/Jt6scxahCwsUKK72XntzlRfZX3d7yPJ9e/EVYwSMekybiNd+C7DfgdQhFLiyvM CSbOSPDAJKxMf9KtDDtlHxBXP47yDDZQw5sn8fKNVZ61dbm/8vrLdfvCLC2zyVacDDt4/GSMMX5 Og8yLIuM0DB2jfxeeqp41AtCTpxM+x65m1fTkZdxGh0rRUQ9L2UP4NhWLkJjRUGrmhE3TPw+LNV HwAhoWwTIrZLcWhmCUaQnzWb4OdNy12wPvshKtuO5QsKnWjXDoXOwlr1JNTO7lPcoDVOzE+RUNY A5OAAv9nsluUb5Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDA4MyBTYWx0ZWRfX7q/ts4g3EXLA NP/3qcr4S2rwCCWYLXL7g5ONOzTALtqwfWCqkILJC17rnhlr0fym63TY7ZBwsxNb6BwmsuBglml U2osEHBaAVFycNOF7TJckBA4s3Pivq2oRwKhb0EhS7ckf2EujtI8fQjkddnsxaiunNiVSFTGAaM 1SkCAamFyKRSSBwbc7WnKxrUBJwwk7AnEGLv/0c63rpsUkdlXUFFIa1H0MUqEPtd8Gol4As/GpR +VPYTrgQX26EMWdPs4kYkSqBP9xbd2Au3wZL7nT73pmp5nrf4apjDmumYZY72IMs6W0IJUgDGla 8/Ghm5Phh+BvMkbgvbURSzSIewBC1+VWfGcbDGDPaMZaEbDXSwsEe2xLtmikYP3gufksr4mFGds nDvR8nbIeBuBotWFfTPf/nECjsBsc9QtfMT4vAIn+He2aa54yvvA/rjwguJ9kdIBuaWebveqRf/ 1svAkJ6G032XvJ/YL2Q== X-Authority-Analysis: v=2.4 cv=SPBykuvH c=1 sm=1 tr=0 ts=69f9b2be cx=c_pps a=qKBjSQ1v91RyAK45QCPf5w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=WsugvLXgGilFTQl6Q-8A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=NFOGd7dJGGMPyQGDc5-O:22 X-Proofpoint-GUID: Zowyx_3uIEa030pVo5Ey1IbXsVxSBB8Q X-Proofpoint-ORIG-GUID: Zowyx_3uIEa030pVo5Ey1IbXsVxSBB8Q X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 bulkscore=0 impostorscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050083 Pull in the platform.h header into platform.c to fix the following warning: arch/mips/alchemy/devboards/platform.c:68:12: warning: no previous prototyp= e for =E2=80=98db1x_register_pcmcia_socket=E2=80=99 [-Wmissing-prototypes] 68 | int __init db1x_register_pcmcia_socket(phys_addr_t pcmcia_attr_star= t, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/mips/alchemy/devboards/platform.c:152:12: warning: no previous prototy= pe for =E2=80=98db1x_register_norflash=E2=80=99 [-Wmissing-prototypes] 152 | int __init db1x_register_norflash(unsigned long size, int width, | ^~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Bartosz Golaszewski Tested-by: Manuel Lauss --- arch/mips/alchemy/devboards/platform.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/mips/alchemy/devboards/platform.c b/arch/mips/alchemy/dev= boards/platform.c index 46262c823fcb1d10a67693dba8c4a9ac182cea27..fbc93d729c50b18953482d4ce8c= 0afb87a230e43 100644 --- a/arch/mips/alchemy/devboards/platform.c +++ b/arch/mips/alchemy/devboards/platform.c @@ -20,6 +20,8 @@ =20 #include =20 +#include "platform.h" + void prom_putchar(char c) { if (alchemy_get_cputype() =3D=3D ALCHEMY_CPU_AU1300) --=20 2.47.3 From nobody Sat Jun 13 23:11:23 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5244F3D3308 for ; Tue, 5 May 2026 09:05:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971905; cv=none; b=aSK7ErRweResNLn1WvwMjS9oPHpR2yF1V52QdNJJ71KBQCyUAe1OIYhFXgWKBL1+j+7xJcR0jY4IrUDZwj9gv/m9BvbmSiDXYLR3PKiDVSuB2Ptel0zHYcc+TIBRP7mGsIlNW4rraQ5T77N/x8mmxUcc1iN7UKzHKjtB3XVSCvA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971905; c=relaxed/simple; bh=4C1M3xokr9dwclUwlwMby/uPN4AVox532J2reF6RiTI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ayZumtpmGBZDsZTqncaionuyhc92xWu6AMnMacfcvHgiEo0WI1HsaZC/TbvNp9PrDYFitjUB2qv0iXrmeZZXbsMUqUX+mYuDkOttRRMGqzckDY/9QCM45RqMEs+jmLv6/Cg46lpNQBZ+YK1cT78brTvqCP1Ijcb3M/UqcCPHVLs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=PGjK5RwR; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TOkjHY4b; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="PGjK5RwR"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TOkjHY4b" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 645407Uh4128676 for ; Tue, 5 May 2026 09:05:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= WSHCcIxehKEC1qJOhQDWXY/YcEZoST1UqNXv2uVWJlU=; b=PGjK5RwRtz/hTW7C 70vkYCyt3poAoILV8cspIY5wnVKzgwiYDd30HAdm0TF/+eey3ziKbZTIZnkX5Dyd akijtMCLuWVq9OIJaGyYANYPBeScyqTg4FsxIMW2yx1BiYWGMDkLmqVIw5di1Dl4 N/QaOzZCyaUZGctWfKDsR2nusQUZ2gwOSmOiIvS6M6w0sb9uUOXFE8cHHW+JgvaD pvPDPCbNYMQXkvBpv7H8Yt6f/zLgFD59k9pJENOth/NXtaMB6suKOMskmKvxrKv3 UuaCzvkdcz4tIkotQ23rs8mJCTsuhHcc5X7+BWRhsR1tGVBJwdKeA9J0X8o8L/EQ n9Rwnw== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dxsdw49d2-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 09:05:03 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-50ea1a7a5d0so126491211cf.3 for ; Tue, 05 May 2026 02:05:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777971903; x=1778576703; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=WSHCcIxehKEC1qJOhQDWXY/YcEZoST1UqNXv2uVWJlU=; b=TOkjHY4bYk2W3ifdlXTpJMhBgzdm9TJKnaTqyl6CIogqZjURTSRWSzRVOtIhO0TBmd iRhjKNOz8CtN71ro6ErHx8N73RpirLYXlNWRIzd23cth8U/mHzDO56y5jz5q9MprXNkp 7wyhEnyFFccVrYWazcEj4dH4FIZqY4AniCVIiQqAOsYmOTZiSIRTKdeV8x/eR7EJsXCW CwnS7xXH2/KCHfUQhVg1Npjt52Mvlkxorf9aWzrAZ/kSqUH+CcekmnnWsh463jG/MULv UMh3dNhDyFfGdXqsz5RWCYV6plrV05a7uOu0x3pEzfbg4Xf4N0mL1BKZ7poLeykgwpRr jRtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777971903; x=1778576703; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=WSHCcIxehKEC1qJOhQDWXY/YcEZoST1UqNXv2uVWJlU=; b=Wur6zIVj2UzAL6+6XDN8JDGpGb1AUwHG3Cs/N/ZBN0ie3p/WJo6PtNZOFrqTT8km0V 0ZuuHkepkxjmaPAOUWeW3+76YkthAPk46mEQ++NTLTTA7MbWZXQcf6Me2wg5R9qiEldw 6gkAx7ClMOt35RBYIgDwwnQ11hegVo82QcvHRbjLCQa/shVOO9fD8pf1dxD4u9UklfQN wiivJzOxWcLyXWUuqo7vPqTpUyeCVhWXRpDiK283gwGEBOM6O9uPMBQcuPVsGHB5kq8c hU6suNP+1Y20aHKPvsDYPL8zM7dbFKvlrmLsLgnAmGmxREQFd0MvJKfb754Tllc2U3ae kWQg== X-Forwarded-Encrypted: i=1; AFNElJ8YAf8fS3HeS1dNfMmI43denngHGrVDa7pqW/TKSFWl6mXIx1M+KDlHAU9TODoaKiaDC82+8aVelF6fOjk=@vger.kernel.org X-Gm-Message-State: AOJu0YyjUzCWeaRKqLBMOu7awGLkf5a6uvLCRv8phFFrYrfoNPbwiAyn p4wLgz5qTxyy51JV6aizLP8kGRphIZuhsmIWW+O6k4ju8H/HJKyewrhFcbAXoODogfO+bgJw0dD Bl7fwbSHgQis2pU9jXnpdSLEXMjr2O6R66kKh5LU3REDvllXwKLMw4muOP2NXy4zlV8SsLslB/g Q= X-Gm-Gg: AeBDietXFj/aZBO+YXtnm0jlibnjpvqjP3cFQ51zRlQpw2N4CBkls70vz+cKxZrir8U PhcRkFMU0W3GZcFFGFx9iBHk557e0nlwySeEwj8HQuyNqmlhfdhXFWBwHVMOkIeZ1jDHC1jiW25 L2MOMUsB9yKI0pQWF+zE+EQ6ZDdrIRVVy490XEsIfhLPjRiCLMobbVbwQ8d4zE299zMFet5dEoH 0hBfoKy6erk+72pYoE/VDBOOXtLnnWLSrQV16fk48hawHk5rDl2/2ejIuklDhhD+ZOdPrknDYqr hLlldP8MSSczZI++YeVGOdoeUOWSNebjffozkTleBbNSz4DhX7o+WxCFIOY5CR3YQpipAFGG0EP +nKa52Uyd6LMVnohUBSi5Jq8CoiuksZZyRsUWhGBXsxTTIFoYEsmy1Iw+q57MJg== X-Received: by 2002:a05:622a:156:b0:50e:5fe2:83a9 with SMTP id d75a77b69052e-5104bdefba7mr198354071cf.5.1777971902771; Tue, 05 May 2026 02:05:02 -0700 (PDT) X-Received: by 2002:a05:622a:156:b0:50e:5fe2:83a9 with SMTP id d75a77b69052e-5104bdefba7mr198353701cf.5.1777971902359; Tue, 05 May 2026 02:05:02 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3276:ff51:bd0f:7f92]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48d14d1b4f6sm14133385e9.12.2026.05.05.02.05.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 02:05:01 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 05 May 2026 11:04:42 +0200 Subject: [PATCH v2 2/6] MIPS: alchemy: provide visible function prototypes to board files Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260505-gpio-swnode-alchemy-v2-2-cb208afc5b56@oss.qualcomm.com> References: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> In-Reply-To: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4265; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=4C1M3xokr9dwclUwlwMby/uPN4AVox532J2reF6RiTI=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp+bK03LDhM1gvbb4rYb4J0fzqe/PbTlIJ+nBga XFa+rs+06KJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCafmytAAKCRAFnS7L/zaE wyCvD/4wX1lPJIA13zvIXwpVWcdT6XFKpkjqv8o+UnbJx/GT04Aui0pzuk1wI0gWjJbvZ4d1/OV WPhYUYFeQ+byYn8ZcVtRPq0UzykKTbcwGnVfMhKbEhidH2ii1MUDT9JdFGccsqNfWUwsrwlxLU0 GIT0mxrCX6LGWiJ4INmcdc/fvoQTR3T38ieXISHJXpdMk12hEqOMUM2FXztyWAPkaJXpLHKHb9K lMCo7Hb+i9behroI+40YLRHY/rXkh0d9SI5DICCa5SYfrUnaeDMXsMuxDvSW0SUBOtiv7S9tIUK EMyZfAciKa0eBbTCj/vj7z/7UOFkwKeYullKBUIqlBVvpFmEAwGaV8tupL9m1UZP0G2QnGWkZsx 8S42La5TiqfCX6VQA4KshrPipRvvl4DLKms6PWWu68Nm/86IxYFikRmSNcbVVtt4CuBPrxHG+h7 IJYgyWqvwbEnTeoTzG2mjV3475/Chvpj0+YBozkbzXA2qqZRnCmnxDzzHokbsNGzq2vjJRhY3Nn asKBKlywWIFDvR0ppMWFfsMHXjaJvirNKAfkdXvHa+XUTLxF1JCSrB+5Ec813HJ5UKPktaqma5v yUqLoWXugs+Ea1xGMpSeCdreixcgJwVLR8Yopn0VW1CPfM2g1iSGC/8nA+EjhqXq49Yy/G7i9RL XT5lIAICKJ6Lpyg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=a7AAM0SF c=1 sm=1 tr=0 ts=69f9b2bf cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=EUspDBNiAAAA:8 a=jNKtMNL_tjeZMJr_EBMA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-GUID: LSu1Uzxe0BujvT4Viylg-GVd1nsaKNHP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDA4MyBTYWx0ZWRfX1uYsLua0YfMK UvFtmhJFhLthYyhSyEiiTJ5oUgmj+/nxXRYGlBK4KSiy/7YUzF9v7du1zTPTZ1gA6bVxlCqLfnC 6LITbc6KMVvpByyWJWUilYQBcX586mhhu2QUUl5hMCNYV0QsKB9RFZSHKIE8oksqk7++vscCiDJ vJMcnllWRnp9I+pKTp26d65MyRUEUfwKgNRjClCiLgIKeYT0QCO1HP56jnPi3D6w7ykqP9CHOYk G2D7TaxR9oUnboqLYpDBu64CY6930FxyEsxhgYxVjyyo6GlhYQvOi7cdLIIPe9gyA7jIG7jHpzW EAi/cPNBa4s+pGbnT9S1Rgbe7UC3QdeE50IqQr1485SaI7CEa00SrU2KnH/bySvM3q5Z1c6xgPv 0UY+GaBIw/voVmkLEDJCMTHDfi1wKDeIIlR5cxrNNeQWxAG1bImshrWQaNLhzAdZAhESjzdfwLo m+d5UBVTt7TzUwAENgg== X-Proofpoint-ORIG-GUID: LSu1Uzxe0BujvT4Viylg-GVd1nsaKNHP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 phishscore=0 spamscore=0 adultscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050083 Board files under arch/mips/alchemy/ define functions called from db1xxx.c but their prototypes are only in that .c file instead of being declared in a common header. This causes several build warnings about missing prototypes. Provide these prototypes in a new header and include it where necessary. Signed-off-by: Bartosz Golaszewski Tested-by: Manuel Lauss --- arch/mips/alchemy/devboards/db1000.c | 2 ++ arch/mips/alchemy/devboards/db1200.c | 1 + arch/mips/alchemy/devboards/db1300.c | 1 + arch/mips/alchemy/devboards/db1550.c | 2 ++ arch/mips/alchemy/devboards/db1xxx.c | 11 +---------- arch/mips/alchemy/devboards/db1xxx.h | 18 ++++++++++++++++++ 6 files changed, 25 insertions(+), 10 deletions(-) diff --git a/arch/mips/alchemy/devboards/db1000.c b/arch/mips/alchemy/devbo= ards/db1000.c index 6984cd5169b5fda48d9dcbeb1f72a5de4473100d..65238f14f28d61ef3eddfd571c7= d61f01e7434fd 100644 --- a/arch/mips/alchemy/devboards/db1000.c +++ b/arch/mips/alchemy/devboards/db1000.c @@ -27,6 +27,8 @@ #include #include #include + +#include "db1xxx.h" #include "platform.h" =20 #define F_SWAPPED (bcsr_read(BCSR_STATUS) & BCSR_STATUS_DB1000_SWAPBOOT) diff --git a/arch/mips/alchemy/devboards/db1200.c b/arch/mips/alchemy/devbo= ards/db1200.c index 67f067706af27342317c4265d2b3dda97681d391..de2a9083ed9a35b3f87bcba7e05= da1de175615b1 100644 --- a/arch/mips/alchemy/devboards/db1200.c +++ b/arch/mips/alchemy/devboards/db1200.c @@ -30,6 +30,7 @@ #include #include =20 +#include "db1xxx.h" #include "platform.h" =20 #define BCSR_INT_IDE 0x0001 diff --git a/arch/mips/alchemy/devboards/db1300.c b/arch/mips/alchemy/devbo= ards/db1300.c index d377e043b49f86539b88fd6f79c5395f1a42278d..b46f5e47da2c32be3b44bcb80ea= 4b6e2623f735b 100644 --- a/arch/mips/alchemy/devboards/db1300.c +++ b/arch/mips/alchemy/devboards/db1300.c @@ -32,6 +32,7 @@ #include #include =20 +#include "db1xxx.h" #include "platform.h" =20 /* FPGA (external mux) interrupt sources */ diff --git a/arch/mips/alchemy/devboards/db1550.c b/arch/mips/alchemy/devbo= ards/db1550.c index 6c6837181f5555f3f9b8ebf495c03a22bef735b4..b8295a5c2e9a1e782e6d460b2e9= 12c7155066ad4 100644 --- a/arch/mips/alchemy/devboards/db1550.c +++ b/arch/mips/alchemy/devboards/db1550.c @@ -28,6 +28,8 @@ #include #include #include + +#include "db1xxx.h" #include "platform.h" =20 static void __init db1550_hw_setup(void) diff --git a/arch/mips/alchemy/devboards/db1xxx.c b/arch/mips/alchemy/devbo= ards/db1xxx.c index e6d25aad8350ed639683b2c6fa6d013690c74913..2e8c68d97b34a829af00a8e622c= a0955c1d8c2ff 100644 --- a/arch/mips/alchemy/devboards/db1xxx.c +++ b/arch/mips/alchemy/devboards/db1xxx.c @@ -7,16 +7,7 @@ #include #include =20 -int __init db1000_board_setup(void); -int __init db1000_dev_setup(void); -int __init db1500_pci_setup(void); -int __init db1200_board_setup(void); -int __init db1200_dev_setup(void); -int __init db1300_board_setup(void); -int __init db1300_dev_setup(void); -int __init db1550_board_setup(void); -int __init db1550_dev_setup(void); -int __init db1550_pci_setup(int); +#include "db1xxx.h" =20 static const char *board_type_str(void) { diff --git a/arch/mips/alchemy/devboards/db1xxx.h b/arch/mips/alchemy/devbo= ards/db1xxx.h new file mode 100644 index 0000000000000000000000000000000000000000..f39e3551e3b3a738693b2bae813= 3a6e01a6aabaa --- /dev/null +++ b/arch/mips/alchemy/devboards/db1xxx.h @@ -0,0 +1,18 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef __LINUX_MIPS_DB1XXX__ +#define __LINUX_MIPS_DB1XXX__ + +const char *get_system_type(void); +int db1000_board_setup(void); +int db1000_dev_setup(void); +int db1500_pci_setup(void); +int db1200_board_setup(void); +int db1200_dev_setup(void); +int db1300_board_setup(void); +int db1300_dev_setup(void); +int db1550_board_setup(void); +int db1550_dev_setup(void); +int db1550_pci_setup(int id); + +#endif /* __LINUX_MIPS_DB1XXX__ */ --=20 2.47.3 From nobody Sat Jun 13 23:11:23 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 62E723DCDB0 for ; Tue, 5 May 2026 09:05:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971908; cv=none; b=Wq+TcHkt1okxsnNVAVSJ8ldhAgO8ldJ7M8TWqDLP47uj/6HfOtHloG4QrUNCgGrOOUmi+hmEauvUnDeV5zhXb52fMbEjlfrcp7wwCiQhOEAeyUmnF3rSSPuLsEW1IfjNvLwwelgxpalA02zgSgmsYPessEmBZIFXi/oi34419os= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971908; c=relaxed/simple; bh=GXjsDjx+WgT1VqhJVAntutRgS0j9UI1LjhKd2NJDpN0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=o393Y3KS/Vhn5EdXliog+ksM+N1l62nEa04fU4nmM7mhnB+xTKbRItHvP0RPiARopLF96nakvUi3zDT/mXdQxb93S/IvzlRS153XFgStGgm6KvCGgid7wJBQrC5h1TugLy8F7SkRda4SgXjxGDF+X8gL+YuXVam16FNMDlNm114= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=D+7P1UWY; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=esmubnZK; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="D+7P1UWY"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="esmubnZK" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6454Z8Z24128828 for ; Tue, 5 May 2026 09:05:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= all9g437688to+4I5xDHevk70Ctd16Rz8HFVLPHs7L0=; b=D+7P1UWYPKV7TUKa QNSeacf+wT/EB7h9EQx+WQJKITI6/hYcG7QPQz3G//A65YwL8yRRLZWcFzOwHWha evUmiH759uRA6gBy5pVY98wKxncf1X4ym78T7wHG3N/DjbX7M2hC+yzKt6C17M2p ufh21VPGuDWtPSVTu9qgjPTN42PtdgqHEGFG+QyM0GesnKozhAGmQkh6AarPg/r5 B/R1Iz9ivSA4AmPuSedeAOiiM75xdEAlqmeAWx7LqPfR9boQoklE8sG1R4B1erII 5hk501ddd/+7N7Tity84oltMU0hWt94pqSetUPE48QoLLOc3CvzNI+kxu6dR+Yc7 AUqJdg== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dxsdw49de-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 09:05:05 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50d8e8c47a3so142378341cf.0 for ; Tue, 05 May 2026 02:05:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777971904; x=1778576704; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=all9g437688to+4I5xDHevk70Ctd16Rz8HFVLPHs7L0=; b=esmubnZKOX6oKkZLr6dcdU3ZGUfjbk5LtNFU1AIDLkFBjWukEYlEJM4xcQxEiBcbU5 EfKeta2pNTxB6V4gKzTRvRKuoCBrUcWzEgwDZkWHG0i9W4pv2NWifU8F7zYKXW3QWAYY ClIvrR4dLLWXGZpswkRhfNDCl3cr/DZ0kw0TzEIRMnFqCfSySYd3DSwBwghDUqSoD8Pl aiBewGZ8CVUefWwIEINCnGFyDAbGX8ARmw4RU6SkX00+jJGIjI6aw4wAo/lPFs3ieab7 JjYI0a/PKyXh8n1+PQCLHiOIke7BuEQdLsNJcsIIJZCKJcAVVwQ/AOaTVTvQzcdHkJDV MqKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777971904; x=1778576704; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=all9g437688to+4I5xDHevk70Ctd16Rz8HFVLPHs7L0=; b=I+2OvLnIsaOXknzPCoEyvXTT7oDvBoMmLq/TeZeY/QmLFabhjohd/AyRhjt2z1x2Dm UKZQ87bgyVThCarxSiKgTI0XboejlQbvgTjiFmmzNRasf0T6ThM2m7aU/Ykw/7iKOY+q aziTLpOOZYJQ8ru/jB0HAhWMMCSDhZ12Bu9DjJgwV+8b/n91CLW+gjfuV5oXqHKaFGnW dOtsK5JKoEyQl0/qZqu/22WXM2GztTwiap8gib7rBrueN6hTFXG9C0NAGaAmRoxSpQXK J3XECofr7cUwR3nR627ITWc/Ng5AFGMW7DryO1nrr9wk17DrJ8cqQNbeePaR/QRbnIOx VzYQ== X-Forwarded-Encrypted: i=1; AFNElJ+hG2ukYjt687Tcm23CPGAXT1ZUJlouSiUexDYRvtX1NmwBwI24t74GQaVUjPqbAPFSDnGU3DPJNCS/pfM=@vger.kernel.org X-Gm-Message-State: AOJu0YwTgAzp4PP8RIBz2TMEu8/8qQL7Lgy4SF/gyDKC59j9TDPHa674 9HemU6uJ43wAT2pCkdm9D/d1Tazn66MoafsQGyq7znnLEHbiB8Gf7DG8wHFWo868gh13yXvEQe9 GSv9ISbPX9D8mie3NOgx3gx8+UxX5f6pdOu1hgDbptcBJdBfHsZuaM244OIP7GkcS/gKpUXFuaM w= X-Gm-Gg: AeBDiev3g6e73DhV/iZt5v0MDsBCPgb0yMpedHvxPRuuYCqMSd15F/1H6Z9M2lSK4By stFuyFKUE5WGNUiZn/OiI6jAe38iBSDHnZcVPYjVd/Gr3YkkgPf2889q7sV5fa7oFcOx22Xzoh2 I6Misq38DVQBbJceq9mvP89RqDv0palZAYNmzcjmAFCmTvUxbWnYpAhGtCBsx/O1jzaceJHGIqr 3hu49n6gWpwrxvEeljZucwNU/26oRrBVaB9RlGIZHw9FhYA0XC+TxBkyTix1ezwxxGIuBGNMDWq LUOJ7fjoEXJOxlY3CJYPenOTsQ3AtbJ+wzzV2o9IIMguQVi2p8iWLq9Jk/yC07NF9P8cDtFuzCR W6KTrBHjpra29xYo4P0PP7HCQy1ApooKQJYnhFQlVDTNJnM+1oLA+z2aTBlChpg== X-Received: by 2002:a05:622a:245:b0:50b:2eee:4b38 with SMTP id d75a77b69052e-5104bdefcfbmr202993351cf.8.1777971904417; Tue, 05 May 2026 02:05:04 -0700 (PDT) X-Received: by 2002:a05:622a:245:b0:50b:2eee:4b38 with SMTP id d75a77b69052e-5104bdefcfbmr202992751cf.8.1777971903649; Tue, 05 May 2026 02:05:03 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3276:ff51:bd0f:7f92]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48d14d1b4f6sm14133385e9.12.2026.05.05.02.05.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 02:05:02 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 05 May 2026 11:04:43 +0200 Subject: [PATCH v2 3/6] MIPS: alchemy: mtx1: attach software nodes to GPIO chips Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260505-gpio-swnode-alchemy-v2-3-cb208afc5b56@oss.qualcomm.com> References: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> In-Reply-To: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=8982; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=ouY399Dp4LXW7+W2OZKDgpITZ1iOm6HOoI6Upz28iRE=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp+bK1DYZTe5V51r17jE3qKHkvKFySHAjSNPRh4 vsLZEICRkSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCafmytQAKCRAFnS7L/zaE w05MD/sHYPeIEL8CJFVnI17CTa7QBsThIqKEJDXSQT3bf59kklD0cgZOM+eQ3Wd+zsWKMvvzFM4 Fe545rJzoWJFA4eQikB5/oXe4aF0yA4PDrQetVAHIBj+hntUk4J8At6WVo1dktaDFyU4HA1PXhv gzxQPmzi8t3XsA2CEv23J3tDOipogBjB0A9yC5EOUX3YqiY0fL+bRUzQ5DISU8YWartz1NevqI0 Gt1t4ysjdCOnw9fKP9wgbocmxw5GJKCBZho7gOhWXC5pvJEHSAiDtjB2Wd7VjcdLS1EtT492Mc1 /BeQNQGnc/hNVN+0tXpZf4eO4HGQxIHRJMLAj4fqx75WYBbMqnjwpq/AKLOk5ApODM7C4QSf+oY aHygtuGtIJiaAZVYiL3m86Q4EfGH/MrOY6pmjczATi2doPZKdM6RwYvDp9XHXBud97h9nNdpJjQ 4mgyfCLbe3/HuhwlA7IEho3ERXwtKbslSC4/KaOtKNR12TJfmrwDyYor50qS3yJ8Xb4v9eK1KGn 4D5Xw1ZZ7P8OmokjOkJAVqPteSscVRkl553jj3+7l5SkaAW1byrRjT/8QyVAz3aLA963WsY9aUh AfjQg03CNH0r3EMFlbURCa3eY8ijxi1JWzUXd+iMyPlFYapiaK1uAsQM7cZB3Z1TD5GnI3b6GrE GtAFVy0eABaLlrQ== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=a7AAM0SF c=1 sm=1 tr=0 ts=69f9b2c1 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=tWZPv7H_HbOMA4K40sMA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-GUID: qnIm3v05_u43nI2p6zx-vfxZNZEJvWuh X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDA4MyBTYWx0ZWRfXzD1ZEXdhI9lC 33DI01SWWKeR3XyFCEKfB0bMBYy6cSofjgjQkwHfmnFNtuccA/bE56Oci62XdZ/6BPGXGlJfc5n owqRoeQw540/v72aGNkPQ4r8a/tjVmmVN8dZQGcpp42mlYs0SyBbV9lYHXa8CZvS7P570gl7nDt i47SXWhsGtDGZV+z2lOb15HHx8l1yYwgeqtQBbp25TmdQKttozH/EI4Kxz/nuiNIrh0pjA06W/n V0u1sZcYVYQGckcXkx2AR7gn/deKuV7U6YqF7iPoPj2g+qAg08vO8tm8iIC1KWzRZOM7/9KPdqe 14NEOT6iM85Dnii+cuUm6KEiUukQj2ZXPiDODwVJrkYcWaiWMgchi1o74+mINFJCy9jmqxNTPwQ 1ZprcfQg1CJStyr5h3wZSbFMpULSe9M8DSqi3x3b0yn6wHRV3xo+q0YmtxTIAHz9arkh32RI18I ovZAb0YBtp9pOizE4/g== X-Proofpoint-ORIG-GUID: qnIm3v05_u43nI2p6zx-vfxZNZEJvWuh X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 phishscore=0 spamscore=0 adultscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050083 From: Dmitry Torokhov GPIO subsystem is switching the way it locates GPIO chip instances for GPIO references in software nodes from matching on node names to identity matching, which necessitates assigning firmware nodes (software nodes) to GPIO chips. Move the node definitions for alchemy-gpio1 and alchemy-gpio2 to arch/misp/alchemy/common/gpiolib.c, register them there, and attach them to gpio_chip instances. Adjust MTX1 board file to use these nodes. Note that because nodes need to be registered before they can be used in PROPERTY_ENTRY_GPIO() we have to do the registration at postcore_initcall level, otherwise (due to the link order) MTX1 board initialization code will run first. Signed-off-by: Dmitry Torokhov [Bartosz: use platform_device_info::swnode] Signed-off-by: Bartosz Golaszewski Tested-by: Manuel Lauss --- arch/mips/alchemy/board-mtx1.c | 79 +++++++++++----------= ---- arch/mips/alchemy/common/gpiolib.c | 39 +++++++++++- arch/mips/include/asm/mach-au1x00/gpio-au1000.h | 5 ++ 3 files changed, 76 insertions(+), 47 deletions(-) diff --git a/arch/mips/alchemy/board-mtx1.c b/arch/mips/alchemy/board-mtx1.c index cb6be58808a08e667a401573d6ba515d70a58aa2..add83aa684196fb1aa708de65ff= 4fcf733731d3b 100644 --- a/arch/mips/alchemy/board-mtx1.c +++ b/arch/mips/alchemy/board-mtx1.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -78,27 +79,22 @@ void __init board_setup(void) =20 /*************************************************************************= *****/ =20 -static const struct software_node mtx1_gpiochip_node =3D { - .name =3D "alchemy-gpio2", -}; - static const struct software_node mtx1_gpio_keys_node =3D { .name =3D "mtx1-gpio-keys", }; =20 -static const struct property_entry mtx1_button_props[] =3D { - PROPERTY_ENTRY_U32("linux,code", BTN_0), - PROPERTY_ENTRY_GPIO("gpios", &mtx1_gpiochip_node, 7, GPIO_ACTIVE_HIGH), - PROPERTY_ENTRY_STRING("label", "System button"), - { } -}; - static const struct software_node mtx1_button_node =3D { .parent =3D &mtx1_gpio_keys_node, - .properties =3D mtx1_button_props, + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_U32("linux,code", BTN_0), + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpio2_node, 7, + GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_STRING("label", "System button"), + { } + }, }; =20 -static const struct software_node *mtx1_gpio_keys_swnodes[] __initconst = =3D { +static const struct software_node * const mtx1_gpio_keys_swnodes[] __initc= onst =3D { &mtx1_gpio_keys_node, &mtx1_button_node, NULL @@ -127,16 +123,15 @@ static void __init mtx1_keys_init(void) pr_err("failed to create gpio-keys device: %d\n", err); } =20 -/* Global number 215 is offset 15 on Alchemy GPIO 2 */ -static const struct property_entry mtx1_wdt_props[] =3D { - PROPERTY_ENTRY_GPIO("gpios", &mtx1_gpiochip_node, 15, GPIO_ACTIVE_HIGH), - { } -}; - -static struct platform_device_info mtx1_wdt_info __initconst =3D { +static const struct platform_device_info mtx1_wdt_info __initconst =3D { .name =3D "mtx1-wdt", .id =3D 0, - .properties =3D mtx1_wdt_props, + .properties =3D (const struct property_entry[]){ + /* Global number 215 is offset 15 on Alchemy GPIO 2 */ + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpio2_node, 15, + GPIO_ACTIVE_HIGH), + { } + }, }; =20 static void __init mtx1_wdt_init(void) @@ -147,36 +142,34 @@ static void __init mtx1_wdt_init(void) pd =3D platform_device_register_full(&mtx1_wdt_info); err =3D PTR_ERR_OR_ZERO(pd); if (err) - pr_err("failed to create gpio-keys device: %d\n", err); + pr_err("failed to create watchdog device: %d\n", err); } =20 static const struct software_node mtx1_gpio_leds_node =3D { .name =3D "mtx1-leds", }; =20 -static const struct property_entry mtx1_green_led_props[] =3D { - PROPERTY_ENTRY_GPIO("gpios", &mtx1_gpiochip_node, 11, GPIO_ACTIVE_HIGH), - { } -}; - static const struct software_node mtx1_green_led_node =3D { .name =3D "mtx1:green", .parent =3D &mtx1_gpio_leds_node, - .properties =3D mtx1_green_led_props, -}; - -static const struct property_entry mtx1_red_led_props[] =3D { - PROPERTY_ENTRY_GPIO("gpios", &mtx1_gpiochip_node, 12, GPIO_ACTIVE_HIGH), - { } + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpio2_node, 11, + GPIO_ACTIVE_HIGH), + { } + }, }; =20 static const struct software_node mtx1_red_led_node =3D { .name =3D "mtx1:red", .parent =3D &mtx1_gpio_leds_node, - .properties =3D mtx1_red_led_props, + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpio2_node, 12, + GPIO_ACTIVE_HIGH), + { } + }, }; =20 -static const struct software_node *mtx1_gpio_leds_swnodes[] =3D { +static const struct software_node * const mtx1_gpio_leds_swnodes[] __initc= onst =3D { &mtx1_gpio_leds_node, &mtx1_green_led_node, &mtx1_red_led_node, @@ -185,10 +178,6 @@ static const struct software_node *mtx1_gpio_leds_swno= des[] =3D { =20 static void __init mtx1_leds_init(void) { - struct platform_device_info led_info =3D { - .name =3D "leds-gpio", - .id =3D PLATFORM_DEVID_NONE, - }; struct platform_device *led_dev; int err; =20 @@ -198,9 +187,11 @@ static void __init mtx1_leds_init(void) return; } =20 - led_info.fwnode =3D software_node_fwnode(&mtx1_gpio_leds_node); - - led_dev =3D platform_device_register_full(&led_info); + led_dev =3D platform_device_register_full(&(struct platform_device_info){ + .name =3D "leds-gpio", + .id =3D PLATFORM_DEVID_NONE, + .swnode =3D &mtx1_gpio_leds_node, + }); err =3D PTR_ERR_OR_ZERO(led_dev); if (err) pr_err("failed to create LED device: %d\n", err); @@ -335,10 +326,6 @@ static int __init mtx1_register_devices(void) =20 au1xxx_override_eth_cfg(0, &mtx1_au1000_eth0_pdata); =20 - rc =3D software_node_register(&mtx1_gpiochip_node); - if (rc) - return rc; - rc =3D platform_add_devices(mtx1_devs, ARRAY_SIZE(mtx1_devs)); if (rc) return rc; diff --git a/arch/mips/alchemy/common/gpiolib.c b/arch/mips/alchemy/common/= gpiolib.c index e79e26ffac99e6b12b430ab60df1cc7d42afd4a8..2141eae5ce4502aad920333cba1= f7a6e08411f9e 100644 --- a/arch/mips/alchemy/common/gpiolib.c +++ b/arch/mips/alchemy/common/gpiolib.c @@ -30,6 +30,7 @@ =20 #include #include +#include #include #include #include @@ -95,7 +96,21 @@ static int gpio1_to_irq(struct gpio_chip *chip, unsigned= offset) return alchemy_gpio1_to_irq(offset + ALCHEMY_GPIO1_BASE); } =20 -struct gpio_chip alchemy_gpio_chip[] =3D { +const struct software_node alchemy_gpio1_node =3D { + .name =3D "alchemy-gpio1", +}; + +const struct software_node alchemy_gpio2_node =3D { + .name =3D "alchemy-gpio2", +}; + +static const struct software_node *alchemy_gpio_node_group[] =3D { + &alchemy_gpio1_node, + &alchemy_gpio2_node, + NULL +}; + +static struct gpio_chip alchemy_gpio_chip[] =3D { [0] =3D { .label =3D "alchemy-gpio1", .direction_input =3D gpio1_direction_input, @@ -157,6 +172,28 @@ static struct gpio_chip au1300_gpiochip =3D { .ngpio =3D AU1300_GPIO_NUM, }; =20 +/* + * Software nodes must be registered before board-specific code (that runs + * at arch_initcall level) attempts to use them as GPIO targets or as fwno= des + * for registered devices. We can not do registration in alchemy_gpiochip_= init + * because it also runs as arch_initcall and runs after board-specific code + * because of the link order, and so we do it at postcore_initcall level. + */ +static int __init alchemy_gpio_nodes_init(void) +{ + int ret; + + ret =3D software_node_register_node_group(alchemy_gpio_node_group); + if (ret) + return ret; + + alchemy_gpio_chip[0].fwnode =3D software_node_fwnode(&alchemy_gpio1_node); + alchemy_gpio_chip[1].fwnode =3D software_node_fwnode(&alchemy_gpio2_node); + + return 0; +} +postcore_initcall(alchemy_gpio_nodes_init); + static int __init alchemy_gpiochip_init(void) { int ret =3D 0; diff --git a/arch/mips/include/asm/mach-au1x00/gpio-au1000.h b/arch/mips/in= clude/asm/mach-au1x00/gpio-au1000.h index e6306f6820e64e193b1be5e258211cca509edaa6..de7f857cb333a209c43fd6ca719= 8d2aa988c0bd7 100644 --- a/arch/mips/include/asm/mach-au1x00/gpio-au1000.h +++ b/arch/mips/include/asm/mach-au1x00/gpio-au1000.h @@ -40,6 +40,11 @@ #define AU1000_GPIO2_INTENABLE 0x10 #define AU1000_GPIO2_ENABLE 0x14 =20 +struct software_node; + +extern const struct software_node alchemy_gpio1_node; +extern const struct software_node alchemy_gpio2_node; + static inline int au1000_gpio1_to_irq(int gpio) { return MAKE_IRQ(1, gpio - ALCHEMY_GPIO1_BASE); --=20 2.47.3 From nobody Sat Jun 13 23:11:23 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28FBD3D333D for ; Tue, 5 May 2026 09:05:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971911; cv=none; b=Wf+rFBKJQzVJjMyUUjU/nqrGZqpfC7PSDksWY/8Zmbhfk+ILB6DKhmYOeSJy9rH/dYeCtqxtI21pg8INoCIt19XMhQCH++WSLNfAPpUeIOW0LyV4gncd/QCeiQeGvaxE/4DNFTETH9jg6/tePFqm8A+LXZklRG4ADmcwIkVEjzs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971911; c=relaxed/simple; bh=M8VKYv8Tims9RPDNC221xaGJLfI+X/Qrex54RK77Qjw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QPaNTTghUJpmRD/cERwOLy2cIdqvuLxvD6zpAljTRSKuDrBB81j/fSZQ7gl8NomAwkWqojb2+40OyzXDbQiBwXoWcoB6YO0YlasgHvjMECI4v2pjFWv2qSXXR8U5Vuo9+qY9Hx3c9E2MzXD6R3NwaE9lAEuw3C78npRBB3RKD58= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=kiNyaDEs; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=HMXFKSCJ; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="kiNyaDEs"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="HMXFKSCJ" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6458DSk01346374 for ; Tue, 5 May 2026 09:05:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= I5jy80JYHeF2BjFAE2h0JGSWCl5wFaXXTQpjOy37ZtU=; b=kiNyaDEsKagc0pQy Tim6QiNqY6ZQYWCUcjEVIFjOdsr/JSQXEy2RS7i/HyU5BBNRVYZ42McdoS6rsbaN ubQ+cEsS+/3ZFOddO4RVSSszHbEqaR4mmy9Jw9LidjEOmheuxFnhf5ZkEaSZbHLK IqlgtbIFP8q4R0760vU0lYGdwy72WNIreu8PTEcUoc9pAS01AI19HpKnaJCJFb55 AchT9OHMUpO5jpbpDuKnlDBh9cfeQ5MLaTRQ5ELcMWh0ZOfjCF5S4mk4fQNZQwKF aMHjrz3/obGRZ9/ROwzt3tHgCyMvaaJ919PfvEzVJ51MgFzCBrvJAEj9SnhiwzHl iFVX8w== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dxx2xb8hh-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 09:05:06 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8d654ade33aso1389183585a.1 for ; Tue, 05 May 2026 02:05:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777971906; x=1778576706; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=I5jy80JYHeF2BjFAE2h0JGSWCl5wFaXXTQpjOy37ZtU=; b=HMXFKSCJHc8zsdoom9D/btgz5eZhuf4vnm6wTLNarcNwtPCFOwsztwmGcTTiY9TpyR U8KpYsEQjWneQJqlrygAL99EGHV+8exzPreh+dx9OqWwGjcUjjmp0P0T4vKOhD4jOufK OlOL6C93EYZKvkvVKy6M3I4rTjBiximiNuAS43CTZ7IoKVxZkjg+0mQNhufCgik1UPje YLAov+jAhtdl60Sw7in5J9UBIP5d/r4AiHRH0lzgz7fcy9TVJAWV2U9KtcPqDFDXCYZo 8w8WLhP7dlZzxpTLJ7gWugBHjf4GKUqNOKXXDsP6UU0aAMRfMxcsIkVfN7xXVn/cZ+VK 2AYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777971906; x=1778576706; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=I5jy80JYHeF2BjFAE2h0JGSWCl5wFaXXTQpjOy37ZtU=; b=bNZOAteF80pizZe1Hqbx6TsP9QwJvB67R+YRS+QZrl0x6kUOO1q8QRA92W+R6sAxGF 3eNYtDGzGB0dDtKNXYrvvykOIjfXb+cOO4RvGrbd9CIQR7euEy1C1Gwz59iIQkcVtPHp gIE69UJVSAGu0Q93QC8wRtFrvUWS7nO5hEFY3x+l5rycPNQdtPGm2ezXUM0FHnZAxTRh bm0er86rVLOIIeEC+LpWXinf1HTLEg9sUMWye5qdI6VIVJ0qeqDxbAGG8qkYzq3lKdZg S+QjLF9dkqGpuAbXHV/IPrHrQdbD/mcdO+XUuBukBVnUIatphMM90fjxtwiOUSuoKsPa /5vg== X-Forwarded-Encrypted: i=1; AFNElJ/aYkvxXDeL+VdDXLpUfdXEvx6NkoRxKhovYvCOMFE9UWtwLPYB7/ZY6JIeRnIhUmhjXpPR18rzeI55SUY=@vger.kernel.org X-Gm-Message-State: AOJu0Yzwci+EY9HefO0qdzyUYWeS5LO8nAeK59FFzvLHQsSdJ2Bssu/X Q4gfbbkk5PjnHBnySCGuNwF+/iqm+yeemA76JFA6OsZx86R1VrvP8tlCfVOZ53EpNnm57yoAq7M TLXsN5n9Qf5UZC4/86y9OlLyh97ZHWX6/XAXow+wtxEs8R3JIU1Uqw5W977ims3EpmXdqLEE/TR Y= X-Gm-Gg: AeBDieuGHcrY5DauJroZ5zhmMlsbfRI6bzg0cgxq4jG7a5oKcAdUxVILZ3uSSiZPYnV x7TbscR4iwd46RY0+xLPfl8MkUT3ivg0KLzZ9sVsdfoAm4YcZbSyx1RX9R24fWI89LaBz5JJTRI SNbExiLRFyqox7ZN0/kmY2n88nar+gcbCWlsA7Qm0HSMDGBsTkxso6or3MiMzUAaoD1nJHoq6iV sP5UccSQz8JC3Q0NdwO9M9Z0FjhLzXc/7GwxDqpESqVIdZbBw6gaahWwufHjipSHcgi+94pTO4p QHBW9KdpSqHkHGA46IWmAr/qusWdiMX6LcQlSU8RTz6KzhNtJs1hN59dz8bWMBg4fkg4ljZ4yHf Vj7xACTL5Y/dAyAmKozIAFbuXLLlZICM+T/OGGjx92SDlEoTtPMd8WF3qFW6TKA== X-Received: by 2002:ac8:7f51:0:b0:50f:ad91:8906 with SMTP id d75a77b69052e-513052ffe4amr37714011cf.20.1777971905759; Tue, 05 May 2026 02:05:05 -0700 (PDT) X-Received: by 2002:ac8:7f51:0:b0:50f:ad91:8906 with SMTP id d75a77b69052e-513052ffe4amr37713691cf.20.1777971905331; Tue, 05 May 2026 02:05:05 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3276:ff51:bd0f:7f92]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48d14d1b4f6sm14133385e9.12.2026.05.05.02.05.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 02:05:04 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 05 May 2026 11:04:44 +0200 Subject: [PATCH v2 4/6] MIPS: alchemy: db1000: use nodes attached to GPIO chips in properties Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260505-gpio-swnode-alchemy-v2-4-cb208afc5b56@oss.qualcomm.com> References: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> In-Reply-To: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3766; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=aC5QVefr3ubGnFmOzf5c/QciGWESiMBn2UEMi6iIXF0=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp+bK2NmzEfXbN17JsrT8eOYRfDRIVfHn4pKMhu 8JUYcYkqWSJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCafmytgAKCRAFnS7L/zaE w76GEACkoWDAx4PoSB+g8fYRG3Q/5EQkg1wtYzLhNXOvR1ehO+thh/QPI7uSQsH7NzMuio0L+Eb u0voXk4coGt///JbdVJKS1FS7rn8PmbE5bvzFfpGYwfwxnitNHMwFbQx6u/pk6G4Y2NlEvgDlde Spdg68gsC+ZICVM1hLzNTBbZ091tDIS6LANost61GsrM81X7dey1y7Lt0UYHBb9ZkPUZ+1qCvks p+UROV/cKLY4HZ4CcAIZzV1MkHrWbwf3SExVqFG+hOqfRBKXPTyAjcfDptxW5q50QlG4s7EVeqp GJtDb/DDSOYRtVGuNZiso+KZwL6CInNTRC0ADJOo+mt/v1McIk4fstmAX+jKZK95fnPYKUqDxXl 6o49W9hSckaiYFej2u/SWFH6/lwANSp9H18hUOglLaHM5cjyUbxdzMdozRklDIb+PxXH1UjNW94 SwuSixq5qYp58Xdq1VcgKIrCFioE/GHJJp1MAzZ5bt2Z8eE6Fjf28+9f3e2Q9Fp/wiKfM+9X3Jj I3u/0WpW1iNmvQzW9CIrOZOj+HK5P5WsCgyU0wNTsip3qUo/5YK6M8OQiZlStw2wG+q3JF8O7Im X9tgepwsJ/IBms5CYV7eQNQqT6mDPVte9BRIQ0ilY+rw5JoHUMGZBjcAXHYJsGJj1zF3WCNSdBS 52/AKH+j4pbjL8Q== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=U9eiy+ru c=1 sm=1 tr=0 ts=69f9b2c3 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=hCAPRvFqaSTltk-sYtAA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-ORIG-GUID: ilM33dmjPrddv1jeDIH4jVoGe3C2P0Cd X-Proofpoint-GUID: ilM33dmjPrddv1jeDIH4jVoGe3C2P0Cd X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDA4MyBTYWx0ZWRfX69dFzr00cG0H F23B92e7i1Mst7anPOGBEI3kWLwq07j7ntvJK10ifuHLm37tDceRY0tSjetBRKt/m2fXgL0QItr qzNHlV0zfQa86FwinDTd2Tl3sKQKv80+gjez98KZCY3z197obCFpIdZ2CcXwPg04NCtMoCjKCpK sH1otKg4GGbR7otb1vy0BDflp0KibPc3tDlzsAcYg1wHnI1AnqfLg11qaiJc+CLaRZVhIYu7tfy W0aEe32htiWEzCf5qosdbJJe9Y2Wdx+4y8Rvc+HbwhC/GSxo+yHYlM4E9e6TYNOJT6KdZwx7Ia5 hS01RvlsR8JBN4qozXRAhuIUQ2OWQzkO30LHcTBC0nm6kEE01QteKiNPDXNJtxdEHJWiiswLyW8 f2anEDO9F+DVYDISKLePDbbczsRmGmWeK+Q7hJlltW9+MhzDdMiE3poarYJIqLxkldIKKbX+mp1 HlmGObpG5wzox9KylwA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 lowpriorityscore=0 adultscore=0 phishscore=0 spamscore=0 bulkscore=0 priorityscore=1501 impostorscore=0 clxscore=1015 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050083 From: Dmitry Torokhov GPIO subsystem is switching the way it locates GPIO chip instances for GPIO references in software nodes by doing identity matching instead of matching on node names. Switch to using software nodes attached to gpio chips instead of using freestanding software nodes. Also stop supplying platform data for the spi-gpio controller since spi-gpio driver can derive number of chipselect lines from device properties. Signed-off-by: Dmitry Torokhov Signed-off-by: Bartosz Golaszewski Tested-by: Manuel Lauss --- arch/mips/alchemy/devboards/db1000.c | 36 +++++++++++---------------------= ---- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/arch/mips/alchemy/devboards/db1000.c b/arch/mips/alchemy/devbo= ards/db1000.c index 65238f14f28d61ef3eddfd571c7d61f01e7434fd..a23dba3d62b7862db1baa69c3f9= 034a10848706b 100644 --- a/arch/mips/alchemy/devboards/db1000.c +++ b/arch/mips/alchemy/devboards/db1000.c @@ -19,7 +19,6 @@ #include #include #include -#include #include #include #include @@ -377,20 +376,14 @@ static struct platform_device db1100_mmc1_dev =3D { =20 /*************************************************************************= *****/ =20 -static const struct software_node db1100_alchemy2_gpiochip =3D { - .name =3D "alchemy-gpio2", -}; - -static const struct property_entry db1100_ads7846_properties[] =3D { - PROPERTY_ENTRY_U16("ti,vref_min", 3300), - PROPERTY_ENTRY_GPIO("pendown-gpios", - &db1100_alchemy2_gpiochip, 21, GPIO_ACTIVE_LOW), - { } -}; - static const struct software_node db1100_ads7846_swnode =3D { .name =3D "ads7846", - .properties =3D db1100_ads7846_properties, + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_U16("ti,vref_min", 3300), + PROPERTY_ENTRY_GPIO("pendown-gpios", + &alchemy_gpio2_node, 21, GPIO_ACTIVE_LOW), + { } + }, }; =20 static struct spi_board_info db1100_spi_info[] __initdata =3D { @@ -405,32 +398,26 @@ static struct spi_board_info db1100_spi_info[] __init= data =3D { }, }; =20 -static const struct spi_gpio_platform_data db1100_spictl_pd __initconst = =3D { - .num_chipselect =3D 1, -}; - /* * Alchemy GPIO 2 has its base at 200 so the GPIO lines * 207 thru 210 are GPIOs at offset 7 thru 10 at this chip. */ static const struct property_entry db1100_spi_dev_properties[] __initconst= =3D { PROPERTY_ENTRY_GPIO("miso-gpios", - &db1100_alchemy2_gpiochip, 7, GPIO_ACTIVE_HIGH), + &alchemy_gpio2_node, 7, GPIO_ACTIVE_HIGH), PROPERTY_ENTRY_GPIO("mosi-gpios", - &db1100_alchemy2_gpiochip, 8, GPIO_ACTIVE_HIGH), + &alchemy_gpio2_node, 8, GPIO_ACTIVE_HIGH), PROPERTY_ENTRY_GPIO("sck-gpios", - &db1100_alchemy2_gpiochip, 9, GPIO_ACTIVE_HIGH), + &alchemy_gpio2_node, 9, GPIO_ACTIVE_HIGH), PROPERTY_ENTRY_GPIO("cs-gpios", - &db1100_alchemy2_gpiochip, 10, GPIO_ACTIVE_HIGH), + &alchemy_gpio2_node, 10, GPIO_ACTIVE_HIGH), { } }; =20 static const struct platform_device_info db1100_spi_dev_info __initconst = =3D { .name =3D "spi_gpio", .id =3D 0, - .data =3D &db1100_spictl_pd, - .size_data =3D sizeof(db1100_spictl_pd), - .dma_mask =3D DMA_BIT_MASK(32), + .dma_mask =3D DMA_BIT_MASK(32), .properties =3D db1100_spi_dev_properties, }; =20 @@ -483,7 +470,6 @@ int __init db1000_dev_setup(void) pfc |=3D (1 << 0); /* SSI0 pins as GPIOs */ alchemy_wrsys(pfc, AU1000_SYS_PINFUNC); =20 - software_node_register(&db1100_alchemy2_gpiochip); spi_register_board_info(db1100_spi_info, ARRAY_SIZE(db1100_spi_info)); =20 --=20 2.47.3 From nobody Sat Jun 13 23:11:23 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7AA6A3DDDA0 for ; Tue, 5 May 2026 09:05:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971911; cv=none; b=dE9ycc8cR9P3Elx4iFy8mscJaiBZTstJTL01QGEFOum0c7u/kqSd9l5J8I2nr1GTwz/CMgvA1vuzF7MP+Cgf0hL9a358/qTPqzv2mbPlUL6b931Fh+cK9z4jwgloZDu0uJpcoHh3rtNSc1MiBIvVMyDFUjM2SpWOjJ+hVIYKKgA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971911; c=relaxed/simple; bh=QeVcBC0p2efLvnkxs6LPE7MK3Mrj22TPDVPpQxugJ68=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WQJ0kSJltCGgEtFQpNLdPNgUVsbNj3Ety8tOEA8SaibmvsnetG1ALhxTGoZPsFol3bLC7OIirZH7EuRUScJ/wFJWez8gqhXoAXMmYsmW41TtKhD15b8xe1YJoTBvGtbuzyooOuEHk/WYWObjrUInzlZLwStCVgsQAhUwWVrYoDQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Zda2Fe+e; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fRE5ZmVR; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Zda2Fe+e"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fRE5ZmVR" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64555X124128691 for ; Tue, 5 May 2026 09:05:08 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= INuFIlg1Iic+E+tZYGrpzz+KhjpxnOVmhz7h22MxerM=; b=Zda2Fe+euQYq4XSs dGVfMLjszvNzWaTCr5tofteDbNuZwLxsCK8XeEugYwQEvk1DCGri4zmY7jzquXbM ZzMLHsI9oY1I9GMkYufPFQ5Kr0Y2BCWHZKTwmZTTF7iGg0S0UmX5UXUPbUSWAL+E VilR/W0lFTQpan4D5sfyldDX65er5XlM+2ElDwXK5qvy9PYOfBwvx9Uevg31elkh 77FU4axa1O1V+6777fh+U/rX2RRGkwr6co4rGzBGJK7Cl1HnqDrFOzGPc6NW2/zm wiXCWr7KoKFvY+nzGqN98a5LEqKBC4OIqoh65icDoWaacmvNMkTmpZ8RajHmRIIq 8s8UTQ== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dxsdw49ds-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 09:05:08 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50e2592ea3bso50167041cf.2 for ; Tue, 05 May 2026 02:05:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777971907; x=1778576707; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=INuFIlg1Iic+E+tZYGrpzz+KhjpxnOVmhz7h22MxerM=; b=fRE5ZmVRgaq39mE6nVjjDEXaIn4oRLiqJmRME6IYgmpWZo5Hq+5330JDVA8n0nHYy4 gpD7nr0YlbKuMgBmMvMowGZYU8EzKp5rtQFvRHQ+mSvPqZb1McNhRkpsg7Fq03cn96xg MnEASJW/0+TMWSPspKZet/1EF9RVw4f29J/KXyxx42a3UHXtkG86rQ3SMsr/NXHseY9p 2fjNo73/ILcqwX0v1YfPSnE4eVmhFBGx3qO2ByhSRiubrQrddxPCHclFp/t3pPhe/RRG i0f15SMgbk8Vgee3ugmRVLhZLog05l7xqw+w3WOTUnZ49wEvpFoxQrG5VxEinEZgFQf2 G7BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777971907; x=1778576707; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=INuFIlg1Iic+E+tZYGrpzz+KhjpxnOVmhz7h22MxerM=; b=n6V+IrGrhkgQkm5erkfvuPybfhoJdZ4IpkVfuMADSw0tMGtBdtynNxy42ETmUR3fCO KiyeLXSv9TDCnFLooKppFJz0MBDCC+MQIpMMKEw2QgYPcLMa/VkskfRKVciJpPu3W+Mn 2D+su8In3brx+fJI3TdU1DN0EC7FHlamgkH9R+U9vf3WJbB/jCfyjSPm5JBZ+KgRUFsQ cPb6T9mD6T69fEA2P8MIvAqGCMbNTzNYmCd1JmG/z9RZcDYDxwf/9XvLuvtW44IORStB FqpDrpkYcTXz4HxiGanLTjxwD6qF2QA0Amld0RqIZMW4XkQil7ggnAnHsZuMiCDRLZMq WQYA== X-Forwarded-Encrypted: i=1; AFNElJ8n8fWj4MaNa/L81fHxa5z2spnFN2D4RteUcHQ6HNqiv7v99XTjR5vFtshIkZEyOV84OeLFufrEQ2DHf3Y=@vger.kernel.org X-Gm-Message-State: AOJu0YzLTQLPufjz0m+vnTzDklyLgBgTUL2bIY+JQphepv8CNg0m9EP4 ISRHRm6VI7zNO2/wsbfu1DNcB/mMe4z/kAwyF6wwnLL7wbaTj9BJaS2coOoWlvPI4+XwHuFgeY6 I1Ii/W8AkVPIMh4p5kSrCjRqwgXvF6dlqUZZLap8KHIbWZG8D6A5ia4R1FQ5mlMlM2C1yEnLYkx U= X-Gm-Gg: AeBDieuG/ahXEvqIItu34SLwAQEqED1W92I8pnwZMgAcIbDrxROeO+V1G3oJmZ/XPgi trLbPeA/L4PvdeU6ZvAmqy1uB82g5JsmcYuiLyI9pLppfn31jbco0v0FoG0kUg4PUjVAxNboJmC m5UWViMruwCuSrO5MUHgIw8jSKRrGe3GY6/lMFo6eKvJ7mLiPMW5efQyzODxG7zVQYxb+GMHJxf z8ziLuGAEZRWs/OarqyKMl53AuOIoLEMUp4gOTLtfJZPyqsQILbiNY0pdG3Ks/yZJm18g6OEKFK TzeidAJ+kiZ/JeGysSOsp+jkFuVsatbpwxQdBM4ulefBO34/dpI5S8e2Ueb8URvqNShbB1ZNjE2 ATAcZ42kNLltaskQrMiiuIPZEUL+I3jLJBQPpgNXOPcnUjpgCTuFBkWLDMp0K1g== X-Received: by 2002:ac8:7f8b:0:b0:50d:9e36:f961 with SMTP id d75a77b69052e-5104be8b1d3mr189051981cf.20.1777971907474; Tue, 05 May 2026 02:05:07 -0700 (PDT) X-Received: by 2002:ac8:7f8b:0:b0:50d:9e36:f961 with SMTP id d75a77b69052e-5104be8b1d3mr189051711cf.20.1777971906975; Tue, 05 May 2026 02:05:06 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3276:ff51:bd0f:7f92]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48d14d1b4f6sm14133385e9.12.2026.05.05.02.05.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 02:05:06 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 05 May 2026 11:04:45 +0200 Subject: [PATCH v2 5/6] MIPS: alchemy: gpr: switch to static device properties Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260505-gpio-swnode-alchemy-v2-5-cb208afc5b56@oss.qualcomm.com> References: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> In-Reply-To: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5546; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=w2r1Ehd/+Dmr6x3jh5Mz6f43dEUaOznkob9K5/kq9ng=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp+bK4U3rm3m5FqVXrbJsEDNAj3X+3UzRd18+9Y V/WSSRRTJ+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCafmyuAAKCRAFnS7L/zaE w7OdD/9ME17bWjoc6s7vAxKNy9gdNJyvPkislvkbGLqJ3G5ADEbEl+n8MyjvIr4Vu4iExAnCWRJ /QNYlHYEXiy0x5nwvwB+jzd33dJwmaIZUKNQttvBPlyEDBE/m6YyAVhSNqp3XpA010qoPDxFLJB /FJj7m8pUNSC8T97KeTF+TQHWJO1Z5XtKQPr6RQ2S2eZysAyhJPlYQK+HEveCGzm2PQwUXMYbW5 uSggF8WgaC3z6RihNt99JvT5fITyGEkGl0+E6kPaHSsLIrIEN/rG4yf6yaesNdWaP3x0H2vnbiL R0qE1piyqSEsqAalQs6nHKmiBvPsXcJ3H0D9SPgMhqxrgCpMiyr1ycb/VCLw4ltO5zSZEqnkeIC n5VIMZovgro8txU1G+gTqrgQdB0h1znmcJRMowR67JurpApALfaT53nnw+IicEIC3KryHNvqzzY QGL008EGGQ1BXjy6USw01CvUSZnbnN+nbGsXtk0fHHo/6u4MkbC8LaiDQo81RXVvcs4qiywnzN5 fGBN43a4/0+R3KkuKD6EAhdkx4bmbaJhtIW7T3YU3maVfFpLISYy34C1HDsO5ZDBs5nltPHoJdF xhXSsuJpT00Q9iH6+uHp9b+osbeezACb5Wnu1Wn4wuzmhpUelcNxT254c+LaHr7O5oJoYV/4DFH qm9NExz1VNSkKtw== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=a7AAM0SF c=1 sm=1 tr=0 ts=69f9b2c4 cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=G2kbB0RmGtoI0qVf8F8A:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-GUID: XpesxEqRRndr-4bWGSywEEw-FSGxGcZk X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDA4MyBTYWx0ZWRfX9r95YHTATnGZ s4GxUCJkZqGgp/KbtJ02F0ACSt6af4QqTKGosuqAtwLedC08mMozRpRK6vIasEWBiFDykheJeyl YSO9YUZabH2IHSQNcIxK5iFHLyQk/odsTL1ld9m3PfffNoybNfgTDfYRQInWasmSCsnTc5Iq07O 3J197CNIV/hVnbCdFSNpZf2vSInhTBiQec9iRAI5rftCNWFYPFjYanTInC4/+IjFFuqjgkl3Rf7 XCUF1dxZ2rnOmLwalJ7tKddSRX3Cw5c1oX63QGtyQxTw/QYnAcfpMuf+l8/lp5c1tA0ACaYA8Pl e6D+0BguntX+1MFvsU70+H8AyUtamtW+ixpDFi2BcfRLsAn3RrA+NH4US3tXm4tvCebur+1a5ll pCd63nFDonKCz5sLQdV4fLHyiq0Xknf8NLGFTYg6h8nbrcr8Any+y7y3X6ck7kogXjLJ62fbB7S TXTIuqzyhUPv+4i4gQA== X-Proofpoint-ORIG-GUID: XpesxEqRRndr-4bWGSywEEw-FSGxGcZk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 phishscore=0 spamscore=0 adultscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050083 From: Dmitry Torokhov Convert I2C-gpio device and GPIO-connected LEDs on GPR board to software nodes/properties, so that support for platform data can be removed from gpio-leds driver (which will rely purely on generic device properties for configuration). Signed-off-by: Dmitry Torokhov [Bartosz: use platform_device_info::swnode] Signed-off-by: Bartosz Golaszewski Tested-by: Manuel Lauss --- arch/mips/alchemy/board-gpr.c | 122 ++++++++++++++++++++++++--------------= ---- 1 file changed, 71 insertions(+), 51 deletions(-) diff --git a/arch/mips/alchemy/board-gpr.c b/arch/mips/alchemy/board-gpr.c index f587c40b6d00a9ce5c25520f31e2b2ca60c80919..b7e57e3152009eb979307f924e4= 217a5911fb3da 100644 --- a/arch/mips/alchemy/board-gpr.c +++ b/arch/mips/alchemy/board-gpr.c @@ -13,11 +13,11 @@ #include #include #include -#include -#include #include #include #include +#include +#include #include #include #include @@ -161,66 +161,87 @@ static struct platform_device gpr_mtd_device =3D { /* * LEDs */ -static const struct gpio_led gpr_gpio_leds[] =3D { - { /* green */ - .name =3D "gpr:green", - .gpio =3D 4, - .active_low =3D 1, +static const struct software_node gpr_gpio_leds_node =3D { + .name =3D "gpr-leds", +}; + +static const struct software_node gpr_green_led_node =3D { + .name =3D "gpr:green", + .parent =3D &gpr_gpio_leds_node, + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_GPIO("gpios", + &alchemy_gpio1_node, 4, GPIO_ACTIVE_LOW), + { } }, - { /* red */ - .name =3D "gpr:red", - .gpio =3D 5, - .active_low =3D 1, - } }; =20 -static struct gpio_led_platform_data gpr_led_data =3D { - .num_leds =3D ARRAY_SIZE(gpr_gpio_leds), - .leds =3D gpr_gpio_leds, +static const struct software_node gpr_red_led_node =3D { + .name =3D "gpr:red", + .parent =3D &gpr_gpio_leds_node, + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_GPIO("gpios", + &alchemy_gpio1_node, 5, GPIO_ACTIVE_LOW), + { } + }, }; =20 -static struct platform_device gpr_led_devices =3D { - .name =3D "leds-gpio", - .id =3D -1, - .dev =3D { - .platform_data =3D &gpr_led_data, - } +static const struct software_node * const gpr_gpio_leds_swnodes[] __initco= nst =3D { + &gpr_gpio_leds_node, + &gpr_green_led_node, + &gpr_red_led_node, + NULL }; =20 +static void __init gpr_leds_init(void) +{ + struct platform_device *pd; + int err; + + err =3D software_node_register_node_group(gpr_gpio_leds_swnodes); + if (err) { + pr_err("failed to register LED software nodes: %d\n", err); + return; + } + + pd =3D platform_device_register_full(&(struct platform_device_info){ + .name =3D "leds-gpio", + .id =3D PLATFORM_DEVID_NONE, + .swnode =3D &gpr_gpio_leds_node, + }); + err =3D PTR_ERR_OR_ZERO(pd); + if (err) + pr_err("failed to create LED device: %d\n", err); +} + /* * I2C */ -static struct gpiod_lookup_table gpr_i2c_gpiod_table =3D { - .dev_id =3D "i2c-gpio", - .table =3D { - /* - * This should be on "GPIO2" which has base at 200 so - * the global numbers 209 and 210 should correspond to - * local offsets 9 and 10. - */ - GPIO_LOOKUP_IDX("alchemy-gpio2", 9, NULL, 0, - GPIO_ACTIVE_HIGH), - GPIO_LOOKUP_IDX("alchemy-gpio2", 10, NULL, 1, - GPIO_ACTIVE_HIGH), - }, +static const struct property_entry gpr_i2c_props[] __initconst =3D { + PROPERTY_ENTRY_GPIO("sda-gpios", &alchemy_gpio2_node, 9, GPIO_ACTIVE_HIGH= ), + PROPERTY_ENTRY_GPIO("scl-gpios", &alchemy_gpio2_node, 10, GPIO_ACTIVE_HIG= H), + PROPERTY_ENTRY_U32("i2c-gpio,delay-us", 2), /* ~100 kHz */ + PROPERTY_ENTRY_U32("i2c-gpio,timeout-ms", 1000), + PROPERTY_ENTRY_BOOL("i2c-gpio,sda-open-drain"), + PROPERTY_ENTRY_BOOL("i2c-gpio,scl-open-drain"), + { } }; =20 -static struct i2c_gpio_platform_data gpr_i2c_data =3D { - /* - * The open drain mode is hardwired somewhere or an electrical - * property of the alchemy GPIO controller. - */ - .sda_is_open_drain =3D 1, - .scl_is_open_drain =3D 1, - .udelay =3D 2, /* ~100 kHz */ - .timeout =3D HZ, +static const struct platform_device_info gpr_i2c_pdev_info __initconst =3D= { + .name =3D "i2c-gpio", + .id =3D PLATFORM_DEVID_NONE, + .properties =3D gpr_i2c_props, }; =20 -static struct platform_device gpr_i2c_device =3D { - .name =3D "i2c-gpio", - .id =3D -1, - .dev.platform_data =3D &gpr_i2c_data, -}; +static void __init gpr_i2c_init(void) +{ + struct platform_device *pd; + int err; + + pd =3D platform_device_register_full(&gpr_i2c_pdev_info); + err =3D PTR_ERR_OR_ZERO(pd); + if (err) + pr_err("failed to create I2C device: %d\n", err); +} =20 static struct i2c_board_info gpr_i2c_info[] __initdata =3D { { @@ -270,8 +291,6 @@ static struct platform_device gpr_pci_host_dev =3D { static struct platform_device *gpr_devices[] __initdata =3D { &gpr_wdt_device, &gpr_mtd_device, - &gpr_i2c_device, - &gpr_led_devices, }; =20 static int __init gpr_pci_init(void) @@ -284,8 +303,9 @@ arch_initcall(gpr_pci_init); =20 static int __init gpr_dev_init(void) { - gpiod_add_lookup_table(&gpr_i2c_gpiod_table); i2c_register_board_info(0, gpr_i2c_info, ARRAY_SIZE(gpr_i2c_info)); + gpr_i2c_init(); + gpr_leds_init(); =20 return platform_add_devices(gpr_devices, ARRAY_SIZE(gpr_devices)); } --=20 2.47.3 From nobody Sat Jun 13 23:11:23 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 43D633E3C5D for ; Tue, 5 May 2026 09:05:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971913; cv=none; b=FFW8RL8pL+mHO7uKPG2PUH81hWLL7suIgdvT5fQ3e3YGeLBNlfAG8cxxfJsLSNGNy3tJA0z3VYhzUWOUc9nT60k/RU6cVkm80lYQHf0uPXhCr1Kiigacjg4Hmn8zGRq6jDaxntF4IAhQiuG5kz5tcbJ64m+ZhKOx0OfoWfnbHcg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777971913; c=relaxed/simple; bh=VYWLcciMZy7vhIJ0fJ6MxOtLCwgzkw2TyvXIKliZPVs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FN0UzWHtnXAjTcXrxPu2SBvktWCCHji3Rx3O2jfJLKwh5yrh5d1RuCT2NuK0+PQ6SuWuRcwvHqutiLWsCsrIXos4ya391HkAVhqH0D07zLzbkVywTmPF+9WDZ/6qUz8pTxTZn2dDxqOkqx7vpDC19EFd90RXYk0+Dmi9HPzLY48= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=PPwDzPS/; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=cdBWZ94+; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="PPwDzPS/"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="cdBWZ94+" Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6452fCfo4128666 for ; Tue, 5 May 2026 09:05:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= n6Yc6o2fojNozyNSjuPTq5tjkKOv4sjUssfLaOoQ5Ss=; b=PPwDzPS/eiwZ7btZ 481yOOHskIUC0Dj7FQ8RTnWHYsH7RM/ZzfLzR2GFp0HjjafwELqeWuLJQP53EAhb JcUJo2XaAss0uJ2M1kvDKrhvtFux1SXbEjet4B16c0RqnrOySd8ltCugeuYGPqcm QIH3LgHU6Ry1LNYV1SgY1L2B3rIFReaZq2m4zqZavHJlyGZp3EyurHsdsksPmXj0 E0LpOew+tnPbLPwSbVaMtxeGQ8J3reuAneu895wxdxKCoPm8ZQU9MUF0AMKuJxX6 l0CT/m6CmxOucQDVA4C56mvkoBI8n6SfLOOEtKwXOyxVHlz40gf09KkIIsotg8rL nfo4Wg== Received: from mail-qt1-f200.google.com (mail-qt1-f200.google.com [209.85.160.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dxsdw49dw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 05 May 2026 09:05:10 +0000 (GMT) Received: by mail-qt1-f200.google.com with SMTP id d75a77b69052e-50faf575af4so118117281cf.0 for ; Tue, 05 May 2026 02:05:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1777971910; x=1778576710; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=n6Yc6o2fojNozyNSjuPTq5tjkKOv4sjUssfLaOoQ5Ss=; b=cdBWZ94+/6HQBqMOs+4FOHUTERrRRs/oyj0nBfPDhhBzIJ6xz5Lc2gJ9BG1/ktbx8l PCRp6IpEnnoiOMjiOJpFB1JB3GscBCp8w+Sog3oDxpfoqAi9btFjkx/VqDVQF7Xfy9w6 IAKxTZPvzeFKBqM6VT+Thpy6CvltDGGjSbZRSHhEV7DhuTivHJsjm9XKwj1QjlSO7y01 Dnw0xrjYd+sZyk5vlm1QVoe89ewVcRtwp5sMuz+bSpHggzmJQ63VQS+ZfAq/3XthCP2p XlmheQO+gyefVgRWcKGeUx+MbzjhG+FWogjzfz8OYHCx8n64bn1DfbsDWpnlUV2UP7DW UnkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777971910; x=1778576710; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=n6Yc6o2fojNozyNSjuPTq5tjkKOv4sjUssfLaOoQ5Ss=; b=FUBywZ5fSPGmJJdU/yWN5GUJWAWUgkegLG1HKJZ7UXedC24dNNio5nMe9abPE7+aQ2 zTv8VFXtUK6HkDCCLIqnHjH0CLVp188QZoJZiJNsfPMnoBW/mGKJaDni0jDKtknv71mx VtLO5tJQyweyH3xzNo4xjYgZ6vAOHVlRgtNFPVt/N1oAw2aHlpg//j4Fzgenek9vTlbK phZb0GZ9IIsBuXFFIsluurzUW7AbdOGD5i/s7TmWdzjInDhduIqgyuBNmJqzKc6/h56d +V7/vkLWXfUN/k/jQ0J5u+TzudOlRMAV3Zypx0Zq0uHndLDujSXClqbZERW4OdmOVwKi JVng== X-Forwarded-Encrypted: i=1; AFNElJ/iHgEKFxbEbuWrLpeSoE/FHk2SWoV/q1uX3dpW8lNVbPNs0gFNTR8YxIWFs6HH3IhmOz4E7/StbkeDLd8=@vger.kernel.org X-Gm-Message-State: AOJu0YzjWqYkDjZzN+tJ0bJEUCCKhA+HteqIps0xkld2YXqou0ExxAVh +2xSQd9UR8VTVFHxVxfHcARSMZDHTIdJRJpVuEMma6EVbnIdCABXAXV0D4ht4U+DWAOlElChph/ zjAR1R4kjw0qZ1Xxj0IsIS1mNMFdOUGiBJl4zelB7dEFuHP52qVRYhV8Jj9IR9ApeIZjAbQzJ2x g= X-Gm-Gg: AeBDiesf9EKU5deHvluiNrOouX99+x1B64gvti8rVqwGZOaxy1SFlFIzsFpluGftLIy tLQi+rbhOENCrZX3wxDr86PfJiogwB6AJAIed3+ehSZfSHSgpRG0Ngc3hPEdJybq/EigQXxzjaf MRGiMgsuDe/b3/KiCN4ghDbp3w4zT27inP8xEyzyEZUiTxiTRWXz73wTntVbvIykRYNdHwS1A+T GENOR2kwBn+p/qizHg3+vLcccH4wyFifgWAiwSwNLqqkPDdV9UOdhKg4ZIxRG7RL5F8y8lg2YZo VF922VwCKu58I9gqDGZ4DUWqzCkw02Qxv+L4eh6Ww1TpsJB6O6KSGZgkVwRZyKgem/GfJyC83cy 23tzsqJp+KEF96pt0k+u6KnHmjWMeHu+fGpXXJvzdyIM1Fo3L2GBPxDfNmejcIg== X-Received: by 2002:a05:622a:2304:b0:50e:5cc3:6f42 with SMTP id d75a77b69052e-5104c033490mr190950481cf.59.1777971909526; Tue, 05 May 2026 02:05:09 -0700 (PDT) X-Received: by 2002:a05:622a:2304:b0:50e:5cc3:6f42 with SMTP id d75a77b69052e-5104c033490mr190950061cf.59.1777971909024; Tue, 05 May 2026 02:05:09 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:3276:ff51:bd0f:7f92]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48d14d1b4f6sm14133385e9.12.2026.05.05.02.05.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 02:05:08 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 05 May 2026 11:04:46 +0200 Subject: [PATCH v2 6/6] MIPS: alchemy: db1300: switch to static device properties Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260505-gpio-swnode-alchemy-v2-6-cb208afc5b56@oss.qualcomm.com> References: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> In-Reply-To: <20260505-gpio-swnode-alchemy-v2-0-cb208afc5b56@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=10298; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=5zi7qR/K+v+P/K3FWqxjCmj3ofA+IeU+ByyLN3VhO/E=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBp+bK5OoKsp+RHxXNyxkGrO5mAoa6lTcOcdZZTx hcW3i8lejqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCafmyuQAKCRAFnS7L/zaE w6PjD/9OclcHlnb81r7bkxIcuQUOSD99Q+ipZgHGqWKLa0G2+syFSxcXFhriivPe4Kky7DjxJky x7MqIY6E4G1n5HWqSqlfXmmLqhX4fM0aPGiqYTAI8wtmXyzXU7wRQ1yCEcyiw71sUhasARtv8/D 9lCjdsd+aMyPpv2r2UqeSTN54CdL1KUNy8yOU3FA4cb/bpCdf+yEuFI3fHmtslHw97eFvQ9HU7E Ciy5MsPWpJFiY9AnO+cWCILLgkz3d5cjMH14TgFmzn9tlH29WauGuOdS+O+SylQR+yjSnaHzapZ Lql6Rg/30ndU2LKO3f1yithiE4K7nxNo3GWmHgjiSEWCx7DQw6wHp3ygnmH6RtG8oYx7Q6mGhuS 1JfG7wddffcez5Oum6VxnEVVLgJiEAnyW39T1ddcmxDblxheDQu3uyfWwYuKAyiNOgKFYrUkb9o +Tl6BSYLDdw0fDYNpXj7FOHe8KX0Z2TPZNagwY0wfmjFaBa9QUMUVqBV89lncT5ih87C56pZZTX fNTR74lxjsyqR/ycIkISxl1t3ViwJiqor4BuGAgdO60So259B5qSk5D2kBglX+dd7c8vU2ADjf4 WQtdHhWgfRFxeRBLtSE8NBjswXpE2PA7phpxEw6Vve3j5KC7M0cB4JM2lNijYbKZFwFlQwvnMRo 8wYqpLR8lp9QupA== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=a7AAM0SF c=1 sm=1 tr=0 ts=69f9b2c6 cx=c_pps a=JbAStetqSzwMeJznSMzCyw==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=gowsoOTTUOVcmtlkKump:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=fAK9oTJ6_i1v3btX8BAA:9 a=QEXdDO2ut3YA:10 a=uxP6HrT_eTzRwkO_Te1X:22 X-Proofpoint-GUID: 5xA24Oei85Pe25J-ECSxaddhdy_Fjlke X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTA1MDA4MyBTYWx0ZWRfX5t8N4U2jtBa+ Hl6nO8pGQWIGk/ahmc2IJuny9o6SJngbOq1gyMpGFg8vE1Pz0KSv3EIyK0E9NmmSt6pjpCG4+uj h1xQltxlJhQs+6vXxHk+pwe3EylNc802L3VQ6J/CtUc5KgEy8zJ+1AKdRDmiodpAHZULmL8bXkp J1OGwvlaL4PUd5ILFUHY/oxIIkP6cYpv8lFrOF3NgO5kdKRzJqgK4C/4R5f9spO/U15CyVJUKE0 fclZHJgGNbLuK9IOqg6Y4x7wVt6MgJIM9UzAYJmv6qjpp8Yi59uziy/50vwCvYN/8kXYeR0TRbE 3E6fcRf2QuIyprjGEzQkJp4FEZ58nGIX3x/5CTMNNV0f7EoBVq+SY5CoFoC8czmjwwyc9rNcxql zwGVtceEE3QupK3ek+f7M5ywe2UUJ2G5BmMXUplJ3EM/KrLiL9P31u+QgEsD5LX/onxr2P8yl+9 H8TAZmFMJMXrqUdLwAQ== X-Proofpoint-ORIG-GUID: 5xA24Oei85Pe25J-ECSxaddhdy_Fjlke X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-05_02,2026-04-30_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 phishscore=0 spamscore=0 adultscore=0 clxscore=1015 suspectscore=0 priorityscore=1501 malwarescore=0 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2605050083 From: Dmitry Torokhov Convert "5way switch" gpio-keys device and smsc911x ethernet controller to use static device properties instead of bespoke platform data structures for configuration. Signed-off-by: Dmitry Torokhov [Bartosz: use platform_device_info::swnode] Signed-off-by: Bartosz Golaszewski Tested-by: Manuel Lauss --- arch/mips/alchemy/common/gpiolib.c | 6 + arch/mips/alchemy/devboards/db1300.c | 209 +++++++++++++++-----= ---- arch/mips/include/asm/mach-au1x00/gpio-au1300.h | 3 + 3 files changed, 144 insertions(+), 74 deletions(-) diff --git a/arch/mips/alchemy/common/gpiolib.c b/arch/mips/alchemy/common/= gpiolib.c index 2141eae5ce4502aad920333cba1f7a6e08411f9e..c926cc13756171e0650eed93ca1= 4ec99c487782f 100644 --- a/arch/mips/alchemy/common/gpiolib.c +++ b/arch/mips/alchemy/common/gpiolib.c @@ -104,9 +104,14 @@ const struct software_node alchemy_gpio2_node =3D { .name =3D "alchemy-gpio2", }; =20 +const struct software_node alchemy_gpic_node =3D { + .name =3D "alchemy-gpic", +}; + static const struct software_node *alchemy_gpio_node_group[] =3D { &alchemy_gpio1_node, &alchemy_gpio2_node, + &alchemy_gpic_node, NULL }; =20 @@ -189,6 +194,7 @@ static int __init alchemy_gpio_nodes_init(void) =20 alchemy_gpio_chip[0].fwnode =3D software_node_fwnode(&alchemy_gpio1_node); alchemy_gpio_chip[1].fwnode =3D software_node_fwnode(&alchemy_gpio2_node); + au1300_gpiochip.fwnode =3D software_node_fwnode(&alchemy_gpic_node); =20 return 0; } diff --git a/arch/mips/alchemy/devboards/db1300.c b/arch/mips/alchemy/devbo= ards/db1300.c index b46f5e47da2c32be3b44bcb80ea4b6e2623f735b..6aaba24849440956bc56bd026f5= 637fed6d0fe0b 100644 --- a/arch/mips/alchemy/devboards/db1300.c +++ b/arch/mips/alchemy/devboards/db1300.c @@ -7,10 +7,10 @@ =20 #include #include -#include -#include +#include +#include #include -#include /* KEY_* codes */ +#include #include #include #include @@ -20,6 +20,7 @@ #include #include #include +#include #include #include =20 @@ -237,23 +238,36 @@ static struct resource db1300_eth_res[] =3D { }, }; =20 -static struct smsc911x_platform_config db1300_eth_config =3D { - .phy_interface =3D PHY_INTERFACE_MODE_MII, - .irq_polarity =3D SMSC911X_IRQ_POLARITY_ACTIVE_LOW, - .irq_type =3D SMSC911X_IRQ_TYPE_PUSH_PULL, - .flags =3D SMSC911X_USE_32BIT, -}; +static u8 db1300_eth_macaddr[6]; =20 -static struct platform_device db1300_eth_dev =3D { - .name =3D "smsc911x", - .id =3D -1, - .num_resources =3D ARRAY_SIZE(db1300_eth_res), - .resource =3D db1300_eth_res, - .dev =3D { - .platform_data =3D &db1300_eth_config, +static const struct platform_device_info db1300_eth_info __initconst =3D { + .name =3D "smsc911x", + .id =3D PLATFORM_DEVID_NONE, + .res =3D db1300_eth_res, + .num_res =3D ARRAY_SIZE(db1300_eth_res), + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_U32("reg-io-width", 4), + PROPERTY_ENTRY_U32("reg-shift", 0), + PROPERTY_ENTRY_BOOL("smsc,irq-push-pull"), + PROPERTY_ENTRY_STRING("phy-mode", "mii"), + PROPERTY_ENTRY_U8_ARRAY("local-mac-address", db1300_eth_macaddr), + { } }, }; =20 +static void __init db1300_eth_init(void) +{ + struct platform_device *pd; + int err; + + prom_get_ethernet_addr(db1300_eth_macaddr); + + pd =3D platform_device_register_full(&db1300_eth_info); + err =3D PTR_ERR_OR_ZERO(pd); + if (err) + pr_err("failed to create eth device: %d\n", err); +} + /**********************************************************************/ =20 static struct resource au1300_psc1_res[] =3D { @@ -356,62 +370,110 @@ static struct platform_device db1300_i2c_dev =3D { * according to the schematics swap up with down and left with right. * I chose to use it to emulate the arrow keys of a keyboard. */ -static struct gpio_keys_button db1300_5waysw_arrowkeys[] =3D { - { - .code =3D KEY_DOWN, - .gpio =3D AU1300_PIN_LCDPWM0, - .type =3D EV_KEY, - .debounce_interval =3D 1, - .active_low =3D 1, - .desc =3D "5waysw-down", - }, - { - .code =3D KEY_UP, - .gpio =3D AU1300_PIN_PSC2SYNC1, - .type =3D EV_KEY, - .debounce_interval =3D 1, - .active_low =3D 1, - .desc =3D "5waysw-up", - }, - { - .code =3D KEY_RIGHT, - .gpio =3D AU1300_PIN_WAKE3, - .type =3D EV_KEY, - .debounce_interval =3D 1, - .active_low =3D 1, - .desc =3D "5waysw-right", - }, - { - .code =3D KEY_LEFT, - .gpio =3D AU1300_PIN_WAKE2, - .type =3D EV_KEY, - .debounce_interval =3D 1, - .active_low =3D 1, - .desc =3D "5waysw-left", - }, - { - .code =3D KEY_ENTER, - .gpio =3D AU1300_PIN_WAKE1, - .type =3D EV_KEY, - .debounce_interval =3D 1, - .active_low =3D 1, - .desc =3D "5waysw-push", - }, -}; +static const struct software_node db1300_5waysw_node =3D { + .name =3D "db1300-5wayswitch", + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_BOOL("autorepeat"), + PROPERTY_ENTRY_STRING("label", "db1300-5wayswitch"), + { } + }, +}; + +static const struct software_node db1300_5waysw_down_node =3D { + .name =3D "5waysw-down", + .parent =3D &db1300_5waysw_node, + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_U32("linux,code", KEY_DOWN), + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpic_node, + AU1300_PIN_LCDPWM0, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_U32("debounce-interval", 1), + PROPERTY_ENTRY_STRING("label", "5waysw-down"), + { } + }, +}; + +static const struct software_node db1300_5waysw_up_node =3D { + .name =3D "5waysw-up", + .parent =3D &db1300_5waysw_node, + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_U32("linux,code", KEY_UP), + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpic_node, + AU1300_PIN_PSC2SYNC1, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_U32("debounce-interval", 1), + PROPERTY_ENTRY_STRING("label", "5waysw-up"), + { } + }, +}; + +static const struct software_node db1300_5waysw_right_node =3D { + .name =3D "5waysw-right", + .parent =3D &db1300_5waysw_node, + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_U32("linux,code", KEY_RIGHT), + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpic_node, + AU1300_PIN_WAKE3, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_U32("debounce-interval", 1), + PROPERTY_ENTRY_STRING("label", "5waysw-right"), + { } + }, +}; + +static const struct software_node db1300_5waysw_left_node =3D { + .name =3D "5waysw-left", + .parent =3D &db1300_5waysw_node, + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_U32("linux,code", KEY_LEFT), + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpic_node, + AU1300_PIN_WAKE2, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_U32("debounce-interval", 1), + PROPERTY_ENTRY_STRING("label", "5waysw-left"), + { } + }, +}; + +static const struct software_node db1300_5waysw_push_node =3D { + .name =3D "5waysw-push", + .parent =3D &db1300_5waysw_node, + .properties =3D (const struct property_entry[]){ + PROPERTY_ENTRY_U32("linux,code", KEY_ENTER), + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpic_node, + AU1300_PIN_WAKE1, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_U32("debounce-interval", 1), + PROPERTY_ENTRY_STRING("label", "5waysw-push"), + { } + }, +}; + +static const struct software_node * const db1300_5waysw_swnodes[] __initco= nst =3D { + &db1300_5waysw_node, + &db1300_5waysw_down_node, + &db1300_5waysw_up_node, + &db1300_5waysw_right_node, + &db1300_5waysw_left_node, + &db1300_5waysw_push_node, + NULL +}; + +static void __init db1300_5waysw_init(void) +{ + struct platform_device *pd; + int err; =20 -static struct gpio_keys_platform_data db1300_5waysw_data =3D { - .buttons =3D db1300_5waysw_arrowkeys, - .nbuttons =3D ARRAY_SIZE(db1300_5waysw_arrowkeys), - .rep =3D 1, - .name =3D "db1300-5wayswitch", -}; + err =3D software_node_register_node_group(db1300_5waysw_swnodes); + if (err) { + pr_err("failed to register 5waysw software nodes: %d\n", err); + return; + } =20 -static struct platform_device db1300_5waysw_dev =3D { - .name =3D "gpio-keys", - .dev =3D { - .platform_data =3D &db1300_5waysw_data, - }, -}; + pd =3D platform_device_register_full(&(struct platform_device_info){ + .name =3D "gpio-keys", + .id =3D PLATFORM_DEVID_NONE, + .swnode =3D &db1300_5waysw_node, + }); + err =3D PTR_ERR_OR_ZERO(pd); + if (err) + pr_err("failed to create 5waysw device: %d\n", err); +} =20 /**********************************************************************/ =20 @@ -765,9 +827,7 @@ static struct platform_driver db1300_wm97xx_driver =3D { /**********************************************************************/ =20 static struct platform_device *db1300_dev[] __initdata =3D { - &db1300_eth_dev, &db1300_i2c_dev, - &db1300_5waysw_dev, &db1300_nand_dev, &db1300_ide_dev, #ifdef CONFIG_MMC_AU1X @@ -805,8 +865,6 @@ int __init db1300_dev_setup(void) /* * setup board */ - prom_get_ethernet_addr(&db1300_eth_config.mac[0]); - i2c_register_board_info(0, db1300_i2c_devs, ARRAY_SIZE(db1300_i2c_devs)); =20 @@ -849,6 +907,9 @@ int __init db1300_dev_setup(void) swapped =3D bcsr_read(BCSR_STATUS) & BCSR_STATUS_DB1200_SWAPBOOT; db1x_register_norflash(64 << 20, 2, swapped); =20 + db1300_eth_init(); + db1300_5waysw_init(); + return platform_add_devices(db1300_dev, ARRAY_SIZE(db1300_dev)); } =20 diff --git a/arch/mips/include/asm/mach-au1x00/gpio-au1300.h b/arch/mips/in= clude/asm/mach-au1x00/gpio-au1300.h index b12f37262cfa5466e8d167ca120740b47e61514e..c92d3c2a5ef87e4c21c90f56491= d63e4894faba4 100644 --- a/arch/mips/include/asm/mach-au1x00/gpio-au1300.h +++ b/arch/mips/include/asm/mach-au1x00/gpio-au1300.h @@ -13,6 +13,9 @@ #include =20 struct gpio_chip; +struct software_node; + +extern const struct software_node alchemy_gpic_node; =20 /* with the current GPIC design, up to 128 GPIOs are possible. * The only implementation so far is in the Au1300, which has 75 externally --=20 2.47.3