Date: Thu, 26 Sep 2013 09:16:57 +0000 (UTC) From: Marius Strobl <marius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org Subject: svn commit: r255876 - stable/9/sys/dev/aac Message-ID: <201309260916.r8Q9GvaV054876@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: marius Date: Thu Sep 26 09:16:57 2013 New Revision: 255876 URL: http://svnweb.freebsd.org/changeset/base/255876 Log: MFC: r254005 - Fix a bug in the MSI allocation logic so an MSI is also employed if a controller supports only a single message. I haven't seen such an adapter out in the wild, though, so this change likely is a NOP. While at it, further simplify the MSI allocation logic; there's no need to check the number of available messages on our own as pci_alloc_msi(9) will just fail if it can't provide us with the single message we want. - Nuke the unused softc of aacch(4). Modified: stable/9/sys/dev/aac/aac_pci.c Directory Properties: stable/9/sys/ (props changed) stable/9/sys/dev/ (props changed) Modified: stable/9/sys/dev/aac/aac_pci.c ============================================================================== --- stable/9/sys/dev/aac/aac_pci.c Thu Sep 26 08:28:31 2013 (r255875) +++ stable/9/sys/dev/aac/aac_pci.c Thu Sep 26 09:16:57 2013 (r255876) @@ -425,18 +425,13 @@ aac_pci_attach(device_t dev) * Allocate the interrupt. */ rid = 0; - count = 0; - if (aac_enable_msi != 0 && (sc->flags & AAC_FLAGS_NOMSI) == 0 && - (count = pci_msi_count(dev)) != 0) { - if (count > 1) - count = 1; - else - count = 0; - if (count == 1 && pci_alloc_msi(dev, &count) == 0) + if (aac_enable_msi != 0 && (sc->flags & AAC_FLAGS_NOMSI) == 0) { + count = 1; + if (pci_alloc_msi(dev, &count) == 0) rid = 1; } if ((sc->aac_irq = bus_alloc_resource_any(sc->aac_dev, SYS_RES_IRQ, - &rid, RF_ACTIVE | (count != 0 ? 0 : RF_SHAREABLE))) == NULL) { + &rid, RF_ACTIVE | (rid != 0 ? 0 : RF_SHAREABLE))) == NULL) { device_printf(dev, "can't allocate interrupt\n"); goto out; } @@ -489,14 +484,10 @@ static device_method_t aacch_methods[] = DEVMETHOD_END }; -struct aacch_softc { - device_t dev; -}; - static driver_t aacch_driver = { "aacch", aacch_methods, - sizeof(struct aacch_softc) + 1 /* no softc */ }; static devclass_t aacch_devclass; @@ -515,19 +506,14 @@ aacch_probe(device_t dev) } static int -aacch_attach(device_t dev) +aacch_attach(device_t dev __unused) { - struct aacch_softc *sc; - - sc = device_get_softc(dev); - - sc->dev = dev; return (0); } static int -aacch_detach(device_t dev) +aacch_detach(device_t dev __unused) { return (0);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309260916.r8Q9GvaV054876>