Re: [PATCH 1/4] PCI: Remove service driver load/unload messages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Nov 17, 2016 at 02:40:42PM +0100, Lukas Wunner wrote:
> On Wed, Nov 16, 2016 at 04:13:10PM -0600, Bjorn Helgaas wrote:
> > Remove the "service driver %s loaded" and unloaded messages.  I don't think
> > these add any useful information.
> 
> I think those particular ones have a value to some extent because
> they communicate for which of the port's capabilities a driver is
> available and loaded.  For ports below a hotplug port they also
> comunicate the steps to unbind the ports from their drivers when
> the device is unplugged.

None of the service drivers can be modules anymore.  I think if we
want a clue about whether a service driver is attached to a device, we
should add something to the service driver, where we can print more
useful information.  In general I want to move towards thinking about
the service drivers as optional parts of the PCI core instead of
separate "drivers."

> E.g. when I plug in the Apple Thunderbolt Ethernet adapter I get this
> because a new hotplug port appears below the hotplug port of the host
> controller:
> [  141.926865] pciehp 0000:0a:00.0:pcie204: service driver pciehp loaded

For example, for pciehp, you should already see something like this:

  pciehp 0000:80:02.0:pcie04: Slot #6 AttnBtn+ PwrCtrl+ MRL- AttnInd+ PwrInd+ HotPlug+ Surprise- Interlock- NoCompl- LLActRep+

Is that enough?  Or maybe we don't emit this message in your case for
some reason?

> On unplug I get this:
> [  202.497548] pciehp 0000:0a:00.0:pcie204: unloading service driver pciehp

I'm not sure we print anything when we remove a device; maybe we
should.

> > Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> > ---
> >  drivers/pci/pcie/portdrv_core.c |    3 ---
> >  1 file changed, 3 deletions(-)
> > 
> > diff --git a/drivers/pci/pcie/portdrv_core.c b/drivers/pci/pcie/portdrv_core.c
> > index e9270b4..9698289 100644
> > --- a/drivers/pci/pcie/portdrv_core.c
> > +++ b/drivers/pci/pcie/portdrv_core.c
> > @@ -499,7 +499,6 @@ static int pcie_port_probe_service(struct device *dev)
> >  	if (status)
> >  		return status;
> >  
> > -	dev_printk(KERN_DEBUG, dev, "service driver %s loaded\n", driver->name);
> >  	get_device(dev);
> >  	return 0;
> >  }
> > @@ -524,8 +523,6 @@ static int pcie_port_remove_service(struct device *dev)
> >  	pciedev = to_pcie_device(dev);
> >  	driver = to_service_driver(dev->driver);
> >  	if (driver && driver->remove) {
> > -		dev_printk(KERN_DEBUG, dev, "unloading service driver %s\n",
> > -			driver->name);
> >  		driver->remove(pciedev);
> >  		put_device(dev);
> >  	}
> > 
> --
> 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
--
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



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux