diff options
| author | Alexander Motin <mav@FreeBSD.org> | 2010-05-24 11:01:56 +0000 |
|---|---|---|
| committer | Alexander Motin <mav@FreeBSD.org> | 2010-05-24 11:01:56 +0000 |
| commit | 8c14a06f56874710f2a350d4b5e8c7724094091f (patch) | |
| tree | 8ba4a0a601609479fd02c03c6a9dde17f9802fa1 /sys/dev/ata | |
| parent | bb4b8a9f5f14205fe110868a264982a058b6c32a (diff) | |
Notes
Diffstat (limited to 'sys/dev/ata')
| -rw-r--r-- | sys/dev/ata/ata-pci.c | 11 | ||||
| -rw-r--r-- | sys/dev/ata/ata-pci.h | 3 |
2 files changed, 14 insertions, 0 deletions
diff --git a/sys/dev/ata/ata-pci.c b/sys/dev/ata/ata-pci.c index 527107363fea..fea7c96cdbd0 100644 --- a/sys/dev/ata/ata-pci.c +++ b/sys/dev/ata/ata-pci.c @@ -544,6 +544,16 @@ ata_pci_dmafini(device_t dev) ata_dmafini(dev); } +int +ata_pci_child_location_str(device_t dev, device_t child, char *buf, + size_t buflen) +{ + + snprintf(buf, buflen, "channel=%d", + (int)(intptr_t)device_get_ivars(child)); + return (0); +} + static device_method_t ata_pci_methods[] = { /* device interface */ DEVMETHOD(device_probe, ata_pci_probe), @@ -564,6 +574,7 @@ static device_method_t ata_pci_methods[] = { DEVMETHOD(bus_teardown_intr, ata_pci_teardown_intr), DEVMETHOD(pci_read_config, ata_pci_read_config), DEVMETHOD(pci_write_config, ata_pci_write_config), + DEVMETHOD(bus_child_location_str, ata_pci_child_location_str), { 0, 0 } }; diff --git a/sys/dev/ata/ata-pci.h b/sys/dev/ata/ata-pci.h index 1378f879ce0c..7fa76440ed6d 100644 --- a/sys/dev/ata/ata-pci.h +++ b/sys/dev/ata/ata-pci.h @@ -502,6 +502,8 @@ int ata_pci_write_ivar(device_t dev, device_t child, int which, uintptr_t value) uint32_t ata_pci_read_config(device_t dev, device_t child, int reg, int width); void ata_pci_write_config(device_t dev, device_t child, int reg, uint32_t val, int width); +int ata_pci_child_location_str(device_t dev, device_t child, char *buf, + size_t buflen); struct resource * ata_pci_alloc_resource(device_t dev, device_t child, int type, int *rid, u_long start, u_long end, u_long count, u_int flags); int ata_pci_release_resource(device_t dev, device_t child, int type, int rid, struct resource *r); int ata_pci_setup_intr(device_t dev, device_t child, struct resource *irq, int flags, driver_filter_t *filter, driver_intr_t *function, void *argument, void **cookiep); @@ -550,6 +552,7 @@ static device_method_t __CONCAT(dname,_methods)[] = { \ DEVMETHOD(bus_teardown_intr, ata_pci_teardown_intr), \ DEVMETHOD(pci_read_config, ata_pci_read_config), \ DEVMETHOD(pci_write_config, ata_pci_write_config), \ + DEVMETHOD(bus_child_location_str, ata_pci_child_location_str), \ { 0, 0 } \ }; \ static driver_t __CONCAT(dname,_driver) = { \ |
