Messages in this thread | | | Date | Mon, 13 Nov 2006 14:58:29 -0600 | From | Bill Gatliff <> | Subject | Re: [patch/rfc 2.6.19-rc5] arch-neutral GPIO calls |
| |
David Brownell wrote:
>On Monday 13 November 2006 12:26 pm, Bill Gatliff wrote: > > > >>>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. >> >> > >Do non-ARM platforms have board/machine descriptors on Linux, though? >I thought most didn't ... > >
PPC does. See arch/ppc/platforms/chestnut.c:platform_init().
>One could come up with an implementation that uses GPIO numbers >as indices into a descriptor array, and using board-specific >initialization of that array ... just like with IRQs and irq_chip. > >That could lead to heavier weight implementations than I'd prefer >to see (since GPIOs are a very light weight notion!), but it'd >certainly provide a more reusable way to add GPIO controllers. > >All behind the API I proposed, note -- no changes needed. > >
Indeed. I'm all for lightweight, but especially for nice and neat code.
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/
| |