1e27c7292SMichael Hennerich /* 2e27c7292SMichael Hennerich * ADXL345/346 Three-Axis Digital Accelerometers (I2C/SPI Interface) 3e27c7292SMichael Hennerich * 4e27c7292SMichael Hennerich * Enter bugs at http://blackfin.uclinux.org/ 5e27c7292SMichael Hennerich * 6e27c7292SMichael Hennerich * Copyright (C) 2009 Michael Hennerich, Analog Devices Inc. 7e27c7292SMichael Hennerich * Licensed under the GPL-2 or later. 8e27c7292SMichael Hennerich */ 9e27c7292SMichael Hennerich 10e27c7292SMichael Hennerich #ifndef _ADXL34X_H_ 11e27c7292SMichael Hennerich #define _ADXL34X_H_ 12e27c7292SMichael Hennerich 13e27c7292SMichael Hennerich struct device; 14e27c7292SMichael Hennerich struct adxl34x; 15e27c7292SMichael Hennerich 16e27c7292SMichael Hennerich struct adxl34x_bus_ops { 17e27c7292SMichael Hennerich u16 bustype; 18e27c7292SMichael Hennerich int (*read)(struct device *, unsigned char); 19e27c7292SMichael Hennerich int (*read_block)(struct device *, unsigned char, int, void *); 20e27c7292SMichael Hennerich int (*write)(struct device *, unsigned char, unsigned char); 21e27c7292SMichael Hennerich }; 22e27c7292SMichael Hennerich 23e27c7292SMichael Hennerich void adxl34x_disable(struct adxl34x *ac); 24e27c7292SMichael Hennerich void adxl34x_enable(struct adxl34x *ac); 25e27c7292SMichael Hennerich struct adxl34x *adxl34x_probe(struct device *dev, int irq, 26e27c7292SMichael Hennerich bool fifo_delay_default, 27e27c7292SMichael Hennerich const struct adxl34x_bus_ops *bops); 28e27c7292SMichael Hennerich int adxl34x_remove(struct adxl34x *ac); 29e27c7292SMichael Hennerich 30e27c7292SMichael Hennerich #endif 31