On Thursday 22 January 2009, Anton Vorontsov wrote:
> +       /*
> +        * These accessors duplicate sdhci_ops, but there are two reasons for
> +        * this:
> +        * 1. sdhci_ops are const, so the sdhci driver won't able to assign
> +        *    default ops;

You could assign the pointer to a const default_sdhci_ops structure,
which IMHO would be cleaner than copying the function pointers
separately.

> +        * 2. Using host->X instead of host->ops->X saves us one dereference.
> +        *    This can be useful in PIO mode. (Though the benefit of this
> +        *    is negligibly small).
> +        */

I doubt that this is even measurable. If it was, you could still use a copy
of that structure, like

struct sdhci_host {
        ...
        struct sdhci_ops ops; /* not struct sdhci_ops *ops */
        ...
};

and do an assignment of the structure, like

static void assign_ops(struct sdhci_host *host, struct sdhci_ops *ops)
{
        host->ops = *ops;
}

        Arnd <><
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev

Reply via email to