Messages in this thread | | | From | Marc Pignat <> | Subject | Re: [PATCH 3/3] mmc: change .get_ro() callback semantics | Date | Tue, 3 Jun 2008 12:07:49 +0200 |
| |
Hi all!
On Friday 23 May 2008, Anton Vorontsov wrote: > get_ro() callback must return values >= 0 for its logical state, and ... > static void pxamci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) > diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h > index f2e9885..ef3b773 100644 > --- a/include/linux/mmc/host.h > +++ b/include/linux/mmc/host.h > @@ -55,6 +55,9 @@ struct mmc_host_ops { > * Avoid calling these three functions too often or in a "fast path", > * since underlaying controller might implement them in an expensive > * and/or slow way. > + * > + * .get_ro and .get_cd should return >= 0 for their logical values, > + * or negative errno value in case of error. > */
I would suggest to use something more strict (bulletproof), something like:
/* * get_ro will return: * 0 for a read/write card * 1 for a read-only card * -ENOSYS when not supported * or a negative errno when something bad happened * * get_cd will return: * 0 for a absent card * 1 for a present card * -ENOSYS when not supported * or a negative errno when something bad happened */
I think we have missed one important information: which context these callbacks can rely on (hard_irq, soft_irq, ...).
Best regards
Marc
| |