On 4/25/2018 2:51 AM, Austin Christ wrote: > Add a module parameter to override SCL frequency provided by firmware. > This can be useful when testing spec compliance for I2C modes or when > debugging issues across multiple operating frequencies. > > Signed-off-by: Austin Christ <austinwc@xxxxxxxxxxxxxx> > --- > drivers/i2c/busses/i2c-qup.c | 19 ++++++++++++++----- > 1 file changed, 14 insertions(+), 5 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-qup.c b/drivers/i2c/busses/i2c-qup.c > index f87f29f..da4cc57 100644 > --- a/drivers/i2c/busses/i2c-qup.c > +++ b/drivers/i2c/busses/i2c-qup.c > @@ -155,6 +155,10 @@ > /* TAG length for DATA READ in RX FIFO */ > #define READ_RX_TAGS_LEN 2 > > +static unsigned int scl_freq; > +module_param_named(scl_freq, scl_freq, uint, 0444); Instead of hard coding the permission constants, macro can be used. Otherwise, Reviewed-by: Sricharan R <sricharan@xxxxxxxxxxxxxx> Regards, Sricharan > +MODULE_PARM_DESC(scl_freq, "SCL frequency override"); > + > /* > * count: no of blocks > * pos: current block number > @@ -1682,11 +1686,16 @@ static int qup_i2c_probe(struct platform_device *pdev) > init_completion(&qup->xfer); > platform_set_drvdata(pdev, qup); > > - ret = device_property_read_u32(qup->dev, "clock-frequency", &clk_freq); > - if (ret) { > - dev_notice(qup->dev, "using default clock-frequency %d", > - DEFAULT_CLK_FREQ); > - } > + if (scl_freq) { > + dev_notice(qup->dev, "Using override frequency of %u\n", scl_freq); > + clk_freq = scl_freq; > + } else { > + ret = device_property_read_u32(qup->dev, "clock-frequency", &clk_freq); > + if (ret) { > + dev_notice(qup->dev, "using default clock-frequency %d", > + DEFAULT_CLK_FREQ); > + } > + } > > if (of_device_is_compatible(pdev->dev.of_node, "qcom,i2c-qup-v1.1.1")) { > qup->adap.algo = &qup_i2c_algo; > -- "QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html