struct tsl2X7X_chip *chip = iio_priv(indio_dev);
u8 reg_val = 0;
- if (chip->pdata && chip->pdata->power_on)
- chip->pdata->power_on(indio_dev);
-
/* Non calculated parameters */
chip->tsl2x7x_config[TSL2X7X_PRX_TIME] = chip->settings.prx_time;
chip->tsl2x7x_config[TSL2X7X_WAIT_TIME] = chip->settings.wait_time;
ret = i2c_smbus_write_byte_data(chip->client,
TSL2X7X_CMD_REG | TSL2X7X_CNTRL, 0x00);
- if (chip->pdata && chip->pdata->power_off)
- chip->pdata->power_off(chip->client);
-
return ret;
}
chip->tsl2x7x_chip_status = TSL2X7X_CHIP_SUSPENDED;
}
- if (chip->pdata && chip->pdata->platform_power) {
- pm_message_t pmm = {PM_EVENT_SUSPEND};
-
- chip->pdata->platform_power(dev, pmm);
- }
-
return ret;
}
struct tsl2X7X_chip *chip = iio_priv(indio_dev);
int ret = 0;
- if (chip->pdata && chip->pdata->platform_power) {
- pm_message_t pmm = {PM_EVENT_RESUME};
-
- chip->pdata->platform_power(dev, pmm);
- }
-
if (chip->tsl2x7x_chip_status == TSL2X7X_CHIP_SUSPENDED)
ret = tsl2x7x_chip_on(indio_dev);
#ifndef __TSL2X7X_H
#define __TSL2X7X_H
-#include <linux/pm.h>
struct tsl2x7x_lux {
unsigned int ratio;
*
*/
struct tsl2X7X_platform_data {
- int (*platform_power)(struct device *dev, pm_message_t);
- int (*power_on)(struct iio_dev *indio_dev);
- int (*power_off)(struct i2c_client *dev);
struct tsl2x7x_lux platform_lux_table[TSL2X7X_MAX_LUX_TABLE_SIZE];
struct tsl2x7x_settings *platform_default_settings;
};