RE: PCIe Hotplugging not working

From: Anand Kanaginhal
Date: Tue Nov 29 2011 - 12:50:53 EST



Resending as earlier sends failed
> Date: Tue, 29 Nov 2011 23:22:14 +0900
> From: greg@xxxxxxxxx
> To: anand_dk@xxxxxxxxxxx
> CC: linux-pci@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-hotplug@xxxxxxxxxxxxxxx
> Subject: Re: PCIe Hotplugging not working
>
> On Tue, Nov 29, 2011 at 03:56:12AM -0800, Anand Kanaginhal wrote:
> >
> >
> > I am trying to get PCIe endpoint hot - plugging working
> >
>
> The Set up is such that there is one endpoint (our custom device)
connected to PCI  switch PLX 8609 8 port 8 lane switch.
> > 1. I have my driver module compiled, copied into /lib/modules/`uname -r`/kernel/drivers/char/
>
> Why is a pci driver a "char" driver? Do you have a pointer to the
> source of this?

I
am doing an test before putting it in its right place. Another reason
is that I am treating it as character device and using IOCTLs for
various operations.
I have attached the framework code here.

> > 2. I run depmod and "modules.pcimap" also got updated with my module.
> >
> > However
> > if I unplug and plug in the endpoint, my driver .probe and .remove functions
> > are not being invoked. Is there something more to be done at the bus
> > level to get the driver to hot plug ?
>
> You need a pci hotplug controller driver, is that loaded? That is what
> is responsible for eventually calling your remove function.

How do I figure out if a pci hotplug controller driver is installed?


> > I have tried various kernel version, Currently I am trying on 2.6.38.12 (UBUNTU flavor).
>
> We can't help you with distro-specific kernels, please use a kernel.org
> kernel and we will be glad to help you out.

I have tried with vanilla kernel as well with the same results.

> greg k-h

Thanks
Anand --
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/