Lines Matching refs:lis3
31 static int lis3_reg_ctrl(struct lis3lv02d *lis3, bool state) in lis3_reg_ctrl() argument
35 ret = regulator_bulk_disable(ARRAY_SIZE(lis3->regulators), in lis3_reg_ctrl()
36 lis3->regulators); in lis3_reg_ctrl()
38 ret = regulator_bulk_enable(ARRAY_SIZE(lis3->regulators), in lis3_reg_ctrl()
39 lis3->regulators); in lis3_reg_ctrl()
46 static inline s32 lis3_i2c_write(struct lis3lv02d *lis3, int reg, u8 value) in lis3_i2c_write() argument
48 struct i2c_client *c = lis3->bus_priv; in lis3_i2c_write()
52 static inline s32 lis3_i2c_read(struct lis3lv02d *lis3, int reg, u8 *v) in lis3_i2c_read() argument
54 struct i2c_client *c = lis3->bus_priv; in lis3_i2c_read()
59 static inline s32 lis3_i2c_blockread(struct lis3lv02d *lis3, int reg, int len, in lis3_i2c_blockread() argument
62 struct i2c_client *c = lis3->bus_priv; in lis3_i2c_blockread()
67 static int lis3_i2c_init(struct lis3lv02d *lis3) in lis3_i2c_init() argument
72 lis3_reg_ctrl(lis3, LIS3_REG_ON); in lis3_i2c_init()
74 lis3->read(lis3, WHO_AM_I, ®); in lis3_i2c_init()
75 if (reg != lis3->whoami) in lis3_i2c_init()
79 ret = lis3->read(lis3, CTRL_REG1, ®); in lis3_i2c_init()
83 if (lis3->whoami == WAI_3DLH) in lis3_i2c_init()
88 return lis3->write(lis3, CTRL_REG1, reg); in lis3_i2c_init()
182 struct lis3lv02d *lis3 = i2c_get_clientdata(client); in lis3lv02d_i2c_remove() local
188 lis3lv02d_joystick_disable(lis3); in lis3lv02d_i2c_remove()
191 regulator_bulk_free(ARRAY_SIZE(lis3->regulators), in lis3lv02d_i2c_remove()
199 struct lis3lv02d *lis3 = i2c_get_clientdata(client); in lis3lv02d_i2c_suspend() local
202 if (lis3->pdata && lis3->pdata->wakeup_flags) { in lis3lv02d_i2c_suspend()
204 lis3lv02d_poweron(lis3); in lis3lv02d_i2c_suspend()
207 lis3lv02d_poweroff(lis3); in lis3lv02d_i2c_suspend()
215 struct lis3lv02d *lis3 = i2c_get_clientdata(client); in lis3lv02d_i2c_resume() local
218 if (lis3->pdata && lis3->pdata->wakeup_flags) { in lis3lv02d_i2c_resume()
220 lis3lv02d_poweroff(lis3); in lis3lv02d_i2c_resume()
223 lis3lv02d_poweron(lis3); in lis3lv02d_i2c_resume()
233 struct lis3lv02d *lis3 = i2c_get_clientdata(client); in lis3_i2c_runtime_suspend() local
235 lis3lv02d_poweroff(lis3); in lis3_i2c_runtime_suspend()
242 struct lis3lv02d *lis3 = i2c_get_clientdata(client); in lis3_i2c_runtime_resume() local
244 lis3lv02d_poweron(lis3); in lis3_i2c_runtime_resume()