On Mon, 2012-04-16 at 13:59 +0100, Mark Brown wrote:
On Mon, Apr 16, 2012 at 05:53:13PM +0530, Ashish Chavan wrote:
On Fri, 2012-04-13 at 10:30 +0100, Mark Brown wrote:
On Wed, Apr 11, 2012 at 10:58:40AM +0530, Ashish Chavan wrote:
- /* for MASTER mode, fs = 48Khz */
- { 12000000, 0xF3, 0x12, 0x7, }, /* MCLK=12Mhz */
This *still* has magic number problems.
OK, will replace frequency values with defines. That is what you are pointing, right?
No! As with *all* the other times you've submitted this you're relying on magic array indexes to find stuff in the table which I've *repeatedly* pointed out is terrible for readability and maintainability. It's very disappointing to see the same problem coming back repeatedly.
Thanks for bearing with me Mark. But the only other way I can think is to make the *extra* info like master/slave and fs a part of array itself and then search through the array to get required divisors. In this case, every time I need to search through entire array to pick up correct divisors. Wouldn't that be inefficient, especially when the array indexes are fixed? Or the readability/maintainability of that would outweigh slight performance overhead?
These defines now need to be kept in sync with the table and are going to be *very* painful to review.
Yes, these defines need to be kept in sync with the table. Can you suggest any other, preferred way to do this?
Yes. For example, you could use the same technique you're using for the frequencies.