Lines Matching refs:gpio
44 static int pca9570_read(struct pca9570 *gpio, u8 *value) in pca9570_read() argument
46 struct i2c_client *client = to_i2c_client(gpio->chip.parent); in pca9570_read()
49 if (gpio->chip_data->command != 0) in pca9570_read()
50 ret = i2c_smbus_read_byte_data(client, gpio->chip_data->command); in pca9570_read()
61 static int pca9570_write(struct pca9570 *gpio, u8 value) in pca9570_write() argument
63 struct i2c_client *client = to_i2c_client(gpio->chip.parent); in pca9570_write()
65 if (gpio->chip_data->command != 0) in pca9570_write()
66 return i2c_smbus_write_byte_data(client, gpio->chip_data->command, value); in pca9570_write()
80 struct pca9570 *gpio = gpiochip_get_data(chip); in pca9570_get() local
84 ret = pca9570_read(gpio, &buffer); in pca9570_get()
93 struct pca9570 *gpio = gpiochip_get_data(chip); in pca9570_set() local
97 mutex_lock(&gpio->lock); in pca9570_set()
99 buffer = gpio->out; in pca9570_set()
105 ret = pca9570_write(gpio, buffer); in pca9570_set()
109 gpio->out = buffer; in pca9570_set()
112 mutex_unlock(&gpio->lock); in pca9570_set()
117 struct pca9570 *gpio; in pca9570_probe() local
119 gpio = devm_kzalloc(&client->dev, sizeof(*gpio), GFP_KERNEL); in pca9570_probe()
120 if (!gpio) in pca9570_probe()
123 gpio->chip.label = client->name; in pca9570_probe()
124 gpio->chip.parent = &client->dev; in pca9570_probe()
125 gpio->chip.owner = THIS_MODULE; in pca9570_probe()
126 gpio->chip.get_direction = pca9570_get_direction; in pca9570_probe()
127 gpio->chip.get = pca9570_get; in pca9570_probe()
128 gpio->chip.set = pca9570_set; in pca9570_probe()
129 gpio->chip.base = -1; in pca9570_probe()
130 gpio->chip_data = device_get_match_data(&client->dev); in pca9570_probe()
131 gpio->chip.ngpio = gpio->chip_data->ngpio; in pca9570_probe()
132 gpio->chip.can_sleep = true; in pca9570_probe()
134 mutex_init(&gpio->lock); in pca9570_probe()
137 pca9570_read(gpio, &gpio->out); in pca9570_probe()
139 i2c_set_clientdata(client, gpio); in pca9570_probe()
141 return devm_gpiochip_add_data(&client->dev, &gpio->chip, gpio); in pca9570_probe()