platform/chrome: cros_ec_sensorhub: Add the number of sensors in sensorhub
To better manage resources, store the number of sensors reported by the EC. Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
This commit is contained in:
committed by
Enric Balletbo i Serra
parent
b2057c6401
commit
cee416a347
@@ -65,6 +65,7 @@ static int cros_ec_sensorhub_register(struct device *dev,
|
|||||||
return sensor_num;
|
return sensor_num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sensorhub->sensor_num = sensor_num;
|
||||||
if (sensor_num == 0) {
|
if (sensor_num == 0) {
|
||||||
dev_err(dev, "Zero sensors reported.\n");
|
dev_err(dev, "Zero sensors reported.\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@@ -172,7 +173,8 @@ static int cros_ec_sensorhub_probe(struct platform_device *pdev)
|
|||||||
* If the device has sensors but does not claim to
|
* If the device has sensors but does not claim to
|
||||||
* be a sensor hub, we are in legacy mode.
|
* be a sensor hub, we are in legacy mode.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < 2; i++) {
|
data->sensor_num = 2;
|
||||||
|
for (i = 0; i < data->sensor_num; i++) {
|
||||||
ret = cros_ec_sensorhub_allocate_sensor(dev,
|
ret = cros_ec_sensorhub_allocate_sensor(dev,
|
||||||
"cros-ec-accel-legacy", i);
|
"cros-ec-accel-legacy", i);
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|||||||
@@ -22,9 +22,11 @@ struct cros_ec_sensor_platform {
|
|||||||
* struct cros_ec_sensorhub - Sensor Hub device data.
|
* struct cros_ec_sensorhub - Sensor Hub device data.
|
||||||
*
|
*
|
||||||
* @ec: Embedded Controller where the hub is located.
|
* @ec: Embedded Controller where the hub is located.
|
||||||
|
* @sensor_num: Number of MEMS sensors present in the EC.
|
||||||
*/
|
*/
|
||||||
struct cros_ec_sensorhub {
|
struct cros_ec_sensorhub {
|
||||||
struct cros_ec_dev *ec;
|
struct cros_ec_dev *ec;
|
||||||
|
int sensor_num;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __LINUX_PLATFORM_DATA_CROS_EC_SENSORHUB_H */
|
#endif /* __LINUX_PLATFORM_DATA_CROS_EC_SENSORHUB_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user