> +static int stm32f7_i2c_reg_client(struct i2c_client *client)
> +{
> +     struct stm32f7_i2c_dev *i2c_dev = i2c_get_adapdata(client->adapter);
> +     int ret;
> +
> +     if (client->flags & I2C_CLIENT_HOST_NOTIFY) {
> +             /* Only enable on the first device registration */
> +             if (atomic_inc_return(&i2c_dev->host_notify_cnt) == 1) {
> +                     ret = stm32f7_i2c_enable_smbus_host(i2c_dev);
> +                     if (ret) {
> +                             dev_err(i2c_dev->dev,
> +                                     "failed to enable SMBus host notify 
> (%d)\n",
> +                                     ret);
> +                             return ret;
> +                     }
> +             }
> +     }
> +
> +     return 0;
> +}

So, as mentioned in the other review, I'd like to evaluate other
possibilities for the above:

- One option is to enable it globally in probe(). Then you lose the
  possibility to have a device at address 0x08.
- Enable it in probe() only if there is a generic binding "host-notify".
- Let the core scan for a device with HOST_NOTIFY when registering an
  adapter and then call back into the driver somehow?

Other ideas?

Attachment: signature.asc
Description: PGP signature

Reply via email to