On Fri, Mar 29, 2019 at 3:37 PM Gwendal Grignou <gwendal@xxxxxxxxxxxx> wrote: > > On Fri, Mar 29, 2019 at 1:17 PM Guenter Roeck <groeck@xxxxxxxxxx> wrote: > > > > On Fri, Mar 29, 2019 at 1:08 PM Gwendal Grignou <gwendal@xxxxxxxxxxxx> wrote: > > > > > > Add a IIO driver that reports the angle between the lid and the base for > > > ChromeOS convertible device. > ... > > > --- a/drivers/mfd/cros_ec_dev.c > > > +++ b/drivers/mfd/cros_ec_dev.c > > > @@ -297,13 +297,15 @@ static void cros_ec_sensors_register(struct > > > cros_ec_dev *ec) > > > > > > resp = (struct ec_response_motion_sense *)msg->data; > > > sensor_num = resp->dump.sensor_count; > > > - /* Allocate 1 extra sensors in FIFO are needed */ > > > - sensor_cells = kcalloc(sensor_num + 1, sizeof(struct mfd_cell), > > > + /* > > > + * Allocate 2 extra sensors if lid angle sensor and/or FIFO are needed. > > > + */ > > > + sensor_cells = kcalloc(sensor_num + 2, sizeof(struct mfd_cell), > > > GFP_KERNEL); > > > if (sensor_cells == NULL) > > > goto error; > > > > > > - sensor_platforms = kcalloc(sensor_num + 1, > > > + sensor_platforms = kcalloc(sensor_num, > > > > I still don't understand why the "+ 1" is no longer needed. It seems > > to me that it would have to change to "+ 2". > "+1" was never needed to begin with FIFO device will never use a > struct cros_ec_sensor_platform. I mentioned it earlier: > https://www.spinics.net/lists/linux-iio/msg43157.html > Ah yes, now I see. Thanks, and sorry for the noise. Guenter > Gwendal. > > > > Guenter > > > > > sizeof(struct cros_ec_sensor_platform), > > > GFP_KERNEL); > > > if (sensor_platforms == NULL) > > > @@ -363,6 +365,11 @@ static void cros_ec_sensors_register(struct > > > cros_ec_dev *ec) > > > sensor_cells[id].name = "cros-ec-ring"; > > > id++; > > > } > > > + if (cros_ec_check_features(ec, > > > + EC_FEATURE_REFINED_TABLET_MODE_HYSTERESIS)) { > > > + sensor_cells[id].name = "cros-ec-lid-angle"; > > > + id++; > > > + } > > > > > > ret = mfd_add_devices(ec->dev, 0, sensor_cells, id, > > > NULL, 0, NULL); > > > -- > > > 2.21.0.360.g471c308f928-goog