Re: Pcie Linux HotPlug Driver

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

 



My card includes a PCIe Switch.
My coordinators told me that a solution for hotplug (remove/insert
board without shutting down the system) could be the PCIe Port Bus
Driver Model using also pciehp.ko already installed in Linux System.

Paulo.


> 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