|
@@ -17,7 +17,7 @@
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/clk.h>
|
|
|
#include <linux/err.h>
|
|
|
-#include <linux/gpio.h>
|
|
|
+#include <linux/gpio/driver.h>
|
|
|
#include <linux/platform_device.h>
|
|
|
#include <linux/serial_core.h>
|
|
|
#include <linux/mtd/physmap.h>
|
|
@@ -687,16 +687,14 @@ struct txx9_iocled_data {
|
|
|
|
|
|
static int txx9_iocled_get(struct gpio_chip *chip, unsigned int offset)
|
|
|
{
|
|
|
- struct txx9_iocled_data *data =
|
|
|
- container_of(chip, struct txx9_iocled_data, chip);
|
|
|
+ struct txx9_iocled_data *data = gpiochip_get_data(chip);
|
|
|
return !!(data->cur_val & (1 << offset));
|
|
|
}
|
|
|
|
|
|
static void txx9_iocled_set(struct gpio_chip *chip, unsigned int offset,
|
|
|
int value)
|
|
|
{
|
|
|
- struct txx9_iocled_data *data =
|
|
|
- container_of(chip, struct txx9_iocled_data, chip);
|
|
|
+ struct txx9_iocled_data *data = gpiochip_get_data(chip);
|
|
|
unsigned long flags;
|
|
|
spin_lock_irqsave(&txx9_iocled_lock, flags);
|
|
|
if (value)
|
|
@@ -749,7 +747,7 @@ void __init txx9_iocled_init(unsigned long baseaddr,
|
|
|
iocled->chip.label = "iocled";
|
|
|
iocled->chip.base = basenum;
|
|
|
iocled->chip.ngpio = num;
|
|
|
- if (gpiochip_add(&iocled->chip))
|
|
|
+ if (gpiochip_add_data(&iocled->chip, iocled))
|
|
|
goto out_unmap;
|
|
|
if (basenum < 0)
|
|
|
basenum = iocled->chip.base;
|