[coreboot] Adding CAR support to v2

Myles Watson mylesgw at gmail.com
Thu Jun 18 23:36:27 CEST 2009

On Thu, Jun 18, 2009 at 2:06 PM, Peter Stuge <peter at stuge.se> wrote:

> ron minnich wrote:
> > I think we ought to not bring over the v3 stage numbering.
> > I've gotten very mixed reactions to the stage1 etc. naming.
> > It seemed like a good idea but in the end it did not seem that
> > essential.
> It really helps me too in understanding the code. And it helps
> explaining the code flow to new people.
> Numbers are not critical, but I liked them as a way to not have to
> deal with finding perfect names for every single function.
> I'd like to have either great names for all functions and good
> consistent structure, or some kind of numbering scheme.

I'd be happy with having the functions ordered correctly in the structures
as a first step.

In other words, if .init always came last, that would help.

// from src/include/device/device.h:

struct device_operations {
    void (*read_resources)(device_t dev);
    void (*set_resources)(device_t dev);
    void (*enable_resources)(device_t dev);
    void (*init)(device_t dev);
    unsigned int (*scan_bus)(device_t bus, unsigned int max);
    void (*enable)(device_t dev);
    void (*set_link)(device_t dev, unsigned int link);
    void (*reset_bus)(struct bus *bus);
    const struct pci_operations *ops_pci;
    const struct smbus_bus_operations *ops_smbus_bus;
    const struct pci_bus_operations *ops_pci_bus;

It's hard to tell from there that the order is:
1. Enable
2. Scan bus
3. Read resources
4. Set resources
5. Enable resources
6. Init

( I could have gotten something wrong there.)

I admit I don't know what
1. set_link
2. reset_bus

are good for or when they're called.  This seems like the place to document
it, though.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090618/17569e9a/attachment.html>

More information about the coreboot mailing list