lkml.org 
[lkml]   [2006]   [Nov]   [13]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 13 Nov 2006 14:26:14 -0600
FromBill Gatliff <>
SubjectRe: [patch/rfc 2.6.19-rc5] arch-neutral GPIO calls
David Brownell wrote:

>On Monday 13 November 2006 11:43 am, Bill Gatliff wrote:
> 
>
>>Maybe we should codify an approach for that now, i.e. add to the 
>>reference implementation some code that hands off out-of-range GPIO 
>>lines to a function in the machine descriptor:
>>
>>
>>+static inline int gpio_direction_input(unsigned gpio)
>>+	{ if (gpio < OMAP_MAX_ARCH_GPIO) return __gpio_set_direction(gpio, 1);
>>+	  else if(mdesc->platform_gpio_set_direction) platform_gpio_set_direction(gpio, 1); }
>>
>>
>>... conveniently neglecting the way you find mdesc.  :)
>> 
>>
>
>Nah; look at arch/arm/plat-omap/gpio.c and ignore the mess, but observe
>that what you see there is essentially a bunch of "gpio controller"
>classes using the ugly "switch(type)" dispatch scheme instead of the
>prettier "type->op()" dispatch scheme.  All that stuff needs to be
>cleaner, but for now it'd suffice to add a new FPGA typecode.
> 
>

Agreed.  But if we add to the machine descriptor, then not only do you 
not need to touch arch-omap/gpio.c, but you can take that switch 
statement out, too.  Just one less chunk of code to tweak when a new 
platform is supported.


b.g.

-- 
Bill Gatliff
bgat@billgatliff.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-11-13 21:31    [from the cache]
©2003-2008