Re: [PATCH 02/10] sdhci: Add support for bus-specific IO memory accessors

From: Arnd Bergmann
Date: Thu Jan 22 2009 - 06:57:07 EST


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