Subject: Re: [PATCH 37/61] cpm2: Rework 8272ads initialization, and eliminate init_fcc_ioports().

From: Scott Wood <[email-masked]>
Date: Thu, 19 Jul 2007 10:02:52 -0500

Arnd Bergmann wrote:
> On Wednesday 18 July 2007, Scott Wood wrote:
> 
>>+static struct cpm_pin mpc8272ads_pins[] = {
>>+       /* SCC1 */
>>+       {3, 30, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},
>>+       {3, 31, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
>>+
>>+       /* SCC4 */
>>+       {3, 21, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
>>+       {3, 22, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
>>+
>>+       /* FCC1 */
>>+       {0, 14, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
>>+       {0, 15, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
>>+       {0, 16, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
>>+       {0, 17, CPM_PIN_INPUT | CPM_PIN_PRIMARY},
> 
> 
> I guess you considered moving such tables into the device tree at some point,
> which doesn't seem that difficult at all to an ignorant reviewer like me.
> 
> What's the reasoning for putting it into the platform code after all?

Ideally, this would be done by u-boot, and neither the kernel nor the 
device tree would need to care.  However, u-boot's setting up of the 
pins was lacking on all of the boards I tested on, so I had to fix it up 
in the platform code.

I considered putting it in the device tree as the qe code does; if there 
are many boards like these that need the kernel to set up the pins, it 
may be worthwhile.  We just need to come up with a good binding (e.g. no 
using arbitrary enums defined in the kernel).

-Scott