Received: by 2002:ab2:1689:0:b0:1f7:5705:b850 with SMTP id d9csp1623022lqa; Mon, 29 Apr 2024 14:04:55 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVNgq6NGx+M3EyBZHZgsuhPQMxEd0UBx+cwrMFg3eLng3FvFiowG9nA8nUL56Sa+DlCZ3TlewytaxkObROToOpRhfC6/BJBK3YntmkQWw== X-Google-Smtp-Source: AGHT+IG7G/Q4qHRJEzpzDciFA2VTNhqsEZARDXhAtxuYQ1idMkwGvYEoYXr4Yjo38PC23UHdBnPJ X-Received: by 2002:ae9:e101:0:b0:790:c7f6:5958 with SMTP id g1-20020ae9e101000000b00790c7f65958mr685665qkm.1.1714424695141; Mon, 29 Apr 2024 14:04:55 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714424695; cv=pass; d=google.com; s=arc-20160816; b=GAoVFL61oNOB5mNwd86SFbnUhqqo8gpUNlgQWDw/zwA4Y8fN+7gR0OSPIi4X/uKVvA Z7elbB671j9d4NarrcsKwkKm78TiF03LOBp0rILL/T1pLz4tgKcVe2YMUxWWYvf8bJxd n+7Ool53FS4kpF2Kqj/lx32qc6oKwHBgKNAxv3gboY7FVcwMUHIuk/UpXH+RTphkJbKf W5x7O8FwR3bcgEw4qiJcrIXRiA7BfsT773w+AXQpicAUubexsgZsUUzqAyKiSMQ6ekO6 Cq2OvLFTlo1DSwdTfOXuxYCchfAZTQTdsUFhMWhzhcHqFx2V6mDjdbjfeWV4g1cpTEGb AtVA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=tYCWNfX9l1yguWDgLtgGGbM0l6DgIRxcLhlsD76wZVQ=; fh=h0VegV54Izt8Qd8QRJ8tKg36ikFhfGt+Cj1gLXGk4yo=; b=hPzVohp6IUIzekWHaN43VH41tJU/+zRFuoGd0hWeEKuUNma9EtJOflcRX0rVtl965M 6l7QHyALnOuD7UKd9X1C/4W/DLyYCf9eHn7sFEvYLKYX/iP7nqtSVZiit8fmAd8Z5YSV OTcrUoZ44cU0ZlIDRENxzI3xe6BJYWbSpP7DfInFYdvvySBm3bXhal1znMnWzEmjd9Pi s+gcVkpX9NGtkCRFcda2BRLQBEMvRtGE/4GEAxyn5J43yabqxWROYGzDl1n+T9lHQ2/x RApAKnzMdrQT5yUTk0ZGpwQkBqB0hWtIMN6R9b1Qdow7nlKJqE/0HVrwVVMEWE0gw8C/ 0jMA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=PVjzyu8U; arc=pass (i=1 spf=pass spfdomain=linux.ibm.com dkim=pass dkdomain=ibm.com dmarc=pass fromdomain=linux.ibm.com); spf=pass (google.com: domain of linux-kernel+bounces-163048-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-163048-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id o5-20020a05620a110500b0078d6d49705bsi26019413qkk.535.2024.04.29.14.04.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Apr 2024 14:04:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-163048-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=PVjzyu8U; arc=pass (i=1 spf=pass spfdomain=linux.ibm.com dkim=pass dkdomain=ibm.com dmarc=pass fromdomain=linux.ibm.com); spf=pass (google.com: domain of linux-kernel+bounces-163048-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-163048-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id C12AE1C21539 for ; Mon, 29 Apr 2024 21:04:54 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 705FC181BBC; Mon, 29 Apr 2024 21:02:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="PVjzyu8U" Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (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 7E98918130F; Mon, 29 Apr 2024 21:02:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714424524; cv=none; b=rnmw8k+GRkDfxGjspBL5BDMcDHAz8GVoU3cxC+IHAnWN63k717cICyL+6G9rbCHes1RginuMSWFcVlqUuBjFU3wwuKFTYKNdEdNU149E94/LJheI7Em+kprsgOxMWUiJUCPc9WfrTAtHU10J+ZMoA11iJHU08WwJmmPA3xmkIr0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714424524; c=relaxed/simple; bh=gPvvzMSRDgj7FivzqDBmOCGvulFZ6OlOKdEnSDIAaXA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Ef/EfWobSo0ArREGV22kGoC7I1ULH8HQcQ8fRVboWydV2OBi+n6S8ICc1RxNUuzi4IWL7XqNB+ZmfgUtqUShVWVKLSO95HQMtMZQHewW5jYTZJ2UFTq9+h25PQnzReqR8pzn4EiplSHgBpkHK60vhK03UkeWZdeCSlt4DRD4DOU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=PVjzyu8U; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 43TKs6MS019885; Mon, 29 Apr 2024 21:01:50 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=tYCWNfX9l1yguWDgLtgGGbM0l6DgIRxcLhlsD76wZVQ=; b=PVjzyu8UYe+hEiA7T1A4i96jxxMm8oFbx9xSMCT0tZLyW9mbxbJGPSpDfK9tk8/dd60u sYfoI5Z0EIRSOZaEC/NV3Lh8Rf0aAQuBiLKJlQGfjDQq4ZQ0vNBf4RkwRWLAjkf8c1Yo Y50AAnHmChuH241+Y50R1H/l1PTHUdWXVX2alZH48dJWsf4Ah5T1UK+ugYVZwsRI0SGM rnq4FAybwTJIBxlkXWg78+LIxWkmmX2YfKo4CBAYYOBxz3Gbo87qGA4YC3U4RIy92jV2 5+xf9AwRTrt7gglBShBnKyxHuzkFBUt5dQi0cdChnsnXCS3HaXWTZjA/BHhTmjdfGvIS aQ== Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3xtjyj01d8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 29 Apr 2024 21:01:50 +0000 Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 43TJVJY5015603; Mon, 29 Apr 2024 21:01:49 GMT Received: from smtprelay06.dal12v.mail.ibm.com ([172.16.1.8]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 3xsed2s47n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 29 Apr 2024 21:01:49 +0000 Received: from smtpav01.wdc07v.mail.ibm.com (smtpav01.wdc07v.mail.ibm.com [10.39.53.228]) by smtprelay06.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 43TL1kdF18744014 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 29 Apr 2024 21:01:48 GMT Received: from smtpav01.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 274165805B; Mon, 29 Apr 2024 21:01:46 +0000 (GMT) Received: from smtpav01.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 637D158066; Mon, 29 Apr 2024 21:01:45 +0000 (GMT) Received: from slate16.aus.stglabs.ibm.com (unknown [9.61.151.254]) by smtpav01.wdc07v.mail.ibm.com (Postfix) with ESMTP; Mon, 29 Apr 2024 21:01:45 +0000 (GMT) From: Eddie James To: linux-aspeed@lists.ozlabs.org Cc: eajames@linux.ibm.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-fsi@lists.ozlabs.org, linux-spi@vger.kernel.org, linux-i2c@vger.kernel.org, lakshmiy@us.ibm.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, joel@jms.id.au, andrew@codeconstruct.com.au, andi.shyti@kernel.org Subject: [PATCH v4 15/17] fsi: occ: Get device number from FSI minor number API Date: Mon, 29 Apr 2024 16:01:29 -0500 Message-Id: <20240429210131.373487-16-eajames@linux.ibm.com> X-Mailer: git-send-email 2.39.3 In-Reply-To: <20240429210131.373487-1-eajames@linux.ibm.com> References: <20240429210131.373487-1-eajames@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: cJXIH8TCSemLCXOH89YtJKHCwIMReHC8 X-Proofpoint-GUID: cJXIH8TCSemLCXOH89YtJKHCwIMReHC8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-04-29_18,2024-04-29_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 bulkscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 phishscore=0 malwarescore=0 adultscore=0 lowpriorityscore=0 priorityscore=1501 spamscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404290138 Remove the IDA indexing for OCC devices and instead use the FSI minor number API. This will make the OCC numbering consistent with other FSI engines and make the "reg" device tree property unnecessary. Signed-off-by: Eddie James --- drivers/fsi/fsi-occ.c | 47 +++++++++---------------------------------- 1 file changed, 9 insertions(+), 38 deletions(-) diff --git a/drivers/fsi/fsi-occ.c b/drivers/fsi/fsi-occ.c index da35ca9e84a6..2023355b3980 100644 --- a/drivers/fsi/fsi-occ.c +++ b/drivers/fsi/fsi-occ.c @@ -4,9 +4,9 @@ #include #include #include +#include #include #include -#include #include #include #include @@ -44,6 +44,7 @@ struct occ { struct device *sbefifo; char name[32]; int idx; + dev_t devt; bool platform_hwmon; u8 sequence_number; void *buffer; @@ -75,8 +76,6 @@ struct occ_client { #define to_client(x) container_of((x), struct occ_client, xfr) -static DEFINE_IDA(occ_ida); - static int occ_open(struct inode *inode, struct file *file) { struct occ_client *client = kzalloc(sizeof(*client), GFP_KERNEL); @@ -622,7 +621,6 @@ static int occ_unregister_of_child(struct device *dev, void *data) static int occ_probe(struct platform_device *pdev) { int rc; - u32 reg; char child_name[32]; struct occ *occ; struct platform_device *hwmon_dev = NULL; @@ -637,6 +635,10 @@ static int occ_probe(struct platform_device *pdev) if (!occ) return -ENOMEM; + rc = fsi_get_new_minor(to_fsi_dev(dev->parent), fsi_dev_occ, &occ->devt, &occ->idx); + if (rc) + return rc; + /* SBE words are always four bytes */ occ->buffer = kvmalloc(OCC_MAX_RESP_WORDS * 4, GFP_KERNEL); if (!occ->buffer) @@ -651,24 +653,6 @@ static int occ_probe(struct platform_device *pdev) */ occ->sequence_number = (u8)((jiffies % 0xff) + 1); mutex_init(&occ->occ_lock); - - if (dev->of_node) { - rc = of_property_read_u32(dev->of_node, "reg", ®); - if (!rc) { - /* make sure we don't have a duplicate from dts */ - occ->idx = ida_simple_get(&occ_ida, reg, reg + 1, - GFP_KERNEL); - if (occ->idx < 0) - occ->idx = ida_simple_get(&occ_ida, 1, INT_MAX, - GFP_KERNEL); - } else { - occ->idx = ida_simple_get(&occ_ida, 1, INT_MAX, - GFP_KERNEL); - } - } else { - occ->idx = ida_simple_get(&occ_ida, 1, INT_MAX, GFP_KERNEL); - } - platform_set_drvdata(pdev, occ); snprintf(occ->name, sizeof(occ->name), "occ%d", occ->idx); @@ -680,7 +664,7 @@ static int occ_probe(struct platform_device *pdev) rc = misc_register(&occ->mdev); if (rc) { dev_err(dev, "failed to register miscdevice: %d\n", rc); - ida_simple_remove(&occ_ida, occ->idx); + fsi_free_minor(occ->devt); kvfree(occ->buffer); return rc; } @@ -719,7 +703,7 @@ static int occ_remove(struct platform_device *pdev) else device_for_each_child(&pdev->dev, NULL, occ_unregister_of_child); - ida_simple_remove(&occ_ida, occ->idx); + fsi_free_minor(occ->devt); return 0; } @@ -746,20 +730,7 @@ static struct platform_driver occ_driver = { .remove = occ_remove, }; -static int occ_init(void) -{ - return platform_driver_register(&occ_driver); -} - -static void occ_exit(void) -{ - platform_driver_unregister(&occ_driver); - - ida_destroy(&occ_ida); -} - -module_init(occ_init); -module_exit(occ_exit); +module_platform_driver(occ_driver); MODULE_AUTHOR("Eddie James "); MODULE_DESCRIPTION("BMC P9 OCC driver"); -- 2.39.3