On Thu, Mar 17, 2022 at 3:10 AM Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> wrote: > > On Tue, 15 Mar 2022 21:13:58 -0700 > Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > > > The component registers are currently unused by the cxl_pci driver. > > Only the physical address base of the component registers is conveyed to > > the cxl_mem driver. Just call cxl_map_device_registers() directly. > > > > Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> > Makes sense. Not sure how we ended up with the unused component register > handling. I guess code evolution... Yeah, this happened when the cxl_port and cxl_mem drivers split the responsibility of those blocks to downstream drivers. > > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> > > > --- > > drivers/cxl/pci.c | 23 +---------------------- > > 1 file changed, 1 insertion(+), 22 deletions(-) > > > > diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c > > index 994c79bf6afd..0efbb356cce0 100644 > > --- a/drivers/cxl/pci.c > > +++ b/drivers/cxl/pci.c > > @@ -346,27 +346,6 @@ static int cxl_probe_regs(struct pci_dev *pdev, struct cxl_register_map *map) > > return 0; > > } > > > > -static int cxl_map_regs(struct cxl_dev_state *cxlds, struct cxl_register_map *map) > > -{ > > - struct device *dev = cxlds->dev; > > - struct pci_dev *pdev = to_pci_dev(dev); > > - > > - switch (map->reg_type) { > > - case CXL_REGLOC_RBI_COMPONENT: > > - cxl_map_component_regs(pdev, &cxlds->regs.component, map); > > - dev_dbg(dev, "Mapping component registers...\n"); > > - break; > > - case CXL_REGLOC_RBI_MEMDEV: > > - cxl_map_device_regs(pdev, &cxlds->regs.device_regs, map); > > - dev_dbg(dev, "Probing device registers...\n"); > > - break; > > - default: > > - break; > > - } > > - > > - return 0; > > -} > > - > > static int cxl_setup_regs(struct pci_dev *pdev, enum cxl_regloc_type type, > > struct cxl_register_map *map) > > { > > @@ -599,7 +578,7 @@ static int cxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) > > if (rc) > > return rc; > > > > - rc = cxl_map_regs(cxlds, &map); > > + rc = cxl_map_device_regs(pdev, &cxlds->regs.device_regs, &map); > > if (rc) > > return rc; > > > > > > >