[RFClue] pci_get_device, new driver model

From: William D Waddington
Date: Fri Oct 07 2005 - 12:20:40 EST


Alan Cox wrote:
On Gwe, 2005-10-07 at 09:18 -0700, William D Waddington wrote:

If I just give in to the new driver model how/when do I associate
instance/minor numbers with boards found? Is it ever possible for
ordinary PCI boards to be (logically) removed and re-added w/out
removing the driver? If so, how to maintain association between
a particular board and minor number?


Its up to you how you implement this. One requirement I suspect would be
that the boards have unique serial numbers. Most drivers do not retain
state if someone unplugs a board, moves it and plugs it back in. Instead
they report the old device as "gone" and let user space sort it out

I don't have unique serial #s available, but my question wasn't clear.

Is it ever possible that the hotplug stuff will try to remove and re-add
one (or all) of my boards when there _hasn't_ been a physical change or
power cycle/reboot/driver reload/whatever.

As long as the driver gets reloaded following any logical or physical
system change I will just go through the instance/minor assignment
again. What I don't want is /dev/idr0 /dev/idr1 turning into /dev/idr2
/dev/idr3 because someone tickled the hotplug controls.

Still not quite clear how to assocuiate instance/minor #s with boards.
Do I just keep a global counter and bump it each time probe (or init)
gets called for each board? Hence my worry above.

Thanks for the quick reply.

Bill (not sure if this will thread OK)
--------------------------------------------
William D Waddington
Bainbridge Island, WA, USA
william.waddington@xxxxxxxxxx
--------------------------------------------
"Even bugs...are unexpected signposts on
the long road of creativity..." - Ken Burtch


-
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/