Commit b7a73b33 authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by Jonathan Cameron

iio: imu: st_lsm6dsx: add wakeup_source in st_sensors_platform_data

Add the possibility to enable/disable wakeup source through
st_sensors_platform_data and not only through device tree
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent b307f495
...@@ -2099,7 +2099,9 @@ static int st_lsm6dsx_irq_setup(struct st_lsm6dsx_hw *hw) ...@@ -2099,7 +2099,9 @@ static int st_lsm6dsx_irq_setup(struct st_lsm6dsx_hw *hw)
int st_lsm6dsx_probe(struct device *dev, int irq, int hw_id, int st_lsm6dsx_probe(struct device *dev, int irq, int hw_id,
struct regmap *regmap) struct regmap *regmap)
{ {
struct st_sensors_platform_data *pdata = dev->platform_data;
const struct st_lsm6dsx_shub_settings *hub_settings; const struct st_lsm6dsx_shub_settings *hub_settings;
struct device_node *np = dev->of_node;
struct st_lsm6dsx_hw *hw; struct st_lsm6dsx_hw *hw;
const char *name = NULL; const char *name = NULL;
int i, err; int i, err;
...@@ -2162,8 +2164,8 @@ int st_lsm6dsx_probe(struct device *dev, int irq, int hw_id, ...@@ -2162,8 +2164,8 @@ int st_lsm6dsx_probe(struct device *dev, int irq, int hw_id,
return err; return err;
} }
if (dev->of_node && if ((np && of_property_read_bool(np, "wakeup-source")) ||
of_property_read_bool(dev->of_node, "wakeup-source")) (pdata && pdata->wakeup_source))
device_init_wakeup(dev, true); device_init_wakeup(dev, true);
return 0; return 0;
......
...@@ -18,12 +18,14 @@ ...@@ -18,12 +18,14 @@
* @open_drain: set the interrupt line to be open drain if possible. * @open_drain: set the interrupt line to be open drain if possible.
* @spi_3wire: enable spi-3wire mode. * @spi_3wire: enable spi-3wire mode.
* @pullups: enable/disable i2c controller pullup resistors. * @pullups: enable/disable i2c controller pullup resistors.
* @wakeup_source: enable/disable device as wakeup generator.
*/ */
struct st_sensors_platform_data { struct st_sensors_platform_data {
u8 drdy_int_pin; u8 drdy_int_pin;
bool open_drain; bool open_drain;
bool spi_3wire; bool spi_3wire;
bool pullups; bool pullups;
bool wakeup_source;
}; };
#endif /* ST_SENSORS_PDATA_H */ #endif /* ST_SENSORS_PDATA_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment