Re: Pcie Linux HotPlug Driver

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

 



On Mon, May 27, 2013 at 4:43 AM, Paulo Fortuna Carvalho
<pricardofc@xxxxxxxxxxxxxxx> wrote:
> I have an PCI Express ATCA card with an FPGA.
> I have a device driver to communicate with the board.
> Now we are trying to implement hot-plug using the PCIe Port Bus Driver Model.

Why do you want to use the "Port Bus Driver Model"?  That is only
intended for the ports in PCIe switches.  Does your card include a
switch with non-standard services?

If your driver is specifically for some new switch functionality, you
might want to make it a port service driver.  But if this is a PCIe
endpoint device, then you should make it a plain old PCI driver with
pci_register_driver().

Bjorn

> Our driver has been modified in order to be compliant to a service
> driver as described in the HowTo Documentation.
>
> Using the file pcieport_if.h there were some structs that become
> obsolete namely the pci_port_service_id.
>
> 1) How can we provide the board ids with the pci_port_service_id
> struct removed?
> I'm using the old method struct pci_device_id
>
> 2) How can we point to the old pci_dev pointer in our functions once
> the arguments for probe(), remove() now are pcie_device struct? I'm using
> the port item in the struct pcie_device.
>
> 3) After changes at insmod time my board appears in the /proc/devices
> but my devices and sub-devices never appear in the /dev directory
> making me wonder that something is missing in my class_create() and
> device_create() function...
>
> 4) Are functions resume() and suspend() relevant for the hot-plug
> process? At the moment these functions only return -ENOSYS
>
> My Purpose: At the moment i'm only interest in modifying the Linux
> Device Driver for the board using the PCIe HotPlug Port Bus Driver
> Model (porting it to a Service Driver), detect the board and create
> the devices and sub-devices in the /dev directory as it used to do.
> I think there is only something missing but I dont know what.
>
> NOTE: Some aditional information:
> My _init() and _exit() functions are calling
> pcie_port_service_register() and pcie_port_service_unregister(), respectively.
>
> Thanks in Advance,
> Paulo (University PhD Student)
> --
> 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