diff options
author | Simon Glass <sjg@chromium.org> | 2015-11-29 20:17:54 (GMT) |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2016-01-12 17:19:09 (GMT) |
commit | fcc0a8774bb78a601a0d6d4e1f73dcfc07b3d4a4 (patch) | |
tree | bfbd10068f4e1514a6a9796ee56fba412d4cc5fc /drivers | |
parent | bab17cf143c4888d03eb51f20aa6b86210448608 (diff) | |
download | u-boot-fsl-qoriq-fcc0a8774bb78a601a0d6d4e1f73dcfc07b3d4a4.tar.xz |
dm: serial: Convert ns16550 driver to use driver model PCI API
Use the driver model version of the function to find the BAR. This updates
the fdtdec function, of which ns16550 is the only user.
The fdtdec_get_pci_bdf() function is dropped for several reasons:
- with driver model we should use 'struct udevice *' rather than passing the
device tree offset explicitly
- there are no other users in the tree
- the function parses for information which is already available in the PCI
device structure (specifically struct pci_child_platdata which is available
at dev_get_parent_platdata(dev)
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/serial/ns16550.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index 3fab3f1..4b3ced6 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -368,7 +368,7 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev) /* try Processor Local Bus device first */ addr = dev_get_addr(dev); -#ifdef CONFIG_PCI +#if defined(CONFIG_PCI) && defined(CONFIG_DM_PCI) if (addr == FDT_ADDR_T_NONE) { /* then try pci device */ struct fdt_pci_addr pci_addr; @@ -389,8 +389,7 @@ int ns16550_serial_ofdata_to_platdata(struct udevice *dev) return ret; } - ret = fdtdec_get_pci_bar32(gd->fdt_blob, dev->of_offset, - &pci_addr, &bar); + ret = fdtdec_get_pci_bar32(dev, &pci_addr, &bar); if (ret) return ret; |