Thread (12 messages) 12 messages, 5 authors, 2018-03-13

Re: Support on vendor id and device id

From: Harsha Rao <hidden>
Date: 2018-02-27 15:29:23

On Tue, Feb 27, 2018 at 8:44 PM, Larry Finger [off-list ref] wrote:
On 02/27/2018 07:30 AM, Harsha Rao wrote:
quoted
On Tue, Feb 27, 2018 at 4:45 PM, Arend van Spriel
[off-list ref] wrote:
quoted
On 2/27/2018 11:16 AM, Harsha Rao wrote:
quoted

Hi folks,
I am developing a new wifi driver for our sdio based wifi device.

I see that SDIO_VENDOR_ID and SDIO_DEVICE_ID for our device (We had
bought the SDIO IP from 3rd party)  is already  been used by some
other vendor and its already into staging .

Please suggest me how can I move forward to submit the driver for
staging.


Can you be more specific about the conflicting vendor id and device id?

Hi,
My driver kicks in  with vendor id 0x296 and device id 0x5347.
But when I grepped the the kernel source I could see an other driver
wilc1000 using the same vendor ID and device ID
( We have a different hw than them !)
quoted
quoted
Is there a way to reconfigure the values in the SDIO host for
different value or does Linux allow two drivers with same values to
survive mutual exclusively


First come first serve. When a device is detected, the driver core looks
for
drivers supporting it based on device table and the first that
successfully
returns from the .probe() callback is bound to the device.

Regards,
Arend

Does Linux allow two drivers with conflicting device and vendor IDs to
stay on in kernel ?

Yes. We have a similar situation with the rtl8192e driver in staging and the
rtl8192se driver in the wireless tree, which share PCI ID 0bda:8192. Our
solution was to insert code in the probe routine that tests some value in
addition to the PCI ID. In our case, that was the PCI revision id. Line 2496
of file drivers/staging/rtl8192e/rtl8192e/rtl_core.c shows the test in the
staging driver.

The downsides of this unfortunate duplication are that if the wrong driver
loads first, then it remains loaded, you will need to cooperate with the
maintainer of the other driver to insert the extra detection code, and you
may need to do quite a bit of processing to be able to determine whether you
have the correct device.

Larry
Thanks Larry and Arend for your valuable time in clarifying my doubts..

-
Harsha
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help