Lines Matching refs:client
362 struct i2c_client *client; member
379 static int ak8975_who_i_am(struct i2c_client *client, in ak8975_who_i_am() argument
393 ret = i2c_smbus_read_i2c_block_data(client, AK09912_REG_WIA1, in ak8975_who_i_am()
396 dev_err(&client->dev, "Error reading WIA\n"); in ak8975_who_i_am()
416 dev_err(&client->dev, "Type %d unknown\n", type); in ak8975_who_i_am()
431 ret = i2c_smbus_write_byte_data(data->client, in ak8975_set_mode()
461 struct i2c_client *client = data->client; in ak8975_setup_irq() local
467 if (client->irq) in ak8975_setup_irq()
468 irq = client->irq; in ak8975_setup_irq()
472 rc = devm_request_irq(&client->dev, irq, ak8975_irq_handler, in ak8975_setup_irq()
474 dev_name(&client->dev), data); in ak8975_setup_irq()
476 dev_err(&client->dev, in ak8975_setup_irq()
492 static int ak8975_setup(struct i2c_client *client) in ak8975_setup() argument
494 struct iio_dev *indio_dev = i2c_get_clientdata(client); in ak8975_setup()
501 dev_err(&client->dev, "Error in setting fuse access mode\n"); in ak8975_setup()
506 ret = i2c_smbus_read_i2c_block_data(client, in ak8975_setup()
510 dev_err(&client->dev, "Not able to read asa data\n"); in ak8975_setup()
517 dev_err(&client->dev, "Error in setting power-down mode\n"); in ak8975_setup()
521 if (data->eoc_gpio > 0 || client->irq > 0) { in ak8975_setup()
524 dev_err(&client->dev, in ak8975_setup()
539 struct i2c_client *client = data->client; in wait_conversion_complete_gpio() local
551 dev_err(&client->dev, "Conversion timeout happened\n"); in wait_conversion_complete_gpio()
555 ret = i2c_smbus_read_byte_data(client, data->def->ctrl_regs[ST1]); in wait_conversion_complete_gpio()
557 dev_err(&client->dev, "Error in reading ST1\n"); in wait_conversion_complete_gpio()
564 struct i2c_client *client = data->client; in wait_conversion_complete_polled() local
572 ret = i2c_smbus_read_byte_data(client, in wait_conversion_complete_polled()
575 dev_err(&client->dev, "Error in reading ST1\n"); in wait_conversion_complete_polled()
584 dev_err(&client->dev, "Conversion timeout happened\n"); in wait_conversion_complete_polled()
610 struct i2c_client *client = data->client; in ak8975_read_axis() local
618 dev_err(&client->dev, "Error in setting operating mode\n"); in ak8975_read_axis()
634 ret = i2c_smbus_read_byte_data(client, in ak8975_read_axis()
637 dev_err(&client->dev, "Error in reading ST2\n"); in ak8975_read_axis()
642 dev_err(&client->dev, "ST2 status error 0x%x\n", ret); in ak8975_read_axis()
650 ret = i2c_smbus_read_word_data(client, data->def->data_regs[index]); in ak8975_read_axis()
652 dev_err(&client->dev, "Read axis data fails\n"); in ak8975_read_axis()
727 static int ak8975_probe(struct i2c_client *client, in ak8975_probe() argument
738 if (client->dev.platform_data) in ak8975_probe()
739 eoc_gpio = *(int *)(client->dev.platform_data); in ak8975_probe()
740 else if (client->dev.of_node) in ak8975_probe()
741 eoc_gpio = of_get_gpio(client->dev.of_node, 0); in ak8975_probe()
751 err = devm_gpio_request_one(&client->dev, eoc_gpio, in ak8975_probe()
754 dev_err(&client->dev, in ak8975_probe()
762 indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data)); in ak8975_probe()
767 i2c_set_clientdata(client, indio_dev); in ak8975_probe()
769 data->client = client; in ak8975_probe()
777 } else if (ACPI_HANDLE(&client->dev)) in ak8975_probe()
778 name = ak8975_match_acpi_device(&client->dev, &chipset); in ak8975_probe()
783 dev_err(&client->dev, "AKM device type unsupported: %d\n", in ak8975_probe()
789 err = ak8975_who_i_am(client, data->def->type); in ak8975_probe()
791 dev_err(&client->dev, "Unexpected device\n"); in ak8975_probe()
794 dev_dbg(&client->dev, "Asahi compass chip %s\n", name); in ak8975_probe()
797 err = ak8975_setup(client); in ak8975_probe()
799 dev_err(&client->dev, "%s initialization fails\n", name); in ak8975_probe()
804 indio_dev->dev.parent = &client->dev; in ak8975_probe()
810 return devm_iio_device_register(&client->dev, indio_dev); in ak8975_probe()