/* enable/disable the multi-driver. This is only valid for output and allows the output pin to run as an open collector output.  */
int at91_set_pio_multi_drive(unsigned port, unsigned pin, int is_on)
/* enable/disable the multi-driver. This is only valid for output and allows the output pin to run as an open collector output.  */
int at91_set_pio_multi_drive(unsigned port, unsigned pin, int is_on)
{
	struct at91_port *at91_port = at91_pio_get_port(port);
	u32 mask;
	if (at91_port && (pin < GPIO_PER_BANK)) {
		mask = 1 << pin;
		if (is_on)
			writel(mask, &at91_port->mder);
		else
			writel(mask, &at91_port->mddr);
	}
	return 0;
}