aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/msk
diff options
context:
space:
mode:
authorMarius Strobl <marius@FreeBSD.org>2013-05-30 12:16:55 +0000
committerMarius Strobl <marius@FreeBSD.org>2013-05-30 12:16:55 +0000
commit2dc26832f742a325674e8285fad2decc587856fb (patch)
tree139b408875c5c9a31c24de30fcf622cfa09efd3d /sys/dev/msk
parent1cb4c501ae66e6a9eaaaa152a7258d8d94f74629 (diff)
Notes
Diffstat (limited to 'sys/dev/msk')
-rw-r--r--sys/dev/msk/if_msk.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c
index 3c5aab57eba4..526062b573b5 100644
--- a/sys/dev/msk/if_msk.c
+++ b/sys/dev/msk/if_msk.c
@@ -162,7 +162,7 @@ TUNABLE_INT("hw.msk.jumbo_disable", &jumbo_disable);
/*
* Devices supported by this driver.
*/
-static struct msk_product {
+static const struct msk_product {
uint16_t msk_vendorid;
uint16_t msk_deviceid;
const char *msk_name;
@@ -257,6 +257,7 @@ static int mskc_shutdown(device_t);
static int mskc_setup_rambuffer(struct msk_softc *);
static int mskc_suspend(device_t);
static int mskc_resume(device_t);
+static bus_dma_tag_t mskc_get_dma_tag(device_t, device_t);
static void mskc_reset(struct msk_softc *);
static int msk_probe(device_t);
@@ -334,6 +335,8 @@ static device_method_t mskc_methods[] = {
DEVMETHOD(device_resume, mskc_resume),
DEVMETHOD(device_shutdown, mskc_shutdown),
+ DEVMETHOD(bus_get_dma_tag, mskc_get_dma_tag),
+
DEVMETHOD_END
};
@@ -368,9 +371,9 @@ static driver_t msk_driver = {
static devclass_t msk_devclass;
-DRIVER_MODULE(mskc, pci, mskc_driver, mskc_devclass, 0, 0);
-DRIVER_MODULE(msk, mskc, msk_driver, msk_devclass, 0, 0);
-DRIVER_MODULE(miibus, msk, miibus_driver, miibus_devclass, 0, 0);
+DRIVER_MODULE(mskc, pci, mskc_driver, mskc_devclass, NULL, NULL);
+DRIVER_MODULE(msk, mskc, msk_driver, msk_devclass, NULL, NULL);
+DRIVER_MODULE(miibus, msk, miibus_driver, miibus_devclass, NULL, NULL);
static struct resource_spec msk_res_spec_io[] = {
{ SYS_RES_IOPORT, PCIR_BAR(1), RF_ACTIVE },
@@ -1180,15 +1183,14 @@ msk_ioctl(struct ifnet *ifp, u_long command, caddr_t data)
static int
mskc_probe(device_t dev)
{
- struct msk_product *mp;
+ const struct msk_product *mp;
uint16_t vendor, devid;
int i;
vendor = pci_get_vendor(dev);
devid = pci_get_device(dev);
mp = msk_products;
- for (i = 0; i < sizeof(msk_products)/sizeof(msk_products[0]);
- i++, mp++) {
+ for (i = 0; i < nitems(msk_products); i++, mp++) {
if (vendor == mp->msk_vendorid && devid == mp->msk_deviceid) {
device_set_desc(dev, mp->msk_name);
return (BUS_PROBE_DEFAULT);
@@ -2118,6 +2120,13 @@ mskc_detach(device_t dev)
return (0);
}
+static bus_dma_tag_t
+mskc_get_dma_tag(device_t bus, device_t child __unused)
+{
+
+ return (bus_get_dma_tag(bus));
+}
+
struct msk_dmamap_arg {
bus_addr_t msk_busaddr;
};