>>>>> "Mohammed" == Mohammed Billoo <mab@xxxxxxxxxxxx> writes: Hi, Please send i2c patches to the linux-i2c mailing list as well, so the i2c maintainer can apply it. > There may be instances when the device tree is not suitable to interface > with the ocores implementation. For example, when the FPGA/ASIC is > not on the same silicon die (e.g. the communication between the CPU and > the FPGA/ASIC is over PCI), information about the ocore implementation, > such as whether the gaisler implementation is used, must be determined > during runtime. In this case, the client driver would prepopulate the > platform data during device instantiation. Thus, a boolean needs to be > added in the platform data, to instruct the i2c-ocores driver whether > the gaisler register callbacks should be used. > Signed-off-by: Mohammed Billoo <mab@xxxxxxxxxxxx> > --- > drivers/i2c/busses/i2c-ocores.c | 4 ++++ > include/linux/platform_data/i2c-ocores.h | 1 + > 2 files changed, 5 insertions(+) > diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c > index f5fc75b65a19..0975f6797069 100644 > --- a/drivers/i2c/busses/i2c-ocores.c > +++ b/drivers/i2c/busses/i2c-ocores.c > @@ -647,6 +647,10 @@ static int ocores_i2c_probe(struct platform_device *pdev) > i2c-> bus_clock_khz = pdata->bus_khz; > else > i2c-> bus_clock_khz = 100; > + if (pdata->gaisler) { > + i2c->setreg = oc_setreg_grlib; > + i2c->getreg = oc_getreg_grlib; > + } > } else { > ret = ocores_i2c_of_probe(pdev, i2c); > if (ret) > diff --git a/include/linux/platform_data/i2c-ocores.h b/include/linux/platform_data/i2c-ocores.h > index e6326cbafe59..a3cb38f21417 100644 > --- a/include/linux/platform_data/i2c-ocores.h > +++ b/include/linux/platform_data/i2c-ocores.h > @@ -16,6 +16,7 @@ struct ocores_i2c_platform_data { > bool big_endian; /* registers are big endian */ > u8 num_devices; /* number of devices in the devices list */ > struct i2c_board_info const *devices; /* devices connected to the bus */ > + bool gaisler; /* implementation is gaisler */ NIT: Perhaps it would be nicer to place this after big_endian, as it is quite similar to that? A clearer comment could be "Use Gaisler GRLIB accessors" Other than that it looks good to me, thanks. Acked-by: Peter Korsgaard <peter@xxxxxxxxxxxxx> -- Bye, Peter Korsgaard