int setup_pins(int gpionum)
{

    /*
     * Create the required GPIO pin and reserve it
     */

    if (gpio_alloc(gpionum))
        {
        fprintf(stderr, "Error allocating GPIO %d, errno = %d\n", gpionum, errno);
        return (1);
        }

    if (gpio_set_direction(gpionum, "out"))
        {
        fprintf(stderr, "Error setting GPIO %d direction, errno = %d\n", gpionum, errno);
        return (1);
        }

    if (gpio_write_pin(gpionum, "1"))
        {
        fprintf(stderr, "Error setting GPIO %d value, errno = %d\n", gpionum, errno);
        return (1);
        }

      return(0);
}
int gpio_init (void)
{
#ifdef CONFIG_XILINX_GPIO
	reset_pin = gpio_alloc(CONFIG_SYS_GPIO_0_ADDR, "reset", 1);
	if (reset_pin != -1)
		gpio_request(reset_pin, "reset_pin");
#endif
	return 0;
}