diff options
Diffstat (limited to 'drivers/gpio/gpio-xilinx.c')
| -rw-r--r-- | drivers/gpio/gpio-xilinx.c | 14 | 
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/gpio/gpio-xilinx.c b/drivers/gpio/gpio-xilinx.c index c58a7e1349b4..36d91cacc2d9 100644 --- a/drivers/gpio/gpio-xilinx.c +++ b/drivers/gpio/gpio-xilinx.c @@ -148,7 +148,7 @@ static int xgpio_get(struct gpio_chip *gc, unsigned int gpio)   * This function writes the specified value in to the specified signal of the   * GPIO device.   */ -static void xgpio_set(struct gpio_chip *gc, unsigned int gpio, int val) +static int xgpio_set(struct gpio_chip *gc, unsigned int gpio, int val)  {  	unsigned long flags;  	struct xgpio_instance *chip = gpiochip_get_data(gc); @@ -162,6 +162,8 @@ static void xgpio_set(struct gpio_chip *gc, unsigned int gpio, int val)  	xgpio_write_ch(chip, XGPIO_DATA_OFFSET, bit, chip->state);  	raw_spin_unlock_irqrestore(&chip->gpio_lock, flags); + +	return 0;  }  /** @@ -173,8 +175,8 @@ static void xgpio_set(struct gpio_chip *gc, unsigned int gpio, int val)   * This function writes the specified values into the specified signals of the   * GPIO devices.   */ -static void xgpio_set_multiple(struct gpio_chip *gc, unsigned long *mask, -			       unsigned long *bits) +static int xgpio_set_multiple(struct gpio_chip *gc, unsigned long *mask, +			      unsigned long *bits)  {  	DECLARE_BITMAP(hw_mask, 64);  	DECLARE_BITMAP(hw_bits, 64); @@ -194,6 +196,8 @@ static void xgpio_set_multiple(struct gpio_chip *gc, unsigned long *mask,  	bitmap_copy(chip->state, state, 64);  	raw_spin_unlock_irqrestore(&chip->gpio_lock, flags); + +	return 0;  }  /** @@ -600,10 +604,10 @@ static int xgpio_probe(struct platform_device *pdev)  	chip->gc.direction_input = xgpio_dir_in;  	chip->gc.direction_output = xgpio_dir_out;  	chip->gc.get = xgpio_get; -	chip->gc.set = xgpio_set; +	chip->gc.set_rv = xgpio_set;  	chip->gc.request = xgpio_request;  	chip->gc.free = xgpio_free; -	chip->gc.set_multiple = xgpio_set_multiple; +	chip->gc.set_multiple_rv = xgpio_set_multiple;  	chip->gc.label = dev_name(dev);  | 
