On Thu, Aug 14, 2014 at 02:45:41PM -0700, Andy Lutomirski wrote: > sb_edac controls a large number of different PCI functions. Rather > than registering as a normal PCI driver for all of them, it > registers for just one so that it gets probed and, at probe time, it > looks for all the others. > > Coincidentally, the device it registers for also contains the SMBUS > registers, so the PCI core will refuse to probe both sb_edac and a > future iMC SMBUS driver. The drivers don't actually conflict, so > just change sb_edac's device table to probe a different device. > > An alternative fix would be to merge the two drivers, but sb_edac > will also refuse to load on non-ECC systems, whereas i2c_imc would > still be useful without ECC. > > The only user-visible change should be that sb_edac appears to bind > a different device. > > Cc: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> > Cc: Rui Wang <ruiv.wang@xxxxxxxxx> > Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> > --- > drivers/edac/sb_edac.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/edac/sb_edac.c b/drivers/edac/sb_edac.c > index a2597e9313c6..e3bc2cced580 100644 > --- a/drivers/edac/sb_edac.c > +++ b/drivers/edac/sb_edac.c > @@ -432,7 +432,7 @@ static const struct pci_id_table pci_dev_descr_ibridge_table[] = { > * pci_device_id table for which devices we are looking for > */ > static const struct pci_device_id sbridge_pci_tbl[] = { > - {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SBRIDGE_IMC_TA)}, > + {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SBRIDGE_IMC_HA0)}, > {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_IBRIDGE_IMC_HA0_TA)}, > {0,} /* 0 terminated list. */ > }; Acked-by: Aristeu Rozanski <aris@xxxxxxxxxx> -- Aristeu -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html