Hi Akash, Thank you for the patch. On Thursday, 25 January 2018 09:34:36 EET Akash Gajjar wrote: > From: Akash Gajjar <Akash_Gajjar@xxxxxxxxxx> > > Witth this changes, the driver builds with CONFIG_OF support Does the driver fail to build with CONFIG_OF at the moment ? > Signed-off-by: Akash Gajjar <gajjar04akash@xxxxxxxxx> > --- > drivers/media/i2c/as3645a.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/media/i2c/as3645a.c b/drivers/media/i2c/as3645a.c > index af5db71..24233fa 100644 > --- a/drivers/media/i2c/as3645a.c > +++ b/drivers/media/i2c/as3645a.c > @@ -858,6 +858,14 @@ static int as3645a_remove(struct i2c_client *client) > }; > MODULE_DEVICE_TABLE(i2c, as3645a_id_table); > > +#if IS_ENABLED(CONFIG_OF) > +static const struct of_device_id as3645a_of_match[] = { > + { .compatible = "ams,as3645a", }, As far as I know I2C can match the compatible string's device name after the comma with the I2C device IDs table without requiring an of_device_id array. Furthermore, given the following check if (client->dev.platform_data == NULL) return -ENODEV; at the beginning of the probe function, I doubt the driver will be functional. > + { /* sentinel */ }, > +}; > +MODULE_DEVICE_TABLE(of, as3645a_of_match); > +#endif > + > static const struct dev_pm_ops as3645a_pm_ops = { > .suspend = as3645a_suspend, > .resume = as3645a_resume, > @@ -867,6 +875,7 @@ static int as3645a_remove(struct i2c_client *client) > .driver = { > .name = AS3645A_NAME, > .pm = &as3645a_pm_ops, > + .of_match_table = of_match_ptr(as3645a_of_match), > }, > .probe = as3645a_probe, > .remove = as3645a_remove, -- Regards, Laurent Pinchart