From nobody Mon Jun 8 20:53:44 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 BD6FB3C9ED0 for ; Tue, 26 May 2026 16:40:55 +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=1779813657; cv=none; b=NxTOhwPhJ6HJRxk4kf5fFVOl9uz6TXzwaceYS8qKZTyr2asuLxji4Ee+wGwCGJr+Oa9rzxTdtn5y0KhaZj4mR7JKqdgPAhH+lx3MgwFMek/m8yN4zn/iw0QJf7ULQe+NKeQ5XbEd9Lmf+0R8BbzdqbX3olO7iOexgOGjMHl8lLY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779813657; c=relaxed/simple; bh=k7ZW0O9vAbN0v2YgkpDd6Lr3f61vP/lKqMLDraMQyMQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Enf0vVMhFOy88xcIusVENOOltPW2d062w5aiVd/VjUo0I0SUqD2xou6XJbrQ3Ce/Pq7fZN2nrKurM8kyrLAYF0mHhw5eKfZy7LPtG6KQ80Xf8JTk3Dt62zgrP7NYDA3MFNb1xvnF/gT3LrIGWdejWiUvpqPYtScE7vdhDLpAar4= 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=MgCOxuT0; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=O1SPuh/V; 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="MgCOxuT0"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="O1SPuh/V" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64QCsZGj1575474 for ; Tue, 26 May 2026 16:40:55 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= lzGOw3DpCnZEragGQkaR8D3j6QpC3n1Dj8YoX49wt7g=; b=MgCOxuT0QQNLPc8K Yjh7bQBzfzaLd2cr2+Ga51YREM/n4ttW8nyzWOzxU0BIoYBs3cVjhXIELb8A7SFd gP+k0aqXvAXg/BYN4O3/POcmfa/ixAtE/gdk6tThaYqRZJzfHl6iEgy+0ELXV0jJ JaQY6m6h8kFGRfccbhAoUesixsf8h8yY6pCCTRtcW+aVKVPpKU/hyjJloj03Wov8 sZIXjNoyvOMJyAGIhouw1S8ygz5+0oNpwqZRaejlzxXYIHJ4lkqcpOJ8SL9S0fcB /yTw+FSEUVpDlbNG/D79iuVMT5vIg097hONvjnTFmhfRrwcmEAToVVaNm9aN0flc lFa/QQ== 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 4ecqvww82q-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 16:40:55 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-50fbc70cfbdso83206861cf.2 for ; Tue, 26 May 2026 09:40:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779813654; x=1780418454; 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=lzGOw3DpCnZEragGQkaR8D3j6QpC3n1Dj8YoX49wt7g=; b=O1SPuh/Vpomfj3v6/mEPHvpi9dYdU2YPMb3TEOUB9PXC1GzCWWU3dcWFtCezFnED4K duh/HlFqcrXUehsrtQzMB50VdEBdztGDTIcsiS4nyFZ6J6/P0tKIU6IGzSoa+lRsj0IK 65eTkw8UIBsw6dEM1sDZfCBx+CRj3Jaglr8vrzfd9cn5c9x4dF/5llDxt8/QCdrhmn6i TSFwlfbUTh5HvWP2qF+SPaVPbpQOCvsaNTHbbgvd1/VlLzL2SzsBugvtXLQYcYGffiyH wMtr285k6smGob8E9dX09QrvgYpH3ZEnBQ3lWHWar6twjxO2R9eRVyz6iDSiqe2me9tQ NbfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779813654; x=1780418454; 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=lzGOw3DpCnZEragGQkaR8D3j6QpC3n1Dj8YoX49wt7g=; b=J52sFNOT6q8X1/l8JOOZDlihq78qeq7jYnq+0mCFn6NO6boW1SelHKiCL2r5BsJGvm +SJPU1tvwm7ExVfD4mMpfh/+xNGyggxu8CUhhyOGOxfcVeQs1wzEFEwU7GlPe3poC4/N TnN5jf2N3adAvTXR1HqqP3ZG3DJn8nwXjF/UtpzbLi7nXsrpCNBKr4JEJcpZTX91PRa2 dGaPrTZnV/i1y6aPV8ZVWweZZ2lSI7zFXdLAqPvCfrDoU045fdXmkoqe/d60EvoBxMir VpsUl6ssvCBqfJdsrrsOOSbtGHUUqE94tWCDa8Q2i/sAA+Mm6Fp3c3Pgg7rm4tZ6Yz0G kiLA== X-Forwarded-Encrypted: i=1; AFNElJ+MBJGibs8HoygAcPYRewNEiHfrsQP6pKtSmHpvqR7Xf+sp+YMDjVNM/6ZKW+F89eeNo3N9YzJ9Kqbb55E=@vger.kernel.org X-Gm-Message-State: AOJu0YwhuqDQtZHsGPbv7jEyUpmkgbpZLUC6InZ/KJRGYnYTPRkv14Zd 3CKqxNZ6yevNMfTGWlggVdv8HILxX7SuO+ERsObGhSq6Wfm2NIYkOikQ4MnEB4sQgdtATGkP/jP IiICDHtsUtuMNIGI9ugw2Y0X9zKY/BAdvXclyDQfmb3c1/x7Y2C0GIOYTHrL+H3uPjKo= X-Gm-Gg: Acq92OGgKnLDLMYwRGRJ+NDXXOt4FvY4U5Q7Pxu39hrDfjbvg7GF510BinYde+QD7dH HftRlHejZIyMEt2LLAfKstaG2zVON1hc5QtCpkG/rB+WKLoG73Z1+IHMWTrWY9+UzD0T5xSu6Kd BS6d67QpPTyDyOpohhidNGEoCb/0AS8DyYoXncw5OcVLOQT+ciTfJLzq1ra+hwGF4KlroaUJPHO 1SHNL8TIVkJEzElOK2UBJabTzeOJM/8PeL4ByhFFa5EA9XKaAZhShYAo8gryBFsniNSCG9QycrL HA/GPYScDPyYPs9FB1Fe/+31UxdOkXuHDLpEz84EK302M9QBHbdHlWEvJtzqBBHhZXVpC/Jz8Ff vHchgObeAgQrEDUrxC9Qugvq4iTZHTDjdvChCL35G3rgHNUDHbFA= X-Received: by 2002:a05:622a:550b:b0:516:e10f:b1fa with SMTP id d75a77b69052e-516e10fb407mr170406571cf.2.1779813654174; Tue, 26 May 2026 09:40:54 -0700 (PDT) X-Received: by 2002:a05:622a:550b:b0:516:e10f:b1fa with SMTP id d75a77b69052e-516e10fb407mr170406241cf.2.1779813653708; Tue, 26 May 2026 09:40:53 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:c518:e53b:f5c3:921d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d48e23sm35605880f8f.20.2026.05.26.09.40.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 09:40:53 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 18:40:32 +0200 Subject: [PATCH v3 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: <20260526-gpio-swnode-alchemy-v3-1-2aaa1238ae4a@oss.qualcomm.com> References: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> In-Reply-To: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski , Manuel Lauss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1268; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=k7ZW0O9vAbN0v2YgkpDd6Lr3f61vP/lKqMLDraMQyMQ=; b=kA0DAAoBBZ0uy/82hMMByyZiAGoVzQuirduTyuXZttYqXGgJf7KKJWjTGawFCxpLCySCOIqMf okCMwQAAQoAHRYhBJHlEy3ltUYde6Jl/AWdLsv/NoTDBQJqFc0LAAoJEAWdLsv/NoTD1asQAJFl 2/8ZlYNyk2vNNmFHbhgJZvGfuyJ7W1MWQ05rmkYiNw0rrFpeJKbPdZlFL9+61BSv20gqOwLUrHH 8950m093qQ/tIG5h7ZinnCAuxvJrcGOUGvBdgKebb5Rklyfhpu2swQlSiaRXQtmJcf2GEW/emWV dLeX9Q8MUGBtYLSV1d3KAXq+pnhNX4tQmOYf9TjwIKKme7h4LCTRmpdvbYECUyF91injVXPZYIu JCuU2cKODye92/cLW9/FojHq1u+JIlE7WHExKchxVhQV+7nb83uEkUF0vvubj3cZkpEFLvZDJ0G +gBsfd+rvTcv5ynbVeLVht0+erx4M/4nkaiziSRL7xtRqxIjeH79hcZsA9vSMyiVMm8WlhbUtN9 xwrB30NR+mhS44xyt8n52CnJzJ4NviAYsw+iYZ9G3YsdlRMKYGNxkaJ9tFx9dVBA5qPQSbYQx4+ zbEGYHIoAkLMvv8smvdfghuYZHAh6t1H7X2QPvAP+qs+hnm8DeA6TwFDDkJ6/+MXEHU9EI/uyAs aSYjiQTGGheEUoxeiyMJBa5tC6wPsvs5iQQyuLi7q8h/fHTNOkVmnQxsIQI7lfARfViKSEzqBD1 1wn3l3Ggg4Lg8B1JfStHpCc3C6m0vwLu7I7Nhe/dRaYQN+fsk6Ou7sDjmrbGXeA9V0sZlh9J+1q sJRCx X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: 7CI56vbC1uKL5kNMQBZPOfbl5B2xjmeE X-Proofpoint-GUID: 7CI56vbC1uKL5kNMQBZPOfbl5B2xjmeE X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDE0NCBTYWx0ZWRfX4kpkHAEPPuYt GPrSsZJTV8F2nL3ceMASCXjzJfh9qjKO8blsBYTL976c9DC5rw5dATeCpPAeVKq5uUtZ1afaUbM wNxUaD/bSQhUfe7bU5yQBn4zaNcAKAQ1J80glVkG0BLjopgcyj3Xb5HsMpPX+APGBfL7eTRxiNt p8U+GPIscAmBMwc7ox1IiCjoPruEVJaKy5foPFfL41hJpFEx4l0YHrCNB+CCMFIUWwc7dh/1vsr 8YlpzMzy+jYpP6ymzs47VzFfk/IPZ+woVH7m5GfyFQpxo86b0UHURAQSOjKxbS/QKgTJtVAN1fP gmk2dXk391ukoeWYkb635rV2G+vApJh6CzPG/L2RU3QhWvh8Y/pTuqLI57h+T5f25RW3cc6eiIo MFNwMWp50HxmDFOVmAUtAPz1R+M2R/alSPpDHbVutwLAOWd+WUoaOxEEs8XfBUZznQ0NW/8u7bu y/6AXOuskxvdgUJGBww== X-Authority-Analysis: v=2.4 cv=M4l97Sws c=1 sm=1 tr=0 ts=6a15cd17 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=yOCtJkima9RkubShWh1s:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=WsugvLXgGilFTQl6Q-8A:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_04,2026-05-26_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 impostorscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260144 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, | ^~~~~~~~~~~~~~~~~~~~~~ Tested-by: Manuel Lauss Signed-off-by: Bartosz Golaszewski --- 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 Mon Jun 8 20:53:44 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 424BB3C583E for ; Tue, 26 May 2026 16:40:58 +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=1779813659; cv=none; b=VrnBTTpgwMRyO8iqzaIP0ScJgWuwG3s/T63ur8XnV01aUyME92DSEnQA8SDxRd7lVaTZxG/5GPMwkgPo+m6hCdcJVOYgL7H9YE9H+UZyg8wFFWXqw3wjym9REKNKa5PgMbjJQBaLPRFVvWc72CfQi49SRhHh4vEnIEsRRVPorC8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779813659; c=relaxed/simple; bh=lhgjEO2e6+jKkDXiNFRz3t43DYmKDRbaUTKrI8llfV4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Rc9jcT/a+Y++/7JuON+YWUKOqPAEQ1rZWx7gViS9qX1rPn7NyBYJQUfTg7WzUyLgWOAzjmF34jbqN3H19/UktvhaxIXILCPFxjcnhD4Au2OIuMQOjFN+A9IuCu8wWbXo0Z0RPHAgo7a1eMIZs1f2f95Pcwc3qyh1zdsNlA2zl28= 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=AmaPufzH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EpxiKmHZ; 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="AmaPufzH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EpxiKmHZ" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64QCsahg1575487 for ; Tue, 26 May 2026 16:40:57 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= omZ1XDzbJzuYHKwqtKdcfxQclc+P9szau4J407Rp0E4=; b=AmaPufzHZgxl0WPX bBx3AkAGUA7hRZz9RQs17bJshg0c9f6LYjqo8rSCA2FncnKKZCthj5a/s7uQUJR6 JP9D2TY+SSR1e5zRW9mhUe7fWMYq/iVt+cIgvFUI4EgQI0AyjPZsHwJQ+3VDdOQh hd1RmixCI/UzmGbBlYDCWKnbvZGzq4c4CrsbC0Q+4xCSo3RPvJcbqChp7mNaFKmM eCGNwTGLl4DHcVx2oPwnuIuLSkRL4agXgEggoUFQpV2obbf7FTFxF1b7cYqR89HH 4eQEsAM6R4dqDgJpHlz9+L8vm5OiXKI4DuEVceB3w7NqHAMsMR4u9K/1weUqaOs/ wo6x+Q== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ecqvww82u-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 16:40:57 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-514551d5f2aso6221211cf.2 for ; Tue, 26 May 2026 09:40:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779813656; x=1780418456; 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=omZ1XDzbJzuYHKwqtKdcfxQclc+P9szau4J407Rp0E4=; b=EpxiKmHZ0QN3GV6GVQdHY4hiFTA6NPiLU3EE3wlTgB+Qi6ATGRfrZN6taNJATCfIXO KkHMGQMtwin+Ddw72STzP6pb3WFM6E/d2zEu5lvfMro121C+8NSjJiyKxT6440tbW8wU fL/s8qa9Ks2rEs4bbbFeioP3DG+s/5eG2nOJQRJ1yM2/O7X52uJ46RN/MjhaR1zDsKia y6LdHuyDOcEbC7lX0DPegKTMzUJZyvyox0JBrLiRhUpCzRdiPRfN5YYTTJqhK6IomYko qM39h8rp3h16wtuBhEDSFH2n/qRQbMyNBEr01B4BrSWUnf7vgmOuEalfBsqDA5m27uPj NDMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779813656; x=1780418456; 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=omZ1XDzbJzuYHKwqtKdcfxQclc+P9szau4J407Rp0E4=; b=SQDwOO7vWHEAStHHids31TT7uDjuLf0nUc5Qxwa/YSLzSQlx3EINMu6d4j30/24uVW dmMrln+UTQxLNql9h5FnV4bkRRR4i6QeEHLsl/gVIKn01WONckTPw9Pc1LBw/gP2yIkL sbUUUPkyCFfLd8sNuUGlnRI8xCvu2boIDfI5FOPJ56+cktsqTRWkoALsiqBn2sscrmvl 2SjJgQiWrLqqgYGF7CJkMrxF9ngQbfVX09+0oqsBTUO/TbrLEXOYLRbVP3j5/pwUjJKd qNeBEBwk+Ir3Myc6UJB12q2NZd4QSRimK6BQ7NnDj+LNPOZI4SwDeS8G14G6VK+kff07 XoKw== X-Forwarded-Encrypted: i=1; AFNElJ+ydfaFPv7QhFeJfLVi6RhptOjsA+7sYVx31Y1rnAUEglXxArP5+hY3oLgw5X9+1HjPxK/yzvqQphHDyVQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy+VXdjA1CRHLmM9twHVd/c3ItuHi6PakXLojmM3hG8swpIIUCU ArPMh7HbQTKt+vuuDHM54hNTwKm8WSdvKWnCGcicmRXcXpEf08DSHRZNZMuLAvWY+XykUIarYsS 3Q4qUhb52J9+d7hRJb0Cz9dgaws6w1Xm6ojkLS8Q9qYA5cY8x3xe6XS4XMvk90i88EhE= X-Gm-Gg: Acq92OHJc1Yizh4HJlT9NOd1KIvazHeD+8OQ9L+uHyGk3YtKXItDNlHah/num2LxqlS c6p40I3r53lxBAUfLy1p/bkK3oKgNsgD7/hCvIQGV2t3U41LxtxOQwF5Ce25siuM3tXbfHFKjch gWu02EaprhfMr14nNyGY4mMvpCJLyYqB4Tr0z39+MK9n0J6PtwOrM90aumLFGP/NU0PkN2cArue jM2P+G6u/wzl1IMoSgcN1IPiJ5yye9mfUpypeuZqoxUC4zfU48oiK1eIRL+aT6wymtdY/EcaWG5 fV/PvYC9i57d8DkfKR7K+uQelTKM4jF/bDABalonftNmdoAvIF23leZmLihCuyc1Y+9ZThma64r C2KlfEzpAcz4+9R4nEMnzAWmNRmqn3G2B6FJZT+n+1B9bH96qa4A= X-Received: by 2002:a05:622a:250c:b0:516:e290:991c with SMTP id d75a77b69052e-516e2909ba8mr203826881cf.45.1779813656378; Tue, 26 May 2026 09:40:56 -0700 (PDT) X-Received: by 2002:a05:622a:250c:b0:516:e290:991c with SMTP id d75a77b69052e-516e2909ba8mr203826311cf.45.1779813655701; Tue, 26 May 2026 09:40:55 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:c518:e53b:f5c3:921d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d48e23sm35605880f8f.20.2026.05.26.09.40.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 09:40:54 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 18:40:33 +0200 Subject: [PATCH v3 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: <20260526-gpio-swnode-alchemy-v3-2-2aaa1238ae4a@oss.qualcomm.com> References: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> In-Reply-To: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski , Manuel Lauss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=4315; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=lhgjEO2e6+jKkDXiNFRz3t43DYmKDRbaUTKrI8llfV4=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFc0My10lIEEWtt0q6ufoinAsyF+6973p0EF3M HcIhqX8LMuJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahXNDAAKCRAFnS7L/zaE w3zcEACnDdE8ftICOqC4fxOxxVH8g0ZybU2MA8kn3/kD++PyuVtIka5aDTx5zswg+lNbgdCilND 0lKNFrqOremtrHqPhlPOWTrnsJEfHzmxA0g87brue+WHyomjhxT8P53FP/3M0Nlz8wSfFxU8eTY Vhgej+1tPDvH4267dRktyorDiK8ckpNAaRxF4/NHlXdK1bCwxAAyH+jZLTmVfPGCX/ufEv490Ts OTUPSOTKAtEdGFGIuY68N5EPoeKGTnqZEuUEcAedU4FzCwRJ3Xqm2Oaw/NbmEh6hfyefvRGuV8a 5gJ8h2KBDrQ+RzfURM6cVnIAAAF1rkaYXzY2djMdG9G43Xp2Dh1o0ZNwBbsj25NyfeYm0pq4glb sJV6PbYDTzLnYjZOZbeY2h0USWI5J0zqcAGpAuX6dZVsB9YuY8+LZAFFTQ8AwB2P83LTG4j7Jlh js31IcbRbDY5nSttzMP/2qpZLWOgejXj52onNIVDV3x3GUtaHKKi6MWIWhB4Xx1nzZfGy1WktCE nJ4TQpr44nYO3HgeB2zDw3rjDURCWsoWxfIC2k+OVGhWPpYjqR8NsgdctOeJvtAeEugIksKH7s6 QVo3slD3L5xfn/ieOcC+GywvBrj/YHoGniikk1FXBnslaWzRSU8J7/8EOLs2KkQfxOl0J72S7qa yY0sSz8siONk8+A== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: tyz72XJYQqLzB2QYGGIEeEB0XH15PnRV X-Proofpoint-GUID: tyz72XJYQqLzB2QYGGIEeEB0XH15PnRV X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDE0NCBTYWx0ZWRfX0+O8fADyckYx drOPfHW3hZzemhlYvrgv4kilY2YjwiBNhHUZ1SUUqHWe12GuyAYvT0oTX4Z7MyfsS0PUXzLXQKK IJv/72d6DQGt7tvT5fgxXO92OAP3QDNbW67ltCRxqrt+uQtBD6iSTK7NqjdXcH+5k/PKoFciiKw 7E/T9x4WhU70y0OXwEl0ESoC3YRH4Pp7XlABzVkXsMyIvwfGYDShKAVPAfKE0bSC6o6RwQBeWRO dCzHkhKRl/UwbccwrEfA7Z2ERszSrqH8Uv17GeLiT63ImT9SJVAAOcsQghxmHwkNAeymudqPBXv hBG0dpiFiE2pUqAFqC6Ltdjymlce4D9vJl22LZ66bcyZKzkX6blCUlRrt+z0zUppjSEN48iHsXr 0QQcSfwzlni6S6wzaBC02/I5lo8VgajwKD6ZoPK5lvd4oMY45HTab+xZm2nx9UjXFfa+lpFf3Hx BhVjtkrw8zZmelK/orw== X-Authority-Analysis: v=2.4 cv=M4l97Sws c=1 sm=1 tr=0 ts=6a15cd19 cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=jNKtMNL_tjeZMJr_EBMA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_04,2026-05-26_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 impostorscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260144 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. Tested-by: Manuel Lauss Signed-off-by: Bartosz Golaszewski --- 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 Mon Jun 8 20:53:44 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 AD5A63D3323 for ; Tue, 26 May 2026 16:40:59 +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=1779813661; cv=none; b=F7yM7bI9uXiassAByeljxa7V0hU2QJgZb4qPPmFQdVhBRO8NggF1MuG/jjoyUZNuQiBnA9Q6DyuzERbS1GB0LH/JVBsgUtD7zQt1Ovu2SANGpM3asT0Iu/WMjgfhmCJ6VQVkPX4/d6Y28haGKgbGxM1PwpaiCsP9XH0RcJ+DsBc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779813661; c=relaxed/simple; bh=N0RB6AQLNrwpLK7FtcX6JFIVcikEeNv9URuiabwhcEQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ObC5C1uKxOhMOHFDYxYR9OTp8MN7l+BbTOw5KKs+y3o6MvKXx3u5gN5OaEwm6F038nmftr4thjakWMvSz+dft58blBUv9e/LGuleciYinWewh1ZPvKjvUUYLQLarWJqK0BAJmpCq5XJ+XYD744C9IhvGoYPRfjnKNHyi0SL6H6c= 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=kNmjT9XO; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=EirfU01h; 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="kNmjT9XO"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="EirfU01h" Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64QCsahh1575487 for ; Tue, 26 May 2026 16:40:59 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= msLy3/nz6/x8yP3I2lLtGY6/kXl77Iaf0aU/v5oIHQM=; b=kNmjT9XOlMGvQmw7 rhoQEMT4nTfiQW0F9q/RCoWGzkhlt5CxURCFIt/pj/yMBsxpzPBVc2TKm57bBJWu M+l/k9Z5TdRVLFNdd4UgXvdMtCSbQuHg74J98eoztNZ+ImRZj8mupswrYiYDQZ7j G56QP7yDcIEkcLWlptKiMDsIEog20FACdt+DFp744M/YHJifCGFRqiEEH24tqsRm SGsTEdWkWWTalXEzxN5c1PPy7XUuaByiC0k3NunoF/24MO5P2QhgLJvp8ktsmIY2 ER//9/r3RqNNTI5GDDuMEhIXI4Hevl3p9n3VAFTEhsD5GS/iVEVnWLeUasXneT3I XajqrQ== 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 4ecqvww82x-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 16:40:58 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-516d1a8a6c8so43272101cf.2 for ; Tue, 26 May 2026 09:40:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779813658; x=1780418458; 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=msLy3/nz6/x8yP3I2lLtGY6/kXl77Iaf0aU/v5oIHQM=; b=EirfU01hMnKCd8GoPwNAj5mE4Mzz5waqkqgetTwYBBKaHSE8g+4MU0H3Wdrp8NR2kO FjP76uTPs8GdFy+CCIgFGYwqSVPabL7dXmCdD7zSqabRIFcB9kiaPGjrO9Cq5aOxQi0x mZCznAPiOHA6d7Vhenf+DD9hgv+Zqypx1L4sGNbmcy6i8a2A0B1ldF6C9ph+3m+i3D4a nFWL4k6YKa3JrAgeloBe+5CnBlX1Su+8pZgRRBSBertD+dFl08l8/c7TLb/4OQt1AJUS 2EPWS5Am9FkFYB34UXFilHWa0u072hHr3OKpj9Eh8scPGm5AYuD+YXoXXDrCk5p5nDEh vRog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779813658; x=1780418458; 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=msLy3/nz6/x8yP3I2lLtGY6/kXl77Iaf0aU/v5oIHQM=; b=OCans4jI9PlgPK7/th0Zs3A2TZLmZJwcLMlr/8KMEaqEthfY1zJ4s+o9r1lumfJeYt Ux6nsFyXralfjRKIoIdxLkXwlXIlydvJDaipXPMMpp1VYc8+ocCo68MbXa8MOO7S350R 5hK76X/cxBnrZnA9JfpjRT7bl4R7sKmhzORaNgeu4ZvG1kSSX9jdokAu2QSLEE/bENS0 a9YC4bjaWhGL7zuBUQepv12TUi4sYCbbvOFS2Aox3innYzTIr/Td7szsa7b0pZmkmrio qOtbPaK+PIvCOaK8f2UgPU5VmbtxvWNj6cn1fty8Hf0gncK8R+ckBQwIcyTVp9c7CeLe 3NPQ== X-Forwarded-Encrypted: i=1; AFNElJ8ja8Trxc4xhc2+d3EAJrg8AuF9xYt3wOYU6tBUxIT3XGO7NQ/dAt84pAVDPwzLbm93LXQNbpDFWW0ooGg=@vger.kernel.org X-Gm-Message-State: AOJu0Yzb0YLdeqyaLE370I48wjuAfexJiqChMW9WV3d+mpJQGIKZjEiD c0YEtxQlGZhJr8Rb8zX7NHSEksJcTL3VnmdEoOYs5xzohP96vXH/ljuuiZgVLpi7bfW5pfMFedf fygDrRkfluF/KsesHu29bWXdrBxhnZpGnB032c2QZCbrPCwe51ab9b4LPQJSDTCU0lEs= X-Gm-Gg: Acq92OF+cSZZA40/tltwG2EIUgo8sxBgXs3zojSUBSng7GZhsgPvyD1N0xb3DatP6Si ixrFwj237X/H8qYGpF0met3H8aAqOk4qhG1wG6z4rSMXJnf2w7OtrZIJ/DK43TJYRaCQBKdKxWr VrY4nzocz7kaLGY0AjZWX57sNTvwF38dAuLOIAzSn08RhtxDue5Jjx7iDQEq+2zjMZ7Vwq6HRRx Aao/E4k0D++ap/8qHS3t19juAzJK71fFQNhxKTyS9AmYtwg48vYwT2Vs0fo6Yphj5L04s+ssCDQ s07tGZsPb/ZZJqSQDn3zLI95D4HlpoCwLbnJgLkCqUukw6O5GQh4zdTdKrmhqCAoKmPyv1hDzHR 8R3xC2meKhH/jBQ67ky9DIOtGSmc7uIJAXyJmz9NomvUNU6d7lVE= X-Received: by 2002:a05:622a:1103:b0:516:dc50:a019 with SMTP id d75a77b69052e-516dc50a4d3mr233838151cf.49.1779813657864; Tue, 26 May 2026 09:40:57 -0700 (PDT) X-Received: by 2002:a05:622a:1103:b0:516:dc50:a019 with SMTP id d75a77b69052e-516dc50a4d3mr233837691cf.49.1779813657292; Tue, 26 May 2026 09:40:57 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:c518:e53b:f5c3:921d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d48e23sm35605880f8f.20.2026.05.26.09.40.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 09:40:56 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 18:40:34 +0200 Subject: [PATCH v3 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: <20260526-gpio-swnode-alchemy-v3-3-2aaa1238ae4a@oss.qualcomm.com> References: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> In-Reply-To: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski , Manuel Lauss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=8471; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=rxJCAmLXHTqDKpPHsRfv0+TRB0eOgFoYLQ8w8SyxOfk=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFc0NfcktmDnk7EFiQe3epXeUzk+iaEc5brBye fiz+Z8Yug+JAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahXNDQAKCRAFnS7L/zaE w0bREACS39pPJw8JujD5qO2TGqdfHzZSTDjF2D1mxfoYsfZXTy+qru/MqCbM9nJbtWG2pfSHhkN ODYiEkD2YglkGqi7+pW27HHmcpBcpbhfHGcp5xXYiTI/iYSyHB+zgC34Zagr7Wa7Nh9/kQM92cF 8UE0GeAXDdFJ+O0ROiGez30HaBUQr+6uGEP0IVXOuT+zu2p46P25H9u60OH7stIQuZZu9H5hB5Y Kj3W5oYuZ3sfgTi96A8X3QSMuuoZ6jQErKi3zVTaMpAsn9IVCqiavOVpcHxTx/YU43hVzUg5Qlj PEqJwauGLVDDtRDZkDUYbulwMAzxwIH+5X+7Ohqr/7IdCkaHVYmuCJD7YCEJ+FMTI905QdA/l5L wcYjrhZHJyGoyin+5yhq3ULsDczhy2Mt/HUJmdG6CvjTynay47eyEzcKkvag2nKLrKUXiJg9Fpt sQGhuwc7tOOsZmihHbTIU2m0xuQpR+7R0lzBJmdMCKeSNYzmqpWiqExBhLr/CJlrU2Mtmw2Zc9G VUZsjC7BftHfUnJsGVhZM8U9MJlp85L5l6qKsFvKsTvGlv/wr/rqVAHgvCQiMvDr6EvCeL0wHi/ 17aIyLCy+waXCs/v+JOLnYf+xFo1y+vaHenloVMfXdYlDdXc4zKnK3N6uVobO2EZdbyj59oDfzC drwZ3/cbk2cnPGg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-ORIG-GUID: tsQXLc-lszFuYpuNf80VGym0xhQwq-XF X-Proofpoint-GUID: tsQXLc-lszFuYpuNf80VGym0xhQwq-XF X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDE0NCBTYWx0ZWRfX3106ECFRixR5 lQuCsj0T3kcKpj/mOzVkVMWpraXsqnqB8XQ4abVLBUj7KjOC1OvcjhTNkj2virfLDoRPskKmNo6 mmsGg23YLyrZPbpFCYQhPblqWQkHbDZQXtg7axDBUsNw5CF2ziCXR7M8tFnOXUVHaa44+gF6tAW dWfIStADjXo3F0rizbTD/Vsk9/HtR8bclikrcER7Zft1/tPh0b7APsvN14VMmBBTHmi4gJDUbxH 5qei1QOEZ6zUeiLyjDq01C/R9s6IgdvPUxLtzzvPGh4sZRqASsdUjJYnuZyfIpM3Pij14zb9+uF GrXFjRQzp/aOBmHn2XESs3iwqt3Lv1OqbilrHUapCtPbgmo7joiYd+718WLjyaMEVeeQgl+3vtE yX94S3S0wbWoaPc267aatNcpK6+8/2qrxx03ORP8DBMbUpe0387JIKnOVYU+fDcDvQCquS8l0Ic EeB2rp4bs+bwErTzwMg== X-Authority-Analysis: v=2.4 cv=M4l97Sws c=1 sm=1 tr=0 ts=6a15cd1a 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=yOCtJkima9RkubShWh1s:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=tWZPv7H_HbOMA4K40sMA:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_04,2026-05-26_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 suspectscore=0 clxscore=1015 malwarescore=0 impostorscore=0 spamscore=0 phishscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260144 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] Tested-by: Manuel Lauss Signed-off-by: Bartosz Golaszewski --- arch/mips/alchemy/board-mtx1.c | 34 +++++++++------------ arch/mips/alchemy/common/gpiolib.c | 39 +++++++++++++++++++++= +++- arch/mips/include/asm/mach-au1x00/gpio-au1000.h | 5 ++++ 3 files changed, 56 insertions(+), 22 deletions(-) diff --git a/arch/mips/alchemy/board-mtx1.c b/arch/mips/alchemy/board-mtx1.c index cb6be58808a08e667a401573d6ba515d70a58aa2..88c20c0ca96d4fc8511c214e3d6= dd2c820c8eaaa 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,17 +79,13 @@ 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_GPIO("gpios", &alchemy_gpio2_node, 7, GPIO_ACTIVE_HIGH), PROPERTY_ENTRY_STRING("label", "System button"), { } }; @@ -98,7 +95,7 @@ static const struct software_node mtx1_button_node =3D { .properties =3D mtx1_button_props, }; =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,13 +124,13 @@ 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), + /* Global number 215 is offset 15 on Alchemy GPIO 2 */ + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpio2_node, 15, GPIO_ACTIVE_HIGH), { } }; =20 -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, @@ -147,7 +144,7 @@ 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 { @@ -155,7 +152,7 @@ static const struct software_node mtx1_gpio_leds_node = =3D { }; =20 static const struct property_entry mtx1_green_led_props[] =3D { - PROPERTY_ENTRY_GPIO("gpios", &mtx1_gpiochip_node, 11, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpio2_node, 11, GPIO_ACTIVE_HIGH), { } }; =20 @@ -166,7 +163,7 @@ static const struct software_node mtx1_green_led_node = =3D { }; =20 static const struct property_entry mtx1_red_led_props[] =3D { - PROPERTY_ENTRY_GPIO("gpios", &mtx1_gpiochip_node, 12, GPIO_ACTIVE_HIGH), + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpio2_node, 12, GPIO_ACTIVE_HIGH), { } }; =20 @@ -176,7 +173,7 @@ static const struct software_node mtx1_red_led_node =3D= { .properties =3D mtx1_red_led_props, }; =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,9 +182,10 @@ 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 { + const struct platform_device_info pdevinfo =3D { .name =3D "leds-gpio", .id =3D PLATFORM_DEVID_NONE, + .swnode =3D &mtx1_gpio_leds_node, }; struct platform_device *led_dev; int err; @@ -198,9 +196,7 @@ 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(&pdevinfo); err =3D PTR_ERR_OR_ZERO(led_dev); if (err) pr_err("failed to create LED device: %d\n", err); @@ -335,10 +331,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 Mon Jun 8 20:53:44 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 532FF3C6A43 for ; Tue, 26 May 2026 16:41:01 +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=1779813663; cv=none; b=oeKXxI8GiUHyRmR5HYZH3n6sP7B61ZZmlCSAKvsSCzJ3K/Bk1vrXHxPNkokVBq6F1Vx4kvYMw0s83AQL6vzvrCUPyeqv94Ga7hQjxoFEAwRcDEp1n+eW0HCt1WkKYMejSlMUCK9RDpFDkZLTuVF6b0bC+DOu18JixTa+ZTXausY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779813663; c=relaxed/simple; bh=KDgfA9NJVtZOCSJDkjVA36L9fao2alrfopyPw6MH3bI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=h0iPpo2cGc0HuA/8tVTo0kA8BJ8GsRMuUUlLI6m/8Ho3FNoIaGns6ZmFFIL9+5wOeReMRjB4cK4K2Km9DO28WjKJJ0m6I9Uxj5+hJDit+Bb1YPmcm76pR3ezZ3EMh1k8s1Mx71GZmisjYWbvATSJUZ0srZGfyVeq/TfhuHaQVN8= 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=lBnriCJs; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=fU+tdP0c; 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="lBnriCJs"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="fU+tdP0c" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64QFm1Me1836889 for ; Tue, 26 May 2026 16:41:00 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= OYfZL0b6m9bBSQL/bhrwbJ+Cos/NeA7E5q0W+G8V86I=; b=lBnriCJsE99nCe/B YF2qF0TMMIpo5FtWzcgYA7r0LYDg/iEBascgcsCMz4d5v3xogeAC3zFoy7s0iMBN u/1vvLmbVWt2RM///J2U9DPAyzMaop1B7+fSDOBD2NqCnCLMqlmtQAyzZAC6jhA9 OiwvGE79ivptrRc/kOYJ5nTR1kI9SpwRns6SNS5BY1iKJzz9Ha2UsQMeKQu+HQpe BxWDxGvxR5+h2vMiKlBkiAgSZXJBd2zF5L4qz0gx3UNQwvt+A75GTvHrN8QyVmsk lJIU9f3daQtAsBFHwf96i8AexUPZKdF2ykUYwiu7YTHDKGk59DQVrz8OI+fF4kok wrfZUA== 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 4edefugahc-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 16:41:00 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-516d4a9e852so66855221cf.0 for ; Tue, 26 May 2026 09:40:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779813659; x=1780418459; 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=OYfZL0b6m9bBSQL/bhrwbJ+Cos/NeA7E5q0W+G8V86I=; b=fU+tdP0c3llrgmCU/ScuEiYsvmXHX7NrFsgRaAXkFKDNn1r8SqQvfb7a+7XAv9ENaX dK64fFJmRd14I3t/+3WlbbOLuMsypLkwFZrgHhf03JRrQgyDX73I3iTUjpX4zbtqGQb/ GpYx7wNepFdihdEZLhRNLM7Lv/3NLYeEnhhrR5RYnqHteKTBPdIMR5PPnimZBs/yy8oV 8h1I2ToUeYMXgHIL1RGtc7NtkrVMunWfB4Z+vQ4LIyPGuV0Tvy0M4PKq1d456zLWV6AJ tzo4T4jrfbW/ZFmIhHUVeUg3HgRIvFpx2tf2PC8ni8xmGnFzQa0eC+aah7JrRmpT/wW/ QIUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779813659; x=1780418459; 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=OYfZL0b6m9bBSQL/bhrwbJ+Cos/NeA7E5q0W+G8V86I=; b=NODeSKTKy7E9DrzjgHfl3FW7wgxHEEhnZSItXEmIWRQDxd2Dk3mugC6eMzuhHrxp5c jeOXhk27fyQAFPDqkAQdQ1GLfgd3LOCvUrCd1gsQ2y2t4/lWAOCoJiJqpM77GIcBcUNf Ea6+uhVbbSdsVCt+V7JUpRYEQdIpS32RCba+OKHVaX2+RgVVn3cQfS3BHvTvKJHZ8vqO 5pLPMIN58V833f1SfQITQl3Q7bWw71d8xXWhYu0Mza3y/nqFaUzqPnf08zlniNUHfQai dDqeI/zb+EwKUGVajwYaek1zDAqBQ6En53vwxYM5G+Uy+eR/7gugd45fkDI97xeZPKMQ Spnw== X-Forwarded-Encrypted: i=1; AFNElJ85+iBhne3KE8DadPwJkm0gSdzJlo3SAuyJl3GjM5Zm726molmlPmbDdeV3cPEt8FFCO/N7KoD8U9XZkik=@vger.kernel.org X-Gm-Message-State: AOJu0Yxd3DXxxDkAPsPXuTx5JI+d93IzCx87sMHThtoMk8Bu44uoNg4D ETfMDAbxEB1QSu7v90fu/shVR+ZodTPkd+vi/56lGbuTPSGNCLNVtXWGoovBH7zxugqgGRgCKQA F83msLgZX1GwmYYNlgO15E8XejLhWOlPwsBlxVuctPZuIvgSKxVcjAUDao5/P1nHnz4Y= X-Gm-Gg: Acq92OHFywqvjWY6eZtGit1OA38wimABSUjk8Rj7q9UMCiJ1zM1td7Ky/kM97D5Xvxu Wxov07+xgFckmOmxn4I+ntchMemEqKMtWiYXFmq5DuQWIgIebOvDzWEv5hUj5hX0LcId3HbSWVV EsDLbcYnkdxf7+bibWHs/2YUzYI9LZhgV2HuVxhRltl2iZ5tQWtZHzaNc2p2ubQEKLzCkPcLA6Q C/mI3ieYNAG7oqHr5S7kmskTgNVYobZxXovVge+vgOM9ihRVftlmvIp6nlODsXOl/THphhdc6Mu 7WLwlI2ycCSyhJpnJwqMKFlSTckA5WS23NqKiid41rxgjHQYeVMrCZ3ZzRmkndYcsQcoirdBIt3 MkiY4G3S23Xzw4hiiUIu9PYcaOSLMIcI/zDZjJpUJrDjZnLsTFqY= X-Received: by 2002:ac8:7d0b:0:b0:516:d70e:32e1 with SMTP id d75a77b69052e-516d70e35b5mr261529311cf.2.1779813659011; Tue, 26 May 2026 09:40:59 -0700 (PDT) X-Received: by 2002:ac8:7d0b:0:b0:516:d70e:32e1 with SMTP id d75a77b69052e-516d70e35b5mr261529001cf.2.1779813658588; Tue, 26 May 2026 09:40:58 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:c518:e53b:f5c3:921d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d48e23sm35605880f8f.20.2026.05.26.09.40.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 09:40:57 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 18:40:35 +0200 Subject: [PATCH v3 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: <20260526-gpio-swnode-alchemy-v3-4-2aaa1238ae4a@oss.qualcomm.com> References: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> In-Reply-To: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski , Manuel Lauss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3791; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=8KDmwMLOlYAs4XDgs6J+fzejIAXw+erYtv5ijM3IQEg=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFc0PtEjpvAusMd4ksZNmq4x3dVS/r77k0P946 qAQxwx4xNqJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahXNDwAKCRAFnS7L/zaE w7/mD/95HvJjPdD87xIv/Qc47mG/xq3jiS4pjYkBwNaZ5E/GO/yepllCvaG3R6k1EfkS5AsICzq 7rAKueRQUY+FiEvRGteVfKSlJe9uSaV/gq8E/O0ns8oF7BvA9bArsisTPvB8KYDJnjgLCPQfKYs G41y2AX908BXk9QLMe9G3ssrTYXMXNkhvzWKqhbTkvYz/VpIpgLC8u48YmjRnH5Wlc0s5GLozBm hXfESaB0W4ASMolHE0Es9Gw0VqTsEjDyIayPTyhgezICRNS+bjknbmwp72/rVco0DJSmIg9j+N2 4cMxSu5qDU5UbIJTB4tlx0Qw5rVF9E7XgwLLe7Y4qDvFsEc3TzbSvVgY3UN6HktMUev0/X3iFqx QlS/LxgZwrmcqcreTLFUV39NmOeXp0oOl6fBDSlB5tXwZN3yPNBI6Vciv8cKxX5VbLZAcKD7MsL XoD4N3ZpkyxRZp5ZoYuwD1j1eSGy+4gP9Pwlrq+kXyXJKipxbPCiWhRRnoAi40znjtFcA+0e6OR e5Aab1YWYyzhke4ah+nTYfnVseTawaNCdfZoqY5UeOmrCGyxcxdZlQk3iQi88prLWnwKAJMNRAw mFqQCzHFhLibNdSi8betTLfnTdURgXQaaJZBpU3kkqGpu9Cmzig4ForjLnigIAI0EhB9UoubZb4 GzZ0g6M/1ZVZI/A== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDE0NCBTYWx0ZWRfX55qNirqOu92g NpNOoIybMdtGouvIU6VJTHjbMoutp3oyG6y/PwrUY7yHsm0D9LrAVWOE5TKlzzRhXCNtzoYOpuj rSZiQdKLbZljJm2BPXqkq3quWpUoOYfbdlR9giryb7DVBiAOuEdlxQ6zLY3y6ndr4r0Ql42X/W1 +5Qbu66DVKlZsqiMy0t115OgE2Tm/tBTUmp1PrfVNGB9gvgEfr0QTWhbC5sg5r1BnBCKpFxlTmI EvRDVod03fH3iIpUiVACw6LuYo7xM6/5y7jNq2x6hcs+7UNoiO9m3TvsZzzWtvcs/fBkhWfkECR SXi0I40zUqfgChoR84tx56vg7F09ALYiti2hUZOEs/rS9xp/WROdvfMX4gwC1VI9ZAL6l8YmSJR PK1NLUvr98M/n1aHUAohzFUbsTK2bMk52KEr39C2l813CqESiU4Du+n7pkuL/TxS3SbHl3ZT538 1FRf3uPEjwi4daP2PuQ== X-Proofpoint-GUID: 8wyrmYS20xS0_T-G5slv6VX9Atq4Mb7m X-Proofpoint-ORIG-GUID: 8wyrmYS20xS0_T-G5slv6VX9Atq4Mb7m X-Authority-Analysis: v=2.4 cv=cPnQdFeN c=1 sm=1 tr=0 ts=6a15cd1c 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=YMgV9FUhrdKAYTUUvYB2:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=hCAPRvFqaSTltk-sYtAA:9 a=QEXdDO2ut3YA:10 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_04,2026-05-26_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 malwarescore=0 spamscore=0 adultscore=0 phishscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260144 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 Tested-by: Manuel Lauss Signed-off-by: Bartosz Golaszewski --- arch/mips/alchemy/devboards/db1000.c | 29 ++++++++--------------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/arch/mips/alchemy/devboards/db1000.c b/arch/mips/alchemy/devbo= ards/db1000.c index 65238f14f28d61ef3eddfd571c7d61f01e7434fd..8fb24b220e3ae0f033a7786c2d1= 725f4df9d31e0 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,15 @@ 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 { +static const struct property_entry db1100_ads7846_props[] =3D { PROPERTY_ENTRY_U16("ti,vref_min", 3300), - PROPERTY_ENTRY_GPIO("pendown-gpios", - &db1100_alchemy2_gpiochip, 21, GPIO_ACTIVE_LOW), + PROPERTY_ENTRY_GPIO("pendown-gpios", &alchemy_gpio2_node, 21, GPIO_ACTIVE= _LOW), { } }; =20 static const struct software_node db1100_ads7846_swnode =3D { .name =3D "ads7846", - .properties =3D db1100_ads7846_properties, + .properties =3D db1100_ads7846_props, }; =20 static struct spi_board_info db1100_spi_info[] __initdata =3D { @@ -405,32 +399,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 +471,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 Mon Jun 8 20:53:44 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 45ECD3D5250 for ; Tue, 26 May 2026 16:41:02 +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=1779813664; cv=none; b=QiPjxmZ3EyQjVQUpCbmCHBuUXbQo/SK8FKAL/O2BbtqB7jfyPp8/hKTESzadripHJHA4qFMmaXGacnqgkEz2xANjg0KGPRIL85hF3gxZLMbjGU1c8nxY/KXimOiXPxDRuNjjWptfhMXwn6hnhoADraRxjMwedMoDBfFFxxxE3To= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779813664; c=relaxed/simple; bh=QV6iWTbtK/OlzItS9ZezzpfmevMM+h3QUY2TV57FLa8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=f/asXeOBYGxZfjirNHZDvHBeIa72QFuZ7BU6a0cU/fP5ldy3hHs5fUfCuOSr3TNRHT1kJKiNq0/O6z45tCWrEGAzmOAYb2c9OROCtkfQ+CIJFl9cQoqhMcs1dct7wDzqgEKEXbe56sE6ZHr4q5qlEbMvi7B2BjQEfI6HlXo5tSo= 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=KHF83SmR; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ACVb9oHg; 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="KHF83SmR"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ACVb9oHg" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64QEYOcI4031000 for ; Tue, 26 May 2026 16:41:01 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= RPvxYcqqdOnxNfCx92kNUoeDm6Vll5QJXfmp2uruwn4=; b=KHF83SmRbrCEphol bHNmDt5Ed8BDN270hipl3mEE85tn/N+a8QVJd23d7wxhTnZ+hyLGirZshGWrx9HA H5wx2FjzachJGVX+rz1NampeaCkfv2jiS1qQKiWYBxneBI4oa5LAmwHsw1ENXptF nGgav5nqOm2Os/qkJJ+vnIDzkG5zInGiKqTcOUJ7m5SyZoy6g/eKtpP2mXOgZ30j OG9hg+GGkx27Rv9xZfTbCgvTiZrs/mM3QOza1jrEap725MRrfutkcYgo4H+eIS9V ZOpbpJGi/8A6Gn3VLCHCDO8qqE6OU6khs8pwv6MRxfnaCytOZJ1VCJGp0sNGzDaa L4oTBw== 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 4eddd7rnk7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 16:41:01 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-516cde13e8cso107261151cf.1 for ; Tue, 26 May 2026 09:41:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779813661; x=1780418461; 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=RPvxYcqqdOnxNfCx92kNUoeDm6Vll5QJXfmp2uruwn4=; b=ACVb9oHg6/FM7QhFNqlGPf0je6T9sFEfnqzJ5P9qof4eMGxfsBaU+mth7+brQ3UG9n MivgoOOFj836SA+gujfOF4Uqbc2IY24HnzHbTV+kesHO1BxSZ15RPqcLFACtm3hKh9jX gjh29sP6LdSmgQtJF1PutukunlROoTco61ha5zfR89GFHP98VJed1I6AqS6BP7cIVley W33Bs4oigLBBwvVVSNFzbl1rESX8A/0cT2sHKxxphED0mLBR8Xpmg1snCe63MjLl39v5 MYGu02AE7ZdJmsqT3dDBiaKv8gtr5qF6upgF8IXtLZQm4RcwDroiIKdDMHGXXIO19NWL hT0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779813661; x=1780418461; 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=RPvxYcqqdOnxNfCx92kNUoeDm6Vll5QJXfmp2uruwn4=; b=OYy2ahSKaELcFW+M0mONE/Wf14s/YbdMyOPAEKWEaSiFx7DP5qFzXZy/3VgitnDbBA x8fu8c/hiHHxbc5nVXpEMa9tslFatEIm0HjT1hgWqBgZLkbMVKfoKGPYufFtzeyUZQHz SO7CJGC35/O7FoK9wCjOmdVUshTzqBEfDncUgfr8u9Xa7T9u1LVJBPWxsA+Gls5ggpYn PBXwNOGUqIOVpsfyIRrb48M9HmQpGwjFbidgC8MUj1Ei6T/ucBcmsHTZYu4XoRUlgLDc FaEvoNMQGPSYSFV8ej94ZPlpPLTLUH+UGe44ESyHS3b1seWp8EQsas7tF86RxHPgZr0t uAcg== X-Forwarded-Encrypted: i=1; AFNElJ+z2cj+0S1RdRsVieLHZcfUQLZrJNx3rgFgMcW4PIBqwCWQEycWYzCXbzzA+KUULVM6AU0BkBOYeGep1oE=@vger.kernel.org X-Gm-Message-State: AOJu0YyRCygOglSbCuGy1YrjtvHR/oN84rh3DUGdGrN/mVBzjKpIZYX5 bgO9gMENWwgJx7rYFNtgx6mCfQbPwehtX/pypqufD9WjZ9zSw2OEBLxZjTBx9gvmLmBGN6DVlVg 2UVotFujDuEtmb6xlD0dmCfXQV73glMKtUtkC6kk3TheQ2jDdAHEC4RCnreZWIJBZ36Y= X-Gm-Gg: Acq92OEqF2Jlpt0p8EA9urf1alOPP/hKudDePw9T7nEWoE2COx4qFVj9sVAgOzZMOF7 kqzsnXWK6KO+mMrvNfxchQ+3lWlyQNyGy69LJ46PymJYyQq+UtfwaKT0uzF7Isrtp7KlwVdQKCn xt/0re14MTkl0fEYdVSdqJVX/Jtfertmd7/by0QoXVzvkdzYmqrxdGsRfL4maGTROTnjXNRE6KU +YgvUmhfuIi/RT80XbuAZsAJptHNlacD7bJUURsYfyjP+KliLU6sf0DvvKI0+D7bAyTZpbY1v1B K0RK0ZV6CeXr01kaS8WwtJZYR5iZHXFrzplkjOsvk4ylUDBFAjIxAvlS4YReeElDaesERlTInEe NKVgLin8mFfzufDDkSCPpCWtOpaqUa7O8fLc64lca4YDej3gfNq0= X-Received: by 2002:ac8:5d04:0:b0:50d:770f:ad23 with SMTP id d75a77b69052e-516d42ea812mr273223661cf.26.1779813660630; Tue, 26 May 2026 09:41:00 -0700 (PDT) X-Received: by 2002:ac8:5d04:0:b0:50d:770f:ad23 with SMTP id d75a77b69052e-516d42ea812mr273223051cf.26.1779813660041; Tue, 26 May 2026 09:41:00 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:c518:e53b:f5c3:921d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d48e23sm35605880f8f.20.2026.05.26.09.40.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 09:40:59 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 18:40:36 +0200 Subject: [PATCH v3 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: <20260526-gpio-swnode-alchemy-v3-5-2aaa1238ae4a@oss.qualcomm.com> References: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> In-Reply-To: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski , Manuel Lauss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=5709; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=ZN/R2T6+8+Z80D9zim9qIxuHXKBST0XCUBKEL98Tu8Y=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFc0QlJlCTatO1T8pvp5wEAB8czKFlU3pvTWZX 9BEqonHvCaJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahXNEAAKCRAFnS7L/zaE wwvPD/9jxAq99cK0GK/4h8PAgZXBl3c3Tu8y4D5RlqymPtSX4l/gLVZYXM1YJZ2gtsXzRn2adaJ 9UphGR9Y980DZb+2CVf5wXNkRglLH1OBv7nyWQydM6J4fvpVOp011/LA9uFFLgN096ILVRHvLSN 1PDYahwYcMOvGowzVIEJcDvgyqE4BGfFTHCHilUjPofdpVm5F+CLEL5ZWphtskLZ7moPVDKfHXF WkEnudcaSNAR17Xp/XdGBcI5alyxvUBZ4U8Mr5TKb7Kwc3H/sMjst6dF//MTqbGxQBWnA/+JKgx ajtzAoxdcACneGcvhGPL7BBEVBaVif/1m3UiPlkfv6tGhyQnbOwqhO2W0xavt5EaSHYjm5RgM9f Exg5dnsExhVirHLkurzVZxB8Du43t91MbVq4YiggiMMCptOLbKlk1D1JN80WEhQB6Lw53xqNo09 BuAn8pmOkR3ikY6m+hUDizKdZ2CrrEZrZx1HymvuSJmxMTZCzNitM4oIZYn2OV/r8tGMfraPUHu jg0WznzraWf51kJoUiq1vGXgGu1/ZdsO623DnfV2HhZpjevJxexE5UhMH4uCqs1/SOIjyn6Zpga XlF9P8hB66IXd+PRw/QaKAvz8ykEF0XIhZuL/XPbrqpwRPGHQS3WKVd/9H8KfLDWWE2dZTHuyMk hrsJdawS5DtLpzg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDE0NCBTYWx0ZWRfX7oQBqMcOPVcz z/KM4QgNFIWcsMFrkBtnUYbYrdRld0zSDNPdLW4VQQFGCqn+7Uzz/4emDC/ErMnYdMXnr3qw+F5 vhshnvj1fEbg+EjzyAkqMSA3PUMUsba2C+sPeiy+A1YZ6eaFMZ3iJVMN8nw+HlSD3E4bs//KgSm kQkbDVJBUy2F71yix1bHZGvkAqWq7teydif/V8mZDXk0sWUh1jkEP4pKnLqIr3xX0wyR31FWO5l Dik594haF2ZaRevkq7FXAW1cfodtscCa3/VZHFD8y3TexoUNTLz2sXdDcfilk+NDgKisDLB8RGj oqzlmxrzZ0a0rDWjSasllGcS+aBQX/JslpTxAStbaCAqnJM32F9IgR80XX51n60uHitTTfVXB9Q wx+4nu1nKsugc/sY/Mji1hwmRW2lrx0wkmdsccMO04elu13eo+vCtsIfQAkaHfk64gjkuoFPVTY qBoMdeC4CmflQV4au8Q== X-Proofpoint-GUID: iejXRdpTCf8ud3uzCdbZAu-7R9khs0wU X-Authority-Analysis: v=2.4 cv=fKsJG5ae c=1 sm=1 tr=0 ts=6a15cd1d 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=Um2Pa8k9VHT-vaBCBUpS:22 a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=G2kbB0RmGtoI0qVf8F8A:9 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-ORIG-GUID: iejXRdpTCf8ud3uzCdbZAu-7R9khs0wU X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_04,2026-05-26_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 impostorscore=0 clxscore=1015 adultscore=0 priorityscore=1501 malwarescore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260144 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] Tested-by: Manuel Lauss Signed-off-by: Bartosz Golaszewski --- arch/mips/alchemy/board-gpr.c | 127 +++++++++++++++++++++++++-------------= ---- 1 file changed, 75 insertions(+), 52 deletions(-) diff --git a/arch/mips/alchemy/board-gpr.c b/arch/mips/alchemy/board-gpr.c index f587c40b6d00a9ce5c25520f31e2b2ca60c80919..387252337a18517c49d37ee8e16= 116b87a2d39c9 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,90 @@ 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, - }, - { /* red */ - .name =3D "gpr:red", - .gpio =3D 5, - .active_low =3D 1, - } +static const struct software_node gpr_gpio_leds_node =3D { + .name =3D "gpr-leds", }; =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 property_entry gpr_green_led_props[] =3D { + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpio1_node, 4, 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 gpr_green_led_node =3D { + .name =3D "gpr:green", + .parent =3D &gpr_gpio_leds_node, + .properties =3D gpr_green_led_props, +}; + +static const struct property_entry gpr_red_led_props[] =3D { + PROPERTY_ENTRY_GPIO("gpios", &alchemy_gpio1_node, 5, GPIO_ACTIVE_LOW), + { } }; =20 +static const struct software_node gpr_red_led_node =3D { + .name =3D "gpr:red", + .parent =3D &gpr_gpio_leds_node, + .properties =3D gpr_red_led_props, +}; + +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 +}; + +static void __init gpr_leds_init(void) +{ + const struct platform_device_info pdevinfo =3D { + .name =3D "leds-gpio", + .id =3D PLATFORM_DEVID_NONE, + .swnode =3D &gpr_gpio_leds_node, + }; + 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(&pdevinfo); + 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 +294,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 +306,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 Mon Jun 8 20:53:44 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 525D53D7A01 for ; Tue, 26 May 2026 16:41: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=1779813668; cv=none; b=LWKYWKsoH+szyWBsgfGTXDOZcGv787R/N3RboDimxUdqg0xr73xOASTsCDFzDDjjYI5BA9bgrBuf7Ac5LYUWMvJgcSInbJAfkM9DHdPgctzcRTIj7PYDMEHS/Z73ehOyRwmYf0x+j1PtX2f5/ju4ryvvrH6+dH1/QcSRmfehpv0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779813668; c=relaxed/simple; bh=K8C5GYLlAxU3WbwtwDtgdk1jR5NFQPJ4WpNEENIbMJ8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MWVroRxpTI8+ozE+VIbR13o9vXD15ocOqg4wH7GqfX1E7jgG4NMR80ujGGnc/zAR7I/fOnb3r83WsFcMteAWsjkwyN4CUvYOBufRoRPR2/FyiEja64zd9mZL0YcXEKN+Yq1ShGtQFSsTCGK0I+wcsbLevbyg0lMM/1w9Q1ZIIAo= 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=eGoBWxF7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=A+rRT1VS; 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="eGoBWxF7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="A+rRT1VS" 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 64QG0hWa3322236 for ; Tue, 26 May 2026 16:41: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= NA5/DOm2s509z3Nfa+rdC3ZzVNO+AkSHSgjtz2ktqkA=; b=eGoBWxF7lWez9a4i iweLa9epGajhpEm3bx8ECEfk5Ui2P8nRCnjfldLg2PP4Qk6smi4j+usb48ytm30S 7pRRCybx+5MK7JHG2e2x9jgnlfy7WtKnOpios6XfjkL4bEmxG0DFl9XLvjKQa0Q5 TZ7VGJz1ST2octKhOVLBvCorvufeK2QKcmt1pFtZYnxM0QyEjjMEj439R4bU80R7 s7Ep4rVq1BQpmnfec0sKTib4ExItf25Y+RBySPlfLy4cvjvsYrJpvr4x5Ws7LFwP Rj5nOEJnWdjzRjF6BBRjuy1TConIm+GwWc8GwuMhdb/cCPVfjwOwkq2XooYH5ZsY 7YDANw== Received: from mail-qt1-f198.google.com (mail-qt1-f198.google.com [209.85.160.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4edentg7qj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 26 May 2026 16:41:03 +0000 (GMT) Received: by mail-qt1-f198.google.com with SMTP id d75a77b69052e-516879bf1a7so274869681cf.1 for ; Tue, 26 May 2026 09:41:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779813662; x=1780418462; 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=NA5/DOm2s509z3Nfa+rdC3ZzVNO+AkSHSgjtz2ktqkA=; b=A+rRT1VS/qiAaiywc0q0BD09Z3Seb8Kd6hm7ETaa7RUjIsHdLF5hK2ZRnmCeDXA09E WL27fezIp/Lu+EQw4Edu0OFtsNRrxkMT/broOZwldTg1tEhxSTVll34zvMlZ4UQDncWp KJsWJ2r5ancM2jz5RnCLCraKBdzF1bvDSqM1na/DLXANux6s7D4EoOtDJrF+OMfI6ZAg FcRKM2KQWaz3cdN4YhlS4KMcasvpi/Ib0c2cITQM217/7qLRexZFjZu0l3gsbkXGnX5G qPF8FUDH/c1BgsnZaUw6xDGqfOl1O/m3YVsldXliVTYWDYCEPpdh3Nl5mT+81+lh2m4Q si1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779813662; x=1780418462; 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=NA5/DOm2s509z3Nfa+rdC3ZzVNO+AkSHSgjtz2ktqkA=; b=cEwN9Mcex79qAXrli8qvayGL+V3Jds9Bg/ffMamsKMT4XvatID+vxKfbeINuNI8SER kGSLJsKdMyDd+ismicl7mV2WEwvJDp3CXPhd23pX5QcR4Qww7vqOZcYHv3DrEPjteZkU sLOapQTusNbqUwPArkedQLck/ycyZQoIzmwHGbkc+eWny4ONJG3Vkm+w7sDWOlHs76P9 YfdhsNp8TFe6PJDwMEoazsCHsUSXgoWMvtCAbOWcEjbylpjEP9IEx+LpuUUEGzdwQgi8 jHBI4F2bmtmZkiX4zklawTE6zJNYKNXHu+fKd5/toRyaHsPx26E0HUF74qluDx103/a+ D6fA== X-Forwarded-Encrypted: i=1; AFNElJ89ZMM4f6Ive6ZDAd8OHsZ5gmgWKDIK5y3CkBJjc8yb6k3ci9kqHva76YM90RX+cA6HOyht0igGepBI9pY=@vger.kernel.org X-Gm-Message-State: AOJu0Yx9ADk1I0kNgQzLls4Di1H+wt735vX7T60RftTGqNqZ/c7TKawb JF/o69ymK/3rF3Hx6DmmEMzd7IYvVfIGKW4HZe66ZUm6ljMOXTQCO0X3gRTDDLmpdpD73GIOVAu NH98o5KKh9YCjGVfwhOJOR2E0kUokYZ9RlhfQqZ3IhGyw2jOspbC7vbTnaNTETUqEHyw= X-Gm-Gg: Acq92OGgfuHoaNtplLFU04+wZn/NjeYOL/F4qDe3+umL0ZbTST0KpJLIXDXfukCMxdx DaaN6K18V0hsw7n0T0MsH449PfhAHKbr4X7lpBYwbSXnx2sJYvJ9R7sSgIIoE9OHybYpEFMklEn dr7P/HCBWCxuI6ukMTGEIosw0HoqnDEyV50BUWehi4eNhjEmEi0NKq4OdGuGQoKNOuWseV2Us0n Dyzxo2ZuFpzIbLZY+4dbFi2KpqIpBo7tFnD84rV5YEBuO464ReNbS2xJKaaW7M3e8L3fBUdp8FO n7XEI4UfRXzQz99VHAv7P1+5e3kPqlOPD0fFYjLlZ0ONR2Lfy2YTX+YOWbuGOc5xLBCOeyN5qro NjDfdTVprYRL78hHa0aI1wBBtrgpWaAFjATiv8E1pmZYZHv5XPP4= X-Received: by 2002:a05:622a:4d4f:b0:516:dc75:1aca with SMTP id d75a77b69052e-516dc75415fmr209886231cf.26.1779813662236; Tue, 26 May 2026 09:41:02 -0700 (PDT) X-Received: by 2002:a05:622a:4d4f:b0:516:dc75:1aca with SMTP id d75a77b69052e-516dc75415fmr209885761cf.26.1779813661550; Tue, 26 May 2026 09:41:01 -0700 (PDT) Received: from brgl-qcom.local ([2a01:cb1d:dc:7e00:c518:e53b:f5c3:921d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-45eb6d48e23sm35605880f8f.20.2026.05.26.09.41.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2026 09:41:00 -0700 (PDT) From: Bartosz Golaszewski Date: Tue, 26 May 2026 18:40:37 +0200 Subject: [PATCH v3 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: <20260526-gpio-swnode-alchemy-v3-6-2aaa1238ae4a@oss.qualcomm.com> References: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> In-Reply-To: <20260526-gpio-swnode-alchemy-v3-0-2aaa1238ae4a@oss.qualcomm.com> To: Thomas Bogendoerfer , Dmitry Torokhov Cc: brgl@kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, Bartosz Golaszewski , Manuel Lauss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=10961; i=bartosz.golaszewski@oss.qualcomm.com; h=from:subject:message-id; bh=e0m++1XBgamWekKPUOU22v5LN6WCVsQCLD/ZbidtdXQ=; b=owEBbQKS/ZANAwAKAQWdLsv/NoTDAcsmYgBqFc0RARaqD82nFmi6oMPzegXY3AbRQS1sHYSgL mXcO8ZvaPKJAjMEAAEKAB0WIQSR5RMt5bVGHXuiZfwFnS7L/zaEwwUCahXNEQAKCRAFnS7L/zaE wx1pD/9/GlFfE0gXdlWJi0b06rgl9pzyNvBvQrUjb6coZsGqExN+8Rym4k56R/fqZhgl3wE97lj wtDvxCFhUzmMtolgCUR6lm8MQZ2Xnw7taUcPFHpXWXPtQ1ago9vUD3Iui2tHOi6GQxhmsiYu8R8 Xch19A0ym6WCTR3iU6MErt/IAQuc3iUwQpmogrw7k0k5Al0pLu5681yhvmltY9N5U4EWzsAqhzM yk8DOh13YoPohSX+8zSmM0jyIasomDJuMutiiM/pT8qbxnshawgGUAtV3NxdKEp9IkOx2tWmCmY G34dfEG65YQHqH5Cjr4s5+jYFXAaonahTSYZT6INSgD+uNq20lN341nhqR1WHvsige+W8EcIS16 snkX8Hj+bOoI62qq80QWW7RGbsGHlzLCYgGIGJkvUPPPfncslCscB1GdpVZ7gv8ij1/Kh2RRc09 NsFD1vrMOGnfSp1tmciMufkqrq/22ifjDkDY248sqZSsp0c49IHtLfv4x7MIzIU29AWtD10oeXE vHgGsOT6SRVPcAwQ8gobVlWrUEN7tnhqcvvcHIbdjY1e+Ot2kzwaCSkgu7iAbGafr++Flg+5W2m ecpYTqEvgWQ1wTD7IYvs7L3KPSanlOvILqmKBxnsrkpTLUNofMajTHzYTUP5E9d8+J3Q50gokI1 as3Kh0NkWVRHiCg== X-Developer-Key: i=bartosz.golaszewski@oss.qualcomm.com; a=openpgp; fpr=169DEB6C0BC3C46013D2C79F11A72EA01471D772 X-Authority-Analysis: v=2.4 cv=Ja+Ma0KV c=1 sm=1 tr=0 ts=6a15cd1f cx=c_pps a=mPf7EqFMSY9/WdsSgAYMbA==: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=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=fwz_8kWlW_JgjtjOTdkA:9 a=QEXdDO2ut3YA:10 a=dawVfQjAaf238kedN5IG:22 X-Proofpoint-ORIG-GUID: EMj7jMiqDBfPPQ9EopC0207QxzrK67BO X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTI2MDE0NCBTYWx0ZWRfX8BFsiGQC6BHh /K3fpWE/N4X9E+JgY43QMRpLzgG2pS6JIXatSQqt9ZeTsluSFUhFC+h5oTxqmPD39iXSLKpT4Du 9aY0q5IG5krISEEGSXRQrEdoR4CqQD88wRQoqigzldVbnK1FIE/z/ssPalOvcmRKXx6LAXOzrrZ EwtC47xIc6Wp1NZSQ9nv3Xvio5+MTAPi/2wlxSiI59lxUeB+XKPq6Qs/B5XL82HLYCFm4WzVLcJ uyn/km3Qhfy+1EjBuvYH+WA8XYx19BlEHDEBxlX7qglLGQTzwA3YqKM6OP7w3d+sNVCtHzpF2Qg 59Fy/9bIuuK1KiyZZaTnOkqYTn4GoZT0OTvNc+lfXuXXfHuPG7YBf7LTM3Qzr11K+oOig3rnnme 2Gc69ET4nPjeZ5wfNql3wrAVuR16BtQRhHbDhhQkK0S225bBg1HfH2N7Kwnv1K/gu2ATQX5gLlB wnsTRRlWgExZ86c4t+g== X-Proofpoint-GUID: EMj7jMiqDBfPPQ9EopC0207QxzrK67BO X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-05-26_04,2026-05-26_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015 bulkscore=0 priorityscore=1501 lowpriorityscore=0 malwarescore=0 phishscore=0 impostorscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605260144 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] Tested-by: Manuel Lauss Signed-off-by: Bartosz Golaszewski --- arch/mips/alchemy/common/gpiolib.c | 6 + arch/mips/alchemy/devboards/db1300.c | 218 ++++++++++++++++----= ---- arch/mips/include/asm/mach-au1x00/gpio-au1300.h | 3 + 3 files changed, 156 insertions(+), 71 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..a7b8b7e8291f581e30741eca8a5= 67193be8d2559 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,38 @@ 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]; + +static const struct property_entry db1300_eth_props[] __initconst =3D { + 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 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 db1300_eth_props, }; =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 { @@ -352,67 +368,128 @@ static struct platform_device db1300_i2c_dev =3D { =20 /**********************************************************************/ =20 +static const struct property_entry db1300_5waysw_props[] =3D { + PROPERTY_ENTRY_BOOL("autorepeat"), + PROPERTY_ENTRY_STRING("label", "db1300-5wayswitch"), + { } +}; + /* proper key assignments when facing the LCD panel. For key assignments * 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 db1300_5waysw_props, }; =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", +static const struct property_entry db1300_5waysw_down_props[] =3D { + 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"), + { } }; =20 -static struct platform_device db1300_5waysw_dev =3D { - .name =3D "gpio-keys", - .dev =3D { - .platform_data =3D &db1300_5waysw_data, - }, +static const struct software_node db1300_5waysw_down_node =3D { + .name =3D "5waysw-down", + .parent =3D &db1300_5waysw_node, + .properties =3D db1300_5waysw_down_props, +}; + +static const struct property_entry db1300_5waysw_up_props[] =3D { + 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"), + { } }; =20 +static const struct software_node db1300_5waysw_up_node =3D { + .name =3D "5waysw-up", + .parent =3D &db1300_5waysw_node, + .properties =3D db1300_5waysw_up_props, +}; + +static const struct property_entry db1300_5waysw_right_props[] =3D { + 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_right_node =3D { + .name =3D "5waysw-right", + .parent =3D &db1300_5waysw_node, + .properties =3D db1300_5waysw_right_props, +}; + +static const struct property_entry db1300_5waysw_left_props[] =3D { + 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_left_node =3D { + .name =3D "5waysw-left", + .parent =3D &db1300_5waysw_node, + .properties =3D db1300_5waysw_left_props, +}; + +static const struct property_entry db1300_5waysw_push_props[] =3D { + 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 db1300_5waysw_push_node =3D { + .name =3D "5waysw-push", + .parent =3D &db1300_5waysw_node, + .properties =3D db1300_5waysw_push_props, +}; + +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) +{ + const struct platform_device_info pdevinfo =3D { + .name =3D "gpio-keys", + .id =3D PLATFORM_DEVID_NONE, + .swnode =3D &db1300_5waysw_node, + }; + struct platform_device *pd; + int err; + + err =3D software_node_register_node_group(db1300_5waysw_swnodes); + if (err) { + pr_err("failed to register 5waysw software nodes: %d\n", err); + return; + } + + pd =3D platform_device_register_full(&pdevinfo); + err =3D PTR_ERR_OR_ZERO(pd); + if (err) + pr_err("failed to create 5waysw device: %d\n", err); +} + /**********************************************************************/ =20 static struct pata_platform_info db1300_ide_info =3D { @@ -765,9 +842,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 +880,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 +922,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