Lines Matching refs:client

56 	struct i2c_client	*client;  member
58 s32 (*read_block_data)(const struct i2c_client *client, u8 command,
60 s32 (*write_block_data)(const struct i2c_client *client, u8 command,
66 static int rx8581_read_block_data(const struct i2c_client *client, u8 command, in rx8581_read_block_data() argument
72 data = i2c_smbus_read_byte_data(client, command + i); in rx8581_read_block_data()
80 static int rx8581_write_block_data(const struct i2c_client *client, u8 command, in rx8581_write_block_data() argument
86 ret = i2c_smbus_write_byte_data(client, command + i, in rx8581_write_block_data()
98 static int rx8581_get_datetime(struct i2c_client *client, struct rtc_time *tm) in rx8581_get_datetime() argument
102 struct rx8581 *rx8581 = i2c_get_clientdata(client); in rx8581_get_datetime()
109 data = i2c_smbus_read_byte_data(client, RX8581_REG_FLAG); in rx8581_get_datetime()
111 dev_err(&client->dev, "Unable to read device flags\n"); in rx8581_get_datetime()
118 err = i2c_smbus_write_byte_data(client, in rx8581_get_datetime()
121 dev_err(&client->dev, "Unable to write device flags\n"); in rx8581_get_datetime()
127 err = rx8581->read_block_data(client, RX8581_REG_SC, in rx8581_get_datetime()
130 dev_err(&client->dev, "Unable to read date\n"); in rx8581_get_datetime()
135 data = i2c_smbus_read_byte_data(client, RX8581_REG_FLAG); in rx8581_get_datetime()
137 dev_err(&client->dev, "Unable to read device flags\n"); in rx8581_get_datetime()
143 dev_info(&client->dev, in rx8581_get_datetime()
146 dev_dbg(&client->dev, in rx8581_get_datetime()
163 dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, " in rx8581_get_datetime()
171 dev_err(&client->dev, "retrieved date/time is not valid.\n"); in rx8581_get_datetime()
176 static int rx8581_set_datetime(struct i2c_client *client, struct rtc_time *tm) in rx8581_set_datetime() argument
180 struct rx8581 *rx8581 = i2c_get_clientdata(client); in rx8581_set_datetime()
182 dev_dbg(&client->dev, "%s: secs=%d, mins=%d, hours=%d, " in rx8581_set_datetime()
203 data = i2c_smbus_read_byte_data(client, RX8581_REG_CTRL); in rx8581_set_datetime()
205 dev_err(&client->dev, "Unable to read control register\n"); in rx8581_set_datetime()
209 err = i2c_smbus_write_byte_data(client, RX8581_REG_CTRL, in rx8581_set_datetime()
212 dev_err(&client->dev, "Unable to write control register\n"); in rx8581_set_datetime()
217 err = rx8581->write_block_data(client, RX8581_REG_SC, 7, buf); in rx8581_set_datetime()
219 dev_err(&client->dev, "Unable to write to date registers\n"); in rx8581_set_datetime()
224 data = i2c_smbus_read_byte_data(client, RX8581_REG_FLAG); in rx8581_set_datetime()
226 dev_err(&client->dev, "Unable to read flag register\n"); in rx8581_set_datetime()
230 err = i2c_smbus_write_byte_data(client, RX8581_REG_FLAG, in rx8581_set_datetime()
233 dev_err(&client->dev, "Unable to write flag register\n"); in rx8581_set_datetime()
238 data = i2c_smbus_read_byte_data(client, RX8581_REG_CTRL); in rx8581_set_datetime()
240 dev_err(&client->dev, "Unable to read control register\n"); in rx8581_set_datetime()
244 err = i2c_smbus_write_byte_data(client, RX8581_REG_CTRL, in rx8581_set_datetime()
247 dev_err(&client->dev, "Unable to write control register\n"); in rx8581_set_datetime()
269 static int rx8581_probe(struct i2c_client *client, in rx8581_probe() argument
274 dev_dbg(&client->dev, "%s\n", __func__); in rx8581_probe()
276 if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA) in rx8581_probe()
277 && !i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK)) in rx8581_probe()
280 rx8581 = devm_kzalloc(&client->dev, sizeof(struct rx8581), GFP_KERNEL); in rx8581_probe()
284 i2c_set_clientdata(client, rx8581); in rx8581_probe()
285 rx8581->client = client; in rx8581_probe()
287 if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_I2C_BLOCK)) { in rx8581_probe()
295 dev_info(&client->dev, "chip found, driver version " DRV_VERSION "\n"); in rx8581_probe()
297 rx8581->rtc = devm_rtc_device_register(&client->dev, in rx8581_probe()
301 dev_err(&client->dev, in rx8581_probe()