On Mon, Mar 07, 2016 at 05:19:17PM +0530, Sudip Mukherjee wrote: > The variable p is a data structure which is used by the driver core > internally and it is not expected that busses will be directly accessing > these driver core internal only data. > > Signed-off-by: Sudip Mukherjee <sudip.mukherjee@xxxxxxxxxxxxxxx> > --- > > Reference of Greg's comment about it at: > https://lkml.org/lkml/2016/3/5/171 > > drivers/i2c/i2c-core.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c > index 2949ab3..2f31fb5 100644 > --- a/drivers/i2c/i2c-core.c > +++ b/drivers/i2c/i2c-core.c > @@ -73,6 +73,7 @@ static struct device_type i2c_client_type; > static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver); > > static struct static_key i2c_trace_msg = STATIC_KEY_INIT_FALSE; > +static bool is_registered; > > void i2c_transfer_trace_reg(void) > { > @@ -1529,7 +1530,7 @@ static int i2c_register_adapter(struct i2c_adapter *adap) > int res = 0; > > /* Can't register until after driver model init */ > - if (unlikely(WARN_ON(!i2c_bus_type.p))) { > + if (unlikely(WARN_ON(!is_registered))) { > res = -EAGAIN; > goto out_list; > } Minor nit, likely/unlikely should only be used on very "hot paths" where the difference if it is not included can be measured. the "register a device" path is not "hot" at all. That being said, the patch is fine with me: Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html