All pastes #747816 Raw Edit

Anonymous

public c v1 · immutable
·published 2007-10-24 11:36 UTC
rendered paste body
/* Common GPIO layer */static inline int gpio_get_value(unsigned gpio){	static int value;	if (!value) {		void __iomem *gpio_in = (void __iomem *)				KSEG1ADDR(AR7_REGS_GPIO + AR7_GPIO_INPUT);		value = readl(gpio_in) & (1 << gpio);	}	return value;}static inline void gpio_set_value(unsigned gpio, int value){	static unsigned addr;	if (!addr) {		void __iomem *gpio_out = (void __iomem *)				KSEG1ADDR(AR7_REGS_GPIO + AR7_GPIO_OUTPUT);		addr = readl(gpio_out) & ~(1 << gpio);	}	if (value)		tmp |= 1 << gpio;	writel(addr, gpio_out);}