lkml.org 
[lkml]   [2011]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRE: [PATCH] i2c: tegra: Add CONFIG_OF guards for device tree bits
    Ben Dooks wrote at Friday, August 05, 2011 2:15 AM:
    > On Fri, Aug 05, 2011 at 03:05:21PM +0800, Axel Lin wrote:
    > > The device tree bits need to be protected by CONFIG_OF guards.
    > > This patch fixes below build error with "make tegra_defconfig;make".
    > >
    > > CC drivers/i2c/busses/i2c-tegra.o
    > > drivers/i2c/busses/i2c-tegra.c: In function 'tegra_i2c_probe':
    > > drivers/i2c/busses/i2c-tegra.c:615: error: implicit declaration of function 'of_get_property'
    > > drivers/i2c/busses/i2c-tegra.c:616: warning: assignment makes pointer from integer without a cast
    >
    > It might be worth asking Grant if providing stubs for the of_ calls are
    > as good idea, I'd like to avoid having #ifdef CONFIG_OF splattered around
    > the place (it leads to errors).

    When I first proposed the patch below, Grant said:

    > ... I've been avoiding creating a
    > dummy inline of of_get_property(), but not for any particularly strong
    > reason other than to avoid bloating linux/of.h. I probably would
    > accept a patch that added it.

    So, I'll go ahead and whip up a patch to do that instead, since Ben
    would prefer not to have the ifdefs in the I2C driver.

    > > make[3]: *** [drivers/i2c/busses/i2c-tegra.o] Error 1
    > > make[2]: *** [drivers/i2c/busses] Error 2
    > > make[1]: *** [drivers/i2c] Error 2
    > > make: *** [drivers] Error 2
    > >
    > > Signed-off-by: Axel Lin <axel.lin@gmail.com>
    > > ---
    > > drivers/i2c/busses/i2c-tegra.c | 5 ++++-
    > > 1 files changed, 4 insertions(+), 1 deletions(-)
    > >
    > > diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
    > > index 0c6e840..1bfe85e 100644
    > > --- a/drivers/i2c/busses/i2c-tegra.c
    > > +++ b/drivers/i2c/busses/i2c-tegra.c
    > > @@ -548,7 +548,6 @@ static int tegra_i2c_probe(struct platform_device *pdev)
    > > struct resource *iomem;
    > > struct clk *clk;
    > > struct clk *i2c_clk;
    > > - const unsigned int *prop;
    > > void *base;
    > > int irq;
    > > int ret = 0;
    > > @@ -611,11 +610,15 @@ static int tegra_i2c_probe(struct platform_device *pdev)
    > > if (pdata) {
    > > i2c_dev->bus_clk_rate = pdata->bus_clk_rate;
    > >
    > > +#ifdef CONFIG_OF
    > > } else if (i2c_dev->dev->of_node) { /* if there is a device tree node ... */
    > > + const unsigned int *prop;
    > > +
    > > prop = of_get_property(i2c_dev->dev->of_node,
    > > "clock-frequency", NULL);
    > > if (prop)
    > > i2c_dev->bus_clk_rate = be32_to_cpup(prop);
    > > +#endif
    > > }
    > >
    > > if (pdev->id == 3)
    > > --
    > > 1.7.4.1

    --
    nvpublic



    \
     
     \ /
      Last update: 2011-08-06 00:37    [W:0.024 / U:119.224 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site