Lines Matching defs:i2c

17 #include <linux/i2c.h>
174 * @i2c: parent I2C client
187 struct i2c_client *i2c;
346 dev_err(&ak8974->i2c->dev,
363 dev_err(&ak8974->i2c->dev, "timeout waiting for DRDY\n");
381 dev_err(&ak8974->i2c->dev,
413 dev_err(&ak8974->i2c->dev, "error reading DRDY status\n");
428 struct device *dev = &ak8974->i2c->dev;
478 dev_warn(&ak8974->i2c->dev,
513 dev_info(&ak8974->i2c->dev,
519 dev_info(&ak8974->i2c->dev, "detected AK8974\n");
523 dev_info(&ak8974->i2c->dev, "detected hscdtd008a\n");
526 dev_err(&ak8974->i2c->dev, "unsupported device (%02x) ",
554 dev_info(&ak8974->i2c->dev,
570 pm_runtime_get_sync(&ak8974->i2c->dev);
592 pm_runtime_mark_last_busy(&ak8974->i2c->dev);
593 pm_runtime_put_autosuspend(&ak8974->i2c->dev);
609 dev_err(&ak8974->i2c->dev, "faulty channel address\n");
668 pm_runtime_get_sync(&ak8974->i2c->dev);
673 dev_err(&ak8974->i2c->dev, "error triggering measure\n");
678 dev_err(&ak8974->i2c->dev, "error getting measures\n");
687 pm_runtime_mark_last_busy(&ak8974->i2c->dev);
688 pm_runtime_put_autosuspend(&ak8974->i2c->dev);
765 struct i2c_client *i2c = to_i2c_client(dev);
766 struct iio_dev *indio_dev = i2c_get_clientdata(i2c);
817 static int ak8974_probe(struct i2c_client *i2c)
822 int irq = i2c->irq;
826 indio_dev = devm_iio_device_alloc(&i2c->dev, sizeof(*ak8974));
831 i2c_set_clientdata(i2c, indio_dev);
832 ak8974->i2c = i2c;
835 ret = iio_read_mount_matrix(&i2c->dev, &ak8974->orientation);
842 ret = devm_regulator_bulk_get(&i2c->dev,
846 return dev_err_probe(&i2c->dev, ret, "cannot get regulators\n");
850 dev_err(&i2c->dev, "cannot enable regulators\n");
855 pm_runtime_get_noresume(&i2c->dev);
856 pm_runtime_set_active(&i2c->dev);
857 pm_runtime_enable(&i2c->dev);
859 ak8974->map = devm_regmap_init_i2c(i2c, &ak8974_regmap_config);
861 dev_err(&i2c->dev, "failed to allocate register map\n");
862 pm_runtime_put_noidle(&i2c->dev);
863 pm_runtime_disable(&i2c->dev);
869 dev_err(&i2c->dev, "could not power on\n");
875 dev_err(&i2c->dev, "neither AK8974 nor AMI30x found\n");
881 dev_err(&i2c->dev, "selftest failed (continuing anyway)\n");
885 dev_err(&i2c->dev, "AK8974 reset failed\n");
913 dev_err(&i2c->dev, "triggered buffer setup failed\n");
921 dev_info(&i2c->dev, "enable rising edge DRDY IRQ\n");
924 dev_info(&i2c->dev, "enable falling edge DRDY IRQ\n");
931 ret = devm_request_threaded_irq(&i2c->dev,
939 dev_err(&i2c->dev, "unable to request DRDY IRQ "
949 dev_err(&i2c->dev, "device register failed\n");
953 pm_runtime_set_autosuspend_delay(&i2c->dev,
955 pm_runtime_use_autosuspend(&i2c->dev);
956 pm_runtime_put(&i2c->dev);
963 pm_runtime_put_noidle(&i2c->dev);
964 pm_runtime_disable(&i2c->dev);
971 static void ak8974_remove(struct i2c_client *i2c)
973 struct iio_dev *indio_dev = i2c_get_clientdata(i2c);
978 pm_runtime_get_sync(&i2c->dev);
979 pm_runtime_put_noidle(&i2c->dev);
980 pm_runtime_disable(&i2c->dev);
1034 MODULE_DEVICE_TABLE(i2c, ak8974_id);