From nobody Mon Mar 20 20:36:53 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PgRNj4zgWz40Ckt; Mon, 20 Mar 2023 20:36:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PgRNj4VgDz3h18; Mon, 20 Mar 2023 20:36:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679344613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WgIcyxg7ScyI8ogR5xdBfV3O+nR5BMtz0KyqC1Mg/lI=; b=H453LakM4Vfnj1iiqc/NxfTGTLCmk5GyehjvWoclSv11h482SCdRVwrAY5MtYsPIg2st5t 2CopuC52z0Z70GQ3W+10X/MgOHpSWxfWs3jtxbePBhPkq4nrlc8DUNYY8kMNWlo8Md5rsg 2ZJUdYoSiKwUkkUyVydmjPwUTvcFOX38AgtZt576EQf9HdxJdavgZc0TLk8U9aRHbFj793 T+tW5xRf8Ju2C8LhGle1c+pHGgOoUx8vYOtgZkdRh0Z0JJBHXzHAnOO84wlpvfaPgPHdkr FgWX0js3gDPP4i4AfI7c6+JT8sFpIlRBmpKPU/mCdacMo9bnduzb9XaHnll/Uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1679344613; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=WgIcyxg7ScyI8ogR5xdBfV3O+nR5BMtz0KyqC1Mg/lI=; b=uzNiz/WbuSFUBi/dVMS46V9pSf+5/QzgjWd2/BXleQakSzMXao5JHF39CH0v1f54T4O82v 5llVL17PbvpQfvBnaZClWGswOYVVBRZAo2vn79ikLmuucHgcJG46JZkngC44//em/qACom pDx8bsc3zh/2FQr3ujzPUHUbNEatkrjFwsZ9QsrQtHTvonvWpnVSPSd6HFCI9bTST4/ioD OCPoy7NemmaeQe1M/bTmdu5diRk3qI1L1ZyAmUCZgJ4OSvg4fwWfkfJyCu9U3se0q/dMQl CeRsIPZLmWKJyhR9ZzjmKOxWuig42EysLbRpKdjC57t24IsVUU2BLsi6Bd/jaw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1679344613; a=rsa-sha256; cv=none; b=kg+G9FuDAioadTQUhPG0+ydhfs8Mq6fo8dmEwdhsqfw8+I8MHz+toBzh+hr0SM2PZjtTEx NRHEn69b/WSe+lAyqVjL+UBAhuO9k3+RfcORhBofE7AnEVciNViw4ofJAHMfdouLed5PFy coZo2AYi1pw+2acywmoO4hKIAgp9Owpet3VxTPjFQKDsGazgLLunO9BDWpbMXOtuxx+mQt aaLZEcC0VPLc6bOLT/kf77NeRxnKJskEzawcBUi32hSHIII6bYbF4yKRaKbT4v6DZ0DYxj 5gyLpGbMuFLpnpJ/JkvexoghxaCi1Ld7poOM3XFI9kevtj7JDm6HRldUim1TJw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4PgRNj3X0mzkb6; Mon, 20 Mar 2023 20:36:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32KKarps066237; Mon, 20 Mar 2023 20:36:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32KKar2O066236; Mon, 20 Mar 2023 20:36:53 GMT (envelope-from git) Date: Mon, 20 Mar 2023 20:36:53 GMT Message-Id: <202303202036.32KKar2O066236@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Mitchell Horne Subject: git: abe3309e71b9 - main - riscv: nexus code tidy-up List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: abe3309e71b94527e937f034dd81ca7d6afdeb67 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=abe3309e71b94527e937f034dd81ca7d6afdeb67 commit abe3309e71b94527e937f034dd81ca7d6afdeb67 Author: Mitchell Horne AuthorDate: 2023-02-06 15:53:09 +0000 Commit: Mitchell Horne CommitDate: 2023-03-20 20:35:47 +0000 riscv: nexus code tidy-up Make a pass at the various nexus implementations, fixing some very minor style issues, obsolete comments, etc. The method declaration section has become unwieldy in many respects. Attempt to tame it by: - Using generated method typedefs - Grouping methods roughly by category, and then alphabetically. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D38495 --- sys/riscv/riscv/nexus.c | 85 ++++++++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 47 deletions(-) diff --git a/sys/riscv/riscv/nexus.c b/sys/riscv/riscv/nexus.c index 33720475844f..96c4cf4ddca0 100644 --- a/sys/riscv/riscv/nexus.c +++ b/sys/riscv/riscv/nexus.c @@ -76,36 +76,28 @@ struct nexus_device { static struct rman mem_rman; static struct rman irq_rman; -static device_probe_t nexus_fdt_probe; -static int nexus_attach(device_t); - -static int nexus_print_child(device_t, device_t); -static device_t nexus_add_child(device_t, u_int, const char *, int); -static struct resource *nexus_alloc_resource(device_t, device_t, int, int *, - rman_res_t, rman_res_t, rman_res_t, u_int); -static int nexus_activate_resource(device_t, device_t, int, int, - struct resource *); -static int nexus_adjust_resource(device_t, device_t, int, struct resource *, - rman_res_t, rman_res_t); -static int nexus_map_resource(device_t, device_t, int, struct resource *, - struct resource_map_request *, struct resource_map *); -static int nexus_config_intr(device_t dev, int irq, enum intr_trigger trig, - enum intr_polarity pol); -static struct resource_list *nexus_get_reslist(device_t, device_t); -static int nexus_set_resource(device_t, device_t, int, int, - rman_res_t, rman_res_t); -static int nexus_deactivate_resource(device_t, device_t, int, int, - struct resource *); -static int nexus_release_resource(device_t, device_t, int, int, - struct resource *); - -static int nexus_setup_intr(device_t dev, device_t child, struct resource *res, - int flags, driver_filter_t *filt, driver_intr_t *intr, void *arg, void **cookiep); -static int nexus_teardown_intr(device_t, device_t, struct resource *, void *); -static bus_space_tag_t nexus_get_bus_tag(device_t, device_t); - -static int nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, - int icells, pcell_t *intr); +static device_probe_t nexus_fdt_probe; +static device_attach_t nexus_attach; + +static bus_add_child_t nexus_add_child; +static bus_print_child_t nexus_print_child; + +static bus_activate_resource_t nexus_activate_resource; +static bus_adjust_resource_t nexus_adjust_resource; +static bus_alloc_resource_t nexus_alloc_resource; +static bus_deactivate_resource_t nexus_deactivate_resource; +static bus_get_resource_list_t nexus_get_reslist; +static bus_map_resource_t nexus_map_resource; +static bus_set_resource_t nexus_set_resource; +static bus_release_resource_t nexus_release_resource; + +static bus_config_intr_t nexus_config_intr; +static bus_setup_intr_t nexus_setup_intr; +static bus_teardown_intr_t nexus_teardown_intr; + +static bus_get_bus_tag_t nexus_get_bus_tag; + +static ofw_bus_map_intr_t nexus_ofw_map_intr; static device_method_t nexus_methods[] = { /* Device interface */ @@ -116,21 +108,22 @@ static device_method_t nexus_methods[] = { DEVMETHOD(ofw_bus_map_intr, nexus_ofw_map_intr), /* Bus interface */ - DEVMETHOD(bus_print_child, nexus_print_child), DEVMETHOD(bus_add_child, nexus_add_child), - DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), - DEVMETHOD(bus_activate_resource, nexus_activate_resource), + DEVMETHOD(bus_print_child, nexus_print_child), + DEVMETHOD(bus_activate_resource, nexus_activate_resource), DEVMETHOD(bus_adjust_resource, nexus_adjust_resource), - DEVMETHOD(bus_map_resource, nexus_map_resource), - DEVMETHOD(bus_config_intr, nexus_config_intr), + DEVMETHOD(bus_alloc_resource, nexus_alloc_resource), + DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), DEVMETHOD(bus_get_resource_list, nexus_get_reslist), + DEVMETHOD(bus_map_resource, nexus_map_resource), DEVMETHOD(bus_set_resource, nexus_set_resource), - DEVMETHOD(bus_deactivate_resource, nexus_deactivate_resource), DEVMETHOD(bus_release_resource, nexus_release_resource), + DEVMETHOD(bus_config_intr, nexus_config_intr), DEVMETHOD(bus_setup_intr, nexus_setup_intr), DEVMETHOD(bus_teardown_intr, nexus_teardown_intr), DEVMETHOD(bus_get_bus_tag, nexus_get_bus_tag), - { 0, 0 } + + DEVMETHOD_END }; static driver_t nexus_fdt_driver = { @@ -139,6 +132,9 @@ static driver_t nexus_fdt_driver = { 1 /* no softc */ }; +EARLY_DRIVER_MODULE(nexus_fdt, root, nexus_fdt_driver, 0, 0, + BUS_PASS_BUS + BUS_PASS_ORDER_FIRST); + static int nexus_fdt_probe(device_t dev) { @@ -203,7 +199,6 @@ nexus_add_child(device_t bus, u_int order, const char *name, int unit) child = device_add_child_ordered(bus, order, name, unit); - /* should we free this in nexus_child_detached? */ device_set_ivars(child, ndev); return (child); @@ -212,7 +207,6 @@ nexus_add_child(device_t bus, u_int order, const char *name, int unit) /* * Allocate a resource on behalf of child. NB: child is usually going to be a * child of one of our descendants, not a direct child of nexus0. - * (Exceptions include footbridge.) */ static struct resource * nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, @@ -232,10 +226,10 @@ nexus_alloc_resource(device_t bus, device_t child, int type, int *rid, */ if (RMAN_IS_DEFAULT_RANGE(start, end) && (count == 1)) { if (device_get_parent(child) != bus || ndev == NULL) - return(NULL); + return (NULL); rle = resource_list_find(&ndev->nx_resources, type, *rid); if (rle == NULL) - return(NULL); + return (NULL); start = rle->start; end = rle->end; count = rle->count; @@ -301,7 +295,7 @@ nexus_release_resource(device_t bus, device_t child, int type, int rid, if (rman_get_flags(res) & RF_ACTIVE) { error = bus_deactivate_resource(child, type, rid, res); - if (error) + if (error != 0) return (error); } return (rman_release_resource(res)); @@ -326,7 +320,7 @@ nexus_setup_intr(device_t dev, device_t child, struct resource *res, int flags, /* We depend here on rman_activate_resource() being idempotent. */ error = rman_activate_resource(res); - if (error) + if (error != 0) return (error); error = intr_setup_irq(child, res, filt, intr, arg, flags, cookiep); @@ -403,7 +397,7 @@ nexus_set_resource(device_t dev, device_t child, int type, int rid, /* XXX this should return a success/failure indicator */ resource_list_add(rl, type, rid, start, start + count - 1, count); - return(0); + return (0); } static int @@ -474,9 +468,6 @@ nexus_map_resource(device_t bus, device_t child, int type, struct resource *r, return (0); } -EARLY_DRIVER_MODULE(nexus_fdt, root, nexus_fdt_driver, 0, 0, - BUS_PASS_BUS + BUS_PASS_ORDER_FIRST); - static int nexus_ofw_map_intr(device_t dev, device_t child, phandle_t iparent, int icells, pcell_t *intr)