[parisc-linux] registering device drivers
Alex deVries
adevries@thepuffingroup.com
Fri, 01 Oct 1999 02:44:45 -0400
So the step after finding modules is to be able to get device drivers to
be loaded when modules are found.
I've got the start of this going, and now I get this as output:
Found devices:
0. Phantom PseudoBC GSC+ Port (7) at 0xffc00000, versions 0x504, 0x0,
0x0, 0x0,0
1. Phantom PseudoBC GSC+ Port (7) at 0xffc01000, versions 0x505, 0x0,
0x0, 0x0,0
2. HP HSC-PCI Cards (4) at 0xfff84000, versions 0x4, 0x0, 0x9d, 0x0,
0x80
3. HP HSC-PCI Cards (4) at 0xfff88000, versions 0x4, 0x0, 0x9d, 0x0,
0x80
4. Staccato L2 180 (A Class 180) (0) at 0xfffbe000, versions 0x516, 0x0,
0x4, 01
5. Staccato L2 180 Memory (1) at 0xfffbf000, versions 0x8b, 0x0, 0x9,
0x0, 0x0
6. Staccato 180 Lasi (11) at 0xffd00000, versions 0x5f, 0x0, 0x81, 0x0,
0x0
7. Staccato 180 Core LAN RS-232 (10) at 0xffd05000, versions 0x5f, 0x0,
0x8c, 00
8. Staccato 180 Core SCSI (10) at 0xffd06000, versions 0x5f, 0x0, 0x82,
0x0, 0x0
9. Dino PCI Bridge (13) at 0xfff80000, versions 0x680, 0x3, 0xa, 0x0,
0x0
That's a total of 10 devices.
in register_driver
Dino callback called, should be at 0xfff80000
Dino callback called, should be at 0xfff84000
Dino callback called, should be at 0xfff88000
in register_driver
callback for Lasi at HPA 0xffd00000
Here, you can see it finding all the hardware, then loading the Dino and
Lasi drivers at the appropriate HPAs. Of course, the dino and lasi
startups are just shells, but the drivers can now be fixed to actually
*do* something (like find more devices on it's own bus, and register
those).
The system should work pretty well: device drivers can be registered at
any time (when registering them, they check to see if any devices need
driving), and devices can be registered at any time (checking to see if
there's any available drivers for them).
I'll commit some of this tomorrow. My changes offer the skeletons of
what needs to be in lasi.c and dino.c, those'll be have to be filled in.
- Alex
--
Alex deVries
Vice President of Engineering
The Puffin Group