Module Name: src Committed By: riastradh Date: Sun Dec 19 01:21:16 UTC 2021
Modified Files: src/sys/external/bsd/drm2/include/linux: pci.h src/sys/external/bsd/drm2/linux: linux_pci.c Log Message: Define pci_get/set_drvdata properly. To generate a diff of this commit: cvs rdiff -u -r1.41 -r1.42 src/sys/external/bsd/drm2/include/linux/pci.h cvs rdiff -u -r1.11 -r1.12 src/sys/external/bsd/drm2/linux/linux_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/include/linux/pci.h diff -u src/sys/external/bsd/drm2/include/linux/pci.h:1.41 src/sys/external/bsd/drm2/include/linux/pci.h:1.42 --- src/sys/external/bsd/drm2/include/linux/pci.h:1.41 Sun Dec 19 01:21:08 2021 +++ src/sys/external/bsd/drm2/include/linux/pci.h Sun Dec 19 01:21:15 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: pci.h,v 1.41 2021/12/19 01:21:08 riastradh Exp $ */ +/* $NetBSD: pci.h,v 1.42 2021/12/19 01:21:15 riastradh Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -150,7 +150,7 @@ struct pci_dev { bus_size_t pd_rom_found_size; void *pd_rom_vaddr; device_t pd_dev; - struct drm_device *pd_drm_dev; /* XXX Nouveau kludge! */ + void *pd_drvdata; struct { pcireg_t type; bus_addr_t addr; @@ -219,6 +219,7 @@ struct pci_dev { #define pci_resource_start linux_pci_resource_start #define pci_restore_state linux_pci_restore_state #define pci_save_state linux_pci_save_state +#define pci_set_drvdata linux_pci_set_drvdata #define pci_set_master linux_pci_set_master #define pci_unmap_rom linux_pci_unmap_rom #define pci_write_config_byte linux_pci_write_config_byte @@ -239,8 +240,8 @@ bool pci_is_root_bus(struct pci_bus *); int pci_domain_nr(struct pci_bus *); device_t pci_dev_dev(struct pci_dev *); -struct drm_device * /* XXX Nouveau kludge! */ - pci_get_drvdata(struct pci_dev *); +void pci_set_drvdata(struct pci_dev *, void *); +void * pci_get_drvdata(struct pci_dev *); int pci_find_capability(struct pci_dev *, int); bool pci_is_pcie(struct pci_dev *); Index: src/sys/external/bsd/drm2/linux/linux_pci.c diff -u src/sys/external/bsd/drm2/linux/linux_pci.c:1.11 src/sys/external/bsd/drm2/linux/linux_pci.c:1.12 --- src/sys/external/bsd/drm2/linux/linux_pci.c:1.11 Sun Dec 19 01:21:08 2021 +++ src/sys/external/bsd/drm2/linux/linux_pci.c Sun Dec 19 01:21:15 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_pci.c,v 1.11 2021/12/19 01:21:08 riastradh Exp $ */ +/* $NetBSD: linux_pci.c,v 1.12 2021/12/19 01:21:15 riastradh Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -34,7 +34,7 @@ #endif #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_pci.c,v 1.11 2021/12/19 01:21:08 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_pci.c,v 1.12 2021/12/19 01:21:15 riastradh Exp $"); #include <linux/pci.h> @@ -47,12 +47,16 @@ pci_dev_dev(struct pci_dev *pdev) return pdev->pd_dev; } -/* XXX Nouveau kludge! */ -struct drm_device * -pci_get_drvdata(struct pci_dev *pdev) +void +pci_set_drvdata(struct pci_dev *pdev, void *drvdata) { + pdev->pd_drvdata = drvdata; +} - return pdev->pd_drm_dev; +void * +pci_get_drvdata(struct pci_dev *pdev) +{ + return pdev->pd_drvdata; } void @@ -82,6 +86,7 @@ linux_pci_dev_init(struct pci_dev *pdev, #endif pdev->pd_saved_state = NULL; pdev->pd_intr_handles = NULL; + pdev->pd_drvdata = NULL; pdev->bus = kmem_zalloc(sizeof(*pdev->bus), KM_NOSLEEP); pdev->bus->pb_pc = pa->pa_pc; pdev->bus->pb_dev = parent;