From nobody Thu Feb 27 14:17:26 2025 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 4Z3YMB42z2z5qFY2; Thu, 27 Feb 2025 14:17:26 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Z3YMB3YCjz3xPq; Thu, 27 Feb 2025 14:17:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740665846; 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=W8GJSZv7yUsymZdfqXk22sT9omQ3CZH05iAviB9TumU=; b=Rl/uA1RL/zVZuXdtNggWOV+BhvOO5lMhLlYKnqgXu/v+JENcwAkla4IOGTBdLFkiekPT74 0rnRhPdQstr/5OvqmFPkjqPVyJ3JSycOpN17kLQQqGn4Nezrv7UW7G42ls1q1uZYRjd2LZ VFnk7aBjNOFxBcUglBnaklD9uDvekTBYfGnNpf2sl+Gg0d0zq36V4iP76LxEDcCO3xOdRA REDOlnzmlvya5tyf2NFZOfWVVjOc83lOH5Fq0tysG8sNObzirS0uFbEo6A4FM3r3IUAGhJ hv1Mv544WUijJ4gA4iAuoApGXA3nZsk2BHK2KRZmHhsFUqXTfF6nV4bXl5p+2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1740665846; a=rsa-sha256; cv=none; b=UXPItAw+iWfjl/6xUandKVU5cbIvYS+vWcEtUE8Be8reWUidfj4UOra5DWCt/Zodqj4FG7 bz+m0gejk+DYVxvCi6Hesf+R3SgPVA0b+T03BoTKgJGHXztZ66VANj3Bd1CRBH2SrqbHbS SMHFOOyATvoHLrYi43oiXmxgQercxm39s+anSrzrouotjuAtSi0aXoAeSbQExuwENpdBIg 6DBmd4OJSogzTH6ISM32UsyAL7f3Iqdul1oMWjr7H5yLaSna9GqJxYfLjxIQDEFydNvnKZ ANCt5ejMseCsAvMhjdiqCbAPGf5shhw215YJZ1bSGK6HhHn2sPvRb0uGKE9Mbw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1740665846; 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=W8GJSZv7yUsymZdfqXk22sT9omQ3CZH05iAviB9TumU=; b=mTO7GDqnduCwcXqGpYENIgHGCJ8YLUhsrUJOaKWPNpPYMG+dfdgoddblCLAhu4SWgwincF +ji0/fYpLoCcz1ukovTsX3gCPCtTtQHVgq5aeSD7Ggr8/zARHLigD3Vx930+YKePXkSn8z xtyvTc0Hf/IoAWj3RETVnpH0t93T9HV+ED5xnJN6w/Pm3I5MwNgcxcVqENIejVCmio1h+k 1KL3tLAiXxyvqsS/Kl7pwLRoXe/NfSDVUsM4J6UZDgrXeFeR6S/8HCcjFfBpO5f0P0G/RL TMGOrbxAT6hs9RZwkgI+Whc+kGofgFwaKImTU3z7rjWEEo51EcCya+XFtf1K9A== 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 4Z3YMB38QPzmqY; Thu, 27 Feb 2025 14:17:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 51REHQL7017367; Thu, 27 Feb 2025 14:17:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51REHQLR017364; Thu, 27 Feb 2025 14:17:26 GMT (envelope-from git) Date: Thu, 27 Feb 2025 14:17:26 GMT Message-Id: <202502271417.51REHQLR017364@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 1e5d162165e2 - stable/14 - pci: Use kobj typedefs for new-bus method prototypes 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: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: 1e5d162165e283feb34551c379ee22dfb108c106 Auto-Submitted: auto-generated The branch stable/14 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=1e5d162165e283feb34551c379ee22dfb108c106 commit 1e5d162165e283feb34551c379ee22dfb108c106 Author: John Baldwin AuthorDate: 2024-06-01 20:24:29 +0000 Commit: John Baldwin CommitDate: 2025-02-27 13:09:23 +0000 pci: Use kobj typedefs for new-bus method prototypes Reviewed by: kp, imp Differential Revision: https://reviews.freebsd.org/D45405 (cherry picked from commit 0f1d148cfd1503eb5c4bcc4c4689c4219dbb605f) --- sys/dev/pci/pci.c | 22 +++---- sys/dev/pci/pci_private.h | 156 +++++++++++++++++++--------------------------- 2 files changed, 75 insertions(+), 103 deletions(-) diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 1a415f676ff7..2c00b44d941a 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -88,6 +88,16 @@ (((cfg)->hdrtype == PCIM_HDRTYPE_NORMAL && reg == PCIR_BIOS) || \ ((cfg)->hdrtype == PCIM_HDRTYPE_BRIDGE && reg == PCIR_BIOS_1)) +static device_probe_t pci_probe; + +static bus_reset_post_t pci_reset_post; +static bus_reset_prepare_t pci_reset_prepare; +static bus_reset_child_t pci_reset_child; +static bus_hint_device_unit_t pci_hint_device_unit; +static bus_remap_intr_t pci_remap_intr_method; + +static pci_get_id_t pci_get_id_method; + static int pci_has_quirk(uint32_t devid, int quirk); static pci_addr_t pci_mapbase(uint64_t mapreg); static const char *pci_maptype(uint64_t mapreg); @@ -103,7 +113,6 @@ static void pci_assign_interrupt(device_t bus, device_t dev, int force_route); static int pci_add_map(device_t bus, device_t dev, int reg, struct resource_list *rl, int force, int prefetch); -static int pci_probe(device_t dev); static void pci_load_vendor_data(void); static int pci_describe_parse_line(char **ptr, int *vendor, int *device, char **desc); @@ -125,17 +134,6 @@ static int pci_msi_blacklisted(void); static int pci_msix_blacklisted(void); static void pci_resume_msi(device_t dev); static void pci_resume_msix(device_t dev); -static int pci_remap_intr_method(device_t bus, device_t dev, - u_int irq); -static void pci_hint_device_unit(device_t acdev, device_t child, - const char *name, int *unitp); -static int pci_reset_post(device_t dev, device_t child); -static int pci_reset_prepare(device_t dev, device_t child); -static int pci_reset_child(device_t dev, device_t child, - int flags); - -static int pci_get_id_method(device_t dev, device_t child, - enum pci_id_type type, uintptr_t *rid); static struct pci_devinfo * pci_fill_devinfo(device_t pcib, device_t bus, int d, int b, int s, int f, uint16_t vid, uint16_t did); diff --git a/sys/dev/pci/pci_private.h b/sys/dev/pci/pci_private.h index b634c7b61260..ea0efc54c829 100644 --- a/sys/dev/pci/pci_private.h +++ b/sys/dev/pci/pci_private.h @@ -48,6 +48,71 @@ struct pci_softc { extern int pci_do_power_resume; extern int pci_do_power_suspend; + +device_attach_t pci_attach; +device_detach_t pci_detach; +device_resume_t pci_resume; + +bus_print_child_t pci_print_child; +bus_probe_nomatch_t pci_probe_nomatch; +bus_read_ivar_t pci_read_ivar; +bus_write_ivar_t pci_write_ivar; +bus_driver_added_t pci_driver_added; +bus_setup_intr_t pci_setup_intr; +bus_teardown_intr_t pci_teardown_intr; + +bus_get_dma_tag_t pci_get_dma_tag; +bus_get_resource_list_t pci_get_resource_list; +bus_delete_resource_t pci_delete_resource; +bus_alloc_resource_t pci_alloc_resource; +bus_release_resource_t pci_release_resource; +bus_activate_resource_t pci_activate_resource; +bus_deactivate_resource_t pci_deactivate_resource; +bus_child_deleted_t pci_child_deleted; +bus_child_detached_t pci_child_detached; +bus_child_pnpinfo_t pci_child_pnpinfo_method; +bus_child_location_t pci_child_location_method; +bus_get_device_path_t pci_get_device_path_method; +bus_suspend_child_t pci_suspend_child; +bus_resume_child_t pci_resume_child; +bus_rescan_t pci_rescan_method; + +pci_read_config_t pci_read_config_method; +pci_write_config_t pci_write_config_method; +pci_enable_busmaster_t pci_enable_busmaster_method; +pci_disable_busmaster_t pci_disable_busmaster_method; +pci_enable_io_t pci_enable_io_method; +pci_disable_io_t pci_disable_io_method; +pci_get_vpd_ident_t pci_get_vpd_ident_method; +pci_get_vpd_readonly_t pci_get_vpd_readonly_method; +pci_get_powerstate_t pci_get_powerstate_method; +pci_set_powerstate_t pci_set_powerstate_method; +pci_assign_interrupt_t pci_assign_interrupt_method; +pci_find_cap_t pci_find_cap_method; +pci_find_next_cap_t pci_find_next_cap_method; +pci_find_extcap_t pci_find_extcap_method; +pci_find_next_extcap_t pci_find_next_extcap_method; +pci_find_htcap_t pci_find_htcap_method; +pci_find_next_htcap_t pci_find_next_htcap_method; +pci_alloc_msi_t pci_alloc_msi_method; +pci_alloc_msix_t pci_alloc_msix_method; +pci_enable_msi_t pci_enable_msi_method; +pci_enable_msix_t pci_enable_msix_method; +pci_disable_msi_t pci_disable_msi_method; +pci_remap_msix_t pci_remap_msix_method; +pci_release_msi_t pci_release_msi_method; +pci_msi_count_t pci_msi_count_method; +pci_msix_count_t pci_msix_count_method; +pci_msix_pba_bar_t pci_msix_pba_bar_method; +pci_msix_table_bar_t pci_msix_table_bar_method; +pci_alloc_devinfo_t pci_alloc_devinfo_method; +pci_child_added_t pci_child_added_method; +#ifdef PCI_IOV +pci_iov_attach_t pci_iov_attach_method; +pci_iov_detach_t pci_iov_detach_method; +pci_create_iov_child_t pci_create_iov_child_method; +#endif + void pci_add_children(device_t dev, int domain, int busno); void pci_add_child(device_t bus, struct pci_devinfo *dinfo); device_t pci_add_iov_child(device_t bus, device_t pf, uint16_t rid, @@ -55,95 +120,12 @@ device_t pci_add_iov_child(device_t bus, device_t pf, uint16_t rid, void pci_add_resources(device_t bus, device_t dev, int force, uint32_t prefetchmask); void pci_add_resources_ea(device_t bus, device_t dev, int alloc_iov); -struct pci_devinfo *pci_alloc_devinfo_method(device_t dev); -int pci_attach(device_t dev); int pci_attach_common(device_t dev); -int pci_detach(device_t dev); -int pci_rescan_method(device_t dev); -void pci_driver_added(device_t dev, driver_t *driver); int pci_ea_is_enabled(device_t dev, int rid); -int pci_print_child(device_t dev, device_t child); -void pci_probe_nomatch(device_t dev, device_t child); -int pci_read_ivar(device_t dev, device_t child, int which, - uintptr_t *result); -int pci_write_ivar(device_t dev, device_t child, int which, - uintptr_t value); -int pci_setup_intr(device_t dev, device_t child, - struct resource *irq, int flags, driver_filter_t *filter, - driver_intr_t *intr, void *arg, void **cookiep); -int pci_teardown_intr(device_t dev, device_t child, - struct resource *irq, void *cookie); -int pci_get_vpd_ident_method(device_t dev, device_t child, - const char **identptr); -int pci_get_vpd_readonly_method(device_t dev, device_t child, - const char *kw, const char **vptr); -int pci_set_powerstate_method(device_t dev, device_t child, - int state); -int pci_get_powerstate_method(device_t dev, device_t child); -uint32_t pci_read_config_method(device_t dev, device_t child, - int reg, int width); -void pci_write_config_method(device_t dev, device_t child, - int reg, uint32_t val, int width); -int pci_enable_busmaster_method(device_t dev, device_t child); -int pci_disable_busmaster_method(device_t dev, device_t child); -int pci_enable_io_method(device_t dev, device_t child, int space); -int pci_disable_io_method(device_t dev, device_t child, int space); -int pci_find_cap_method(device_t dev, device_t child, - int capability, int *capreg); -int pci_find_next_cap_method(device_t dev, device_t child, - int capability, int start, int *capreg); -int pci_find_extcap_method(device_t dev, device_t child, - int capability, int *capreg); -int pci_find_next_extcap_method(device_t dev, device_t child, - int capability, int start, int *capreg); -int pci_find_htcap_method(device_t dev, device_t child, - int capability, int *capreg); -int pci_find_next_htcap_method(device_t dev, device_t child, - int capability, int start, int *capreg); -int pci_alloc_msi_method(device_t dev, device_t child, int *count); -int pci_alloc_msix_method(device_t dev, device_t child, int *count); -void pci_enable_msi_method(device_t dev, device_t child, - uint64_t address, uint16_t data); -void pci_enable_msix_method(device_t dev, device_t child, - u_int index, uint64_t address, uint32_t data); -void pci_disable_msi_method(device_t dev, device_t child); -int pci_remap_msix_method(device_t dev, device_t child, - int count, const u_int *vectors); -int pci_release_msi_method(device_t dev, device_t child); -int pci_msi_count_method(device_t dev, device_t child); -int pci_msix_count_method(device_t dev, device_t child); -int pci_msix_pba_bar_method(device_t dev, device_t child); -int pci_msix_table_bar_method(device_t dev, device_t child); -struct resource *pci_alloc_resource(device_t dev, device_t child, - int type, int *rid, rman_res_t start, rman_res_t end, - rman_res_t count, u_int flags); -int pci_release_resource(device_t dev, device_t child, int type, - int rid, struct resource *r); -int pci_activate_resource(device_t dev, device_t child, int type, - int rid, struct resource *r); -int pci_deactivate_resource(device_t dev, device_t child, int type, - int rid, struct resource *r); -void pci_delete_resource(device_t dev, device_t child, - int type, int rid); -struct resource_list *pci_get_resource_list (device_t dev, device_t child); struct pci_devinfo *pci_read_device(device_t pcib, device_t bus, int d, int b, int s, int f); void pci_print_verbose(struct pci_devinfo *dinfo); int pci_freecfg(struct pci_devinfo *dinfo); -void pci_child_deleted(device_t dev, device_t child); -void pci_child_detached(device_t dev, device_t child); -int pci_child_location_method(device_t cbdev, device_t child, - struct sbuf *sb); -int pci_child_pnpinfo_method(device_t cbdev, device_t child, - struct sbuf *sb); -int pci_get_device_path_method(device_t dev, device_t child, - const char *locator, struct sbuf *sb); -int pci_assign_interrupt_method(device_t dev, device_t child); -int pci_resume(device_t dev); -int pci_resume_child(device_t dev, device_t child); -int pci_suspend_child(device_t dev, device_t child); -bus_dma_tag_t pci_get_dma_tag(device_t bus, device_t dev); -void pci_child_added_method(device_t dev, device_t child); /** Restore the config register state. The state must be previously * saved with pci_cfg_save. However, the pci bus driver takes care of @@ -171,14 +153,6 @@ struct resource *pci_alloc_multi_resource(device_t dev, device_t child, int type, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_long num, u_int flags); -int pci_iov_attach_method(device_t bus, device_t dev, - struct nvlist *pf_schema, struct nvlist *vf_schema, - const char *name); -int pci_iov_detach_method(device_t bus, device_t dev); - -device_t pci_create_iov_child_method(device_t bus, device_t pf, - uint16_t rid, uint16_t vid, uint16_t did); - struct resource *pci_vf_alloc_mem_resource(device_t dev, device_t child, int *rid, rman_res_t start, rman_res_t end, rman_res_t count, u_int flags);