Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp67166rdb; Wed, 29 Nov 2023 20:40:43 -0800 (PST) X-Google-Smtp-Source: AGHT+IENEdPXSw76Fb088zLEfam6bYZ7G1on7pLRwp+buuYEUi6Nt/39irb6kJWA8ZLY3pCEVrSY X-Received: by 2002:a17:903:2596:b0:1cc:53d1:10b8 with SMTP id jb22-20020a170903259600b001cc53d110b8mr17752628plb.50.1701319242829; Wed, 29 Nov 2023 20:40:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701319242; cv=none; d=google.com; s=arc-20160816; b=S7YiN4sUHf4H8lT7zqXy+BM5bytJY3gLp8aMz5drxgvl70NdHqjCeUyfYFfyBDkdQY P8INE8yGNpbm5G9bHoWePSTtSQVaSXml59mCf/9jBwDZTLOx9sH+4XZdFbzbKs9XNx1K S7mzFdpZ2yx3NfZZ1h6Yhl4TAYXX5uK68kUXpjmgQbDpdk9W8h6tcixq7JB7YJhBEgYx 6q8f1Al2krB8K6ceW4Vnz9R0/d33sNeh/IojOLOsOkZH3hO86ydBh6YEV3RTaxoSEW0J OKLvA9Rb7UDktOW4VvW66IFVH/u3loaOjZanhaVShf04WUPGZKHAF+Fok6vGrjrwXnB6 H90Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature:dkim-filter; bh=wAAMC2eL/WrJLejomx4OF8xydfuBFGP8lpGRKRyrRGE=; fh=A4Tbg78crB1KrAe+Ik7dCb/gVDbD+jvr+JF8Pad2ewE=; b=bpc2PCd4e70cgxHvCouV4kZ6A+jfTu8YoMtdyjUyM04P0aaoqxKyw9psG5+Cg7HArH aGxosWeK+bkzgqKX5QnNPz9espdpBJWTXvJFLKoaN/usa68BG2cVKsggitKDpffJe1TT 1uPu3Q9Oex/evy0elFESIpZZcGf1Suq0x5pyrhjErHdcR99rh7Kdaiidd+UkFyaKNNrl vZFrfE3w7sbR0YxgKfZ/yE4d8mgImYl0mmoKifK1MsrpPFQMlpVbEmlaE9jOaacU0G8B 4IYnvN99Y8DYejRnijSLyW7d4bmQkyw8aqj1Dh3R+ZeL6LuXk/lE79C52U0IKkq1dt8n WH0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=dkimrelay header.b="otDyjmr/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id q10-20020a170902788a00b001cff53d43c4si368596pll.178.2023.11.29.20.40.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Nov 2023 20:40:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@broadcom.com header.s=dkimrelay header.b="otDyjmr/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 93989802A72E; Wed, 29 Nov 2023 20:40:41 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231447AbjK3Ek3 (ORCPT + 99 others); Wed, 29 Nov 2023 23:40:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39430 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229810AbjK3Ek2 (ORCPT ); Wed, 29 Nov 2023 23:40:28 -0500 X-Greylist: delayed 434 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Wed, 29 Nov 2023 20:40:34 PST Received: from relay.smtp-ext.broadcom.com (lpdvsmtp09.broadcom.com [192.19.166.228]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BE305D6C for ; Wed, 29 Nov 2023 20:40:34 -0800 (PST) Received: from mail-lvn-it-01.lvn.broadcom.net (mail-lvn-it-01.lvn.broadcom.net [10.36.132.253]) by relay.smtp-ext.broadcom.com (Postfix) with ESMTP id F33B7C0070B2; Wed, 29 Nov 2023 20:33:19 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 relay.smtp-ext.broadcom.com F33B7C0070B2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=broadcom.com; s=dkimrelay; t=1701318800; bh=Kl08Peu9NjmNJqmZtJUhrVzlCW+5eOcIx3ZsxvfCSLQ=; h=From:To:Cc:Subject:Date:From; b=otDyjmr/nHrcyxA4SoLIQJSqlC2sTum0jKcdUbIMjvudJCum0EzQiYRXoS8PvTEFe jAXRBhguijR0ImHUKk2KmepvC0MyYsF95IZQ7vKVoc7YkxejyI9Xj6PyP/3yK55ySm oImEbalWR5KYw7cDMbw6dR2yM6ASP3xSwcO1b2Oo= Received: from fainelli-desktop.igp.broadcom.net (fainelli-desktop.dhcp.broadcom.net [10.67.48.245]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail-lvn-it-01.lvn.broadcom.net (Postfix) with ESMTPSA id B9ADE18041CAC4; Wed, 29 Nov 2023 20:33:18 -0800 (PST) From: Florian Fainelli To: linux-kernel@vger.kernel.org Cc: akpm@linux-foundation.org, Kuan-Ying.Lee@mediatek.com, Florian Fainelli , Jan Kiszka , Kieran Bingham , Greg Kroah-Hartman Subject: [PATCH] scripts/gdb: Fix lx-device-list-bus and lx-device-list-class Date: Wed, 29 Nov 2023 20:33:16 -0800 Message-Id: <20231130043317.174188-1-florian.fainelli@broadcom.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 29 Nov 2023 20:40:41 -0800 (PST) After the conversion to bus_to_subsys() and class_to_subsys(), the gdb scripts listing the system buses and classes respectively was broken, fix those by returning the subsys_priv pointer and have the various caller de-reference either the 'bus' or 'class' structure members accordingly. Fixes: 83b9148df2c9 ("driver core: bus: bus iterator cleanups") Fixes: 7b884b7f24b4 ("driver core: class.c: convert to only use class_to_subsys") Signed-off-by: Florian Fainelli --- scripts/gdb/linux/device.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/gdb/linux/device.py b/scripts/gdb/linux/device.py index 16376c5cfec6..0eabc5f4f8ca 100644 --- a/scripts/gdb/linux/device.py +++ b/scripts/gdb/linux/device.py @@ -36,26 +36,26 @@ def for_each_bus(): for kobj in kset_for_each_object(gdb.parse_and_eval('bus_kset')): subsys = container_of(kobj, kset_type.get_type().pointer(), 'kobj') subsys_priv = container_of(subsys, subsys_private_type.get_type().pointer(), 'subsys') - yield subsys_priv['bus'] + yield subsys_priv def for_each_class(): for kobj in kset_for_each_object(gdb.parse_and_eval('class_kset')): subsys = container_of(kobj, kset_type.get_type().pointer(), 'kobj') subsys_priv = container_of(subsys, subsys_private_type.get_type().pointer(), 'subsys') - yield subsys_priv['class'] + yield subsys_priv def get_bus_by_name(name): for item in for_each_bus(): - if item['name'].string() == name: + if item['bus']['name'].string() == name: return item raise gdb.GdbError("Can't find bus type {!r}".format(name)) def get_class_by_name(name): for item in for_each_class(): - if item['name'].string() == name: + if item['class']['name'].string() == name: return item raise gdb.GdbError("Can't find device class {!r}".format(name)) @@ -70,13 +70,13 @@ def klist_for_each(klist): def bus_for_each_device(bus): - for kn in klist_for_each(bus['p']['klist_devices']): + for kn in klist_for_each(bus['klist_devices']): dp = container_of(kn, device_private_type.get_type().pointer(), 'knode_bus') yield dp['device'] def class_for_each_device(cls): - for kn in klist_for_each(cls['p']['klist_devices']): + for kn in klist_for_each(cls['klist_devices']): dp = container_of(kn, device_private_type.get_type().pointer(), 'knode_class') yield dp['device'] @@ -103,7 +103,7 @@ class LxDeviceListBus(gdb.Command): def invoke(self, arg, from_tty): if not arg: for bus in for_each_bus(): - gdb.write('bus {}:\t{}\n'.format(bus['name'].string(), bus)) + gdb.write('bus {}:\t{}\n'.format(bus['bus']['name'].string(), bus)) for dev in bus_for_each_device(bus): _show_device(dev, level=1) else: @@ -123,7 +123,7 @@ class LxDeviceListClass(gdb.Command): def invoke(self, arg, from_tty): if not arg: for cls in for_each_class(): - gdb.write("class {}:\t{}\n".format(cls['name'].string(), cls)) + gdb.write("class {}:\t{}\n".format(cls['class']['name'].string(), cls)) for dev in class_for_each_device(cls): _show_device(dev, level=1) else: -- 2.34.1