[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4558D4E6.4020601@billgatliff.com>
Date: Mon, 13 Nov 2006 14:26:14 -0600
From: Bill Gatliff <bgat@...lgatliff.com>
To: David Brownell <david-b@...bell.net>
CC: Paul Mundt <lethal@...ux-sh.org>,
Linux Kernel list <linux-kernel@...r.kernel.org>,
Andrew Morton <akpm@...l.org>,
Andrew Victor <andrew@...people.com>,
Haavard Skinnemoen <hskinnemoen@...el.com>, jamey.hicks@...com,
Kevin Hilman <khilman@...sta.com>,
Nicolas Pitre <nico@....org>,
Russell King <rmk@....linux.org.uk>,
Tony Lindgren <tony@...mide.com>
Subject: Re: [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@...lgatliff.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists