No subject
Mon Jun 27 16:47:34 EDT 2011
memory bus writes ensure the necessary time, as the NOP write takes as much time
as the DOCG3 decides it to last.
Unless you have a timing to provide (or even better, a specification), I'll
leave the NOP writes.
>> +static int doc_wait_ready(struct docg3 *docg3)
>> +{
>> + int maxWaitCycles = 100;
>> +
>> + do {
>> + doc_delay(docg3, 4);
>> + } while (!doc_is_ready(docg3) && maxWaitCycles--);
>> + doc_delay(docg3, 2);
>> + if (maxWaitCycles > 0)
>> + return 0;
>> + else
>> + return -EIO;
>> +}
>
> There are things like cpu_relax() which are used in busy-loops - did you
> look at those?
No, but I'll amend that loop with cpu_relax, that makes perfect sense.
>
>> +/*
>> + * Debug sysfs entries
>> + */
>> +#ifdef CONFIG_DEBUG_FS
>
> You do not need to use CONFIG_DEBUG_FS - debugfs makes all calls to be
> noop if it is not present.
>
> Either remove all macros or use DEBUG
OK, will remove the ifdef.
>> +#define DEBUGFS_RO_ATTR(name, show_fct) \
>> + static int name##_open(struct inode *inode, struct file *file) \
>> + { return single_open(file, show_fct, inode->i_private); } \
>> + static const struct file_operations name##_fops = { \
>> + .owner = THIS_MODULE, \
>> + .open = name##_open, \
>> + .llseek = seq_lseek, \
>> + .read = seq_read, \
>> + .release = single_release \
>> + };
>
> Hmm, looks like something which should be generic, not DoC-specific.
True, but it's not available yet.
And as it's not available, and I don't think debugfs will accept such a patch, I
think I'll leave it here. And if you wish, I'll fill in a separate patch to
debugfs, and *if* it's merged, I'll remove that part then.
Cheers.
--
Robert
More information about the linux-mtd
mailing list