History log of /src/sys/arch/powerpc/ibm4xx/dev/opb.c |
Revision | | Date | Author | Comments |
1.29 |
| 07-Aug-2021 |
thorpej | Merge thorpej-cfargs2.
|
1.28 |
| 24-Apr-2021 |
thorpej | branches: 1.28.8; Merge thorpej-cfargs branch:
Simplify and make extensible the config_search() / config_found() / config_attach() interfaces: rather than having different variants for which arguments you want pass along, just have a single call that takes a variadic list of tag-value arguments.
Adjust all call sites: - Simplify wherever possible; don't pass along arguments that aren't actually needed. - Don't be explicit about what interface attribute is attaching if the device only has one. (More simplification.) - Add a config_probe() function to be used in indirect configuiration situations, making is visibly easier to see when indirect config is in play, and allowing for future change in semantics. (As of now, this is just a wrapper around config_match(), but that is an implementation detail.)
Remove unnecessary or redundant interface attributes where they're not needed.
There are currently 5 "cfargs" defined: - CFARG_SUBMATCH (submatch function for direct config) - CFARG_SEARCH (search function for indirect config) - CFARG_IATTR (interface attribte) - CFARG_LOCATORS (locators array) - CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)
...and a sentinel value CFARG_EOL.
Add some extra sanity checking to ensure that interface attributes aren't ambiguous.
Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark ports to associate those device handles with device_t instance. This will trickle trough to more places over time (need back-end for pre-OFW Sun OBP; any others?).
|
1.27 |
| 06-Jul-2020 |
rin | branches: 1.27.4; Style and cosmetic changes. No binary changes intended.
|
1.26 |
| 18-Jun-2011 |
matt | Use <sys/foo.h> instead of <machine/foo.h> if such a file exists. Don't assume <sys/cpu.h> includes <powerpc/subarch/cpu*.h>. Include it explicitly.
|
1.25 |
| 18-Mar-2010 |
kiyohara | branches: 1.25.6; Support PowerPC 405EX/EXr. 1. Add some new source and header files. (MAL(split) and RGMII(new) relations for EMAC) 2. Create dcr4xx.h. Its moved from dcr405gp.h. Also remove dcr405xx.h. 3. intr.c supports MULTIUIC with virtual-irq. likes to oea. support 32-virq/128-hwirq. 4. multiple emac support. 5. WALNUT and VIRTEX_* includes arch/powerpc/conf/files.ibm4xx. 6. WALNUT pci uses arch/powerpc/ibm4xx/pci/.
|
1.24 |
| 25-Feb-2010 |
matt | branches: 1.24.2; Adapt to spr.h breakup.
|
1.23 |
| 13-Mar-2006 |
shige | branches: 1.23.68; 1.23.88; 1.23.92; IBM4xx on-chip GPIO controller apllying MI GPIO framework.
|
1.22 |
| 21-Feb-2006 |
thorpej | branches: 1.22.2; 1.22.4; Add an "instance" member to opb_attach_args and use it when fetching the mac-address property from board_info. port-powerpc/32862
|
1.21 |
| 11-Dec-2005 |
christos | branches: 1.21.2; 1.21.4; 1.21.6; merge ktrace-lwp.
|
1.20 |
| 26-Aug-2005 |
drochner | s/locdesc_t/int/g
|
1.19 |
| 03-Jul-2005 |
he | branches: 1.19.2; We need to name parameters in function declaration...
|
1.18 |
| 28-Jun-2005 |
drochner | convert remaining autoconf bus "submatch" functions to use the new signature (passing locators), and remove some which obviously don't serve any purpose (untested, sorry)
|
1.17 |
| 13-Feb-2004 |
wiz | Uppercase CPU, plural is CPUs.
|
1.16 |
| 06-Oct-2003 |
scw | MD i2c glue for the 405GP's onboard IIC controller. Bit-bang only for now.
|
1.15 |
| 23-Sep-2003 |
shige | Add devices info for IBM405GPR.
|
1.14 |
| 25-Jul-2003 |
scw | Switch ibm4xx over to using the more flexible powerpc bus_space/bus_dma code.
|
1.13 |
| 15-Jul-2003 |
lukem | __KERNEL_RCSID()
|
1.12 |
| 01-Jan-2003 |
thorpej | branches: 1.12.2; Use aprint_normal() for cfprint routines.
|
1.11 |
| 10-Oct-2002 |
jdolecek | fix typo - driver name is 'opb', not 'obp'
|
1.10 |
| 02-Oct-2002 |
thorpej | Add trailing ; to CFATTACH_DECL.
|
1.9 |
| 01-Oct-2002 |
thorpej | Use CFATTACH_DECL().
|
1.8 |
| 27-Sep-2002 |
thorpej | Declare all cfattach structures const.
|
1.7 |
| 27-Sep-2002 |
thorpej | Introduce a new routine, config_match(), which invokes the cfattach->ca_match function in behalf of the caller. Use it rather than invoking cfattach->ca_match directly.
|
1.6 |
| 27-Sep-2002 |
thorpej | Rather than referencing the cfdriver directly in the cfdata entries, instead use a string naming the driver. The cfdriver is then looked up in a list which is built at run-time.
|
1.5 |
| 13-Aug-2002 |
simonb | branches: 1.5.2; 1.5.4; Use the base space tag from the attach args, don't recreate it all the time. Clean up some include files.
|
1.4 |
| 13-Aug-2002 |
simonb | Use "ibm4xx" instead of "galaxy"; galaxy was an early code name for the 405GP.
|
1.3 |
| 13-Aug-2002 |
simonb | Split out device register definitions to their own files as the are common across many of the 4xx parts. Leaves ibm405gp.h with device address information specific to the 405GP CPU. Now allows opb.c to support multiple 4xx CPU types.
|
1.2 |
| 12-Aug-2002 |
simonb | branches: 1.2.2; Add a pvr field to 'struct opb_dev', to allow the opb_devs array to contain info about on-chip devices for more than one CPU type.
|
1.1 |
| 12-Aug-2002 |
simonb | Reorganise the IBM 4xx bus layout, using terminology from the IBM documentation: - Remove "mainbus" altogether. - The new root is "plb" - the Processor Local Bus. - Attached to this is the "opb" - the On-chip Peripheral Bus, to which all the on-chip devices are attached (except the cpu and pci host bridge). - Port-specific code can pass an array of 'struct plb_dev' to config_rootfound() to attach extra devices to the plb. The walnut port attaches a "pbus" (Peripheral Bus) in here for the RTC and pc keyboard controller to attach to. There is still much 405GP specific code; the next round of changes will generalise this to enable easier support for other 4xx CPUs.
|
1.2.2.5 |
| 03-Jan-2003 |
thorpej | Sync with HEAD.
|
1.2.2.4 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.2.2.3 |
| 27-Aug-2002 |
nathanw | Catch up to -current.
|
1.2.2.2 |
| 13-Aug-2002 |
nathanw | Catch up to -current.
|
1.2.2.1 |
| 12-Aug-2002 |
nathanw | file opb.c was added on branch nathanw_sa on 2002-08-13 02:18:43 +0000
|
1.5.4.3 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.5.4.2 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.5.4.1 |
| 13-Aug-2002 |
jdolecek | file opb.c was added on branch kqueue on 2002-09-06 08:39:08 +0000
|
1.5.2.2 |
| 31-Aug-2002 |
gehenna | catch up with -current.
|
1.5.2.1 |
| 13-Aug-2002 |
gehenna | file opb.c was added on branch gehenna-devsw on 2002-08-31 13:45:44 +0000
|
1.12.2.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.12.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.12.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.12.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.19.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.21.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.21.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.21.2.1 |
| 01-Mar-2006 |
yamt | sync with head.
|
1.22.4.1 |
| 19-Apr-2006 |
elad | sync with head - hopefully this will work
|
1.22.2.1 |
| 01-Apr-2006 |
yamt | sync with head.
|
1.23.92.1 |
| 07-Jan-2011 |
matt | Deal with new powerpc world.
|
1.23.88.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.23.68.2 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.23.68.1 |
| 11-Mar-2010 |
yamt | sync with head
|
1.24.2.1 |
| 30-May-2010 |
rmind | sync with head
|
1.25.6.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.27.4.2 |
| 22-Mar-2021 |
thorpej | Audit CFARG_IATTR in config_found() calls, and remove it in situations where the interface attribute is not ambiguous.
|
1.27.4.1 |
| 22-Mar-2021 |
thorpej | Mechanical conversion of config_found_sm_loc() -> config_found(). CFARG_IATTR usage needs to be audited.
|
1.28.8.1 |
| 04-Aug-2021 |
thorpej | Adapt to CFARGS().
|