/* This call will set the output drive mode for the @gpio to output.  */
int msp71xx_set_output_drive(unsigned gpio, int value)
/* This call will set the output drive mode for the @gpio to output.  */
int msp71xx_set_output_drive(unsigned gpio, int value)
{
	unsigned long flags;
	u32 data;
	if (gpio > 15 || gpio < 0)
		return -EINVAL;
	spin_lock_irqsave(&gpio_lock, flags);
	data = __raw_readl((void __iomem *)(MSP71XX_GPIO_BASE + 0x190));
	if (value)
		data |= (1 << gpio);
	else
		data &= ~(1 << gpio);
	__raw_writel(data, (void __iomem *)(MSP71XX_GPIO_BASE + 0x190));
	spin_unlock_irqrestore(&gpio_lock, flags);
	return 0;
}