On 08/21/2013 03:47 PM, Wolfram Sang wrote: > I2C of helpers used to live in of_i2c.c but experience (from SPI) shows > that it is much cleaner to have this in the core. This also removes a > circular dependency between the helpers and the core, and so we can > finally register child nodes in the core instead of doing this manually > in each driver. So, fix the drivers and documentation, too. > > Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxx> > Acked-by: Rob Herring <rob.herring@xxxxxxxxxxx> > Reviewed-by: Felipe Balbi <balbi@xxxxxx> > Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> With this patch there are still couple of of_i2c.h header file inclusions: $ git grep of_i2c.h arch/powerpc/platforms/44x/warp.c:#include <linux/of_i2c.h> drivers/gpu/drm/tilcdc/tilcdc_slave.c:#include <linux/of_i2c.h> drivers/gpu/drm/tilcdc/tilcdc_tfp410.c:#include <linux/of_i2c.h> drivers/gpu/host1x/drm/output.c:#include <linux/of_i2c.h> drivers/media/platform/exynos4-is/fimc-is.c:#include <linux/of_i2c.h> drivers/media/platform/exynos4-is/media-dev.c:#include <linux/of_i2c.h> drivers/staging/imx-drm/imx-tve.c:#include <linux/of_i2c.h> sound/soc/fsl/imx-sgtl5000.c:#include <linux/of_i2c.h> sound/soc/fsl/imx-wm8962.c:#include <linux/of_i2c.h> Please include also this chunk, without it I'm getting build errors. --------------8<--------------------- diff --git a/drivers/media/platform/exynos4-is/fimc-is-i2c.c b/drivers/media/platform/exynos4-is/fimc-is-i2c.c index ca07b48..e38e9dc 100644 --- a/drivers/media/platform/exynos4-is/fimc-is-i2c.c +++ b/drivers/media/platform/exynos4-is/fimc-is-i2c.c @@ -11,6 +11,7 @@ */ #include <linux/clk.h> +#include <linux/i2c.h> #include <linux/module.h> #include <linux/platform_device.h> #include <linux/pm_runtime.h> diff --git a/drivers/media/platform/exynos4-is/fimc-is.c b/drivers/media/platform/exynos4-is/fimc-is.c index 6743ae3..63e4f1d 100644 --- a/drivers/media/platform/exynos4-is/fimc-is.c +++ b/drivers/media/platform/exynos4-is/fimc-is.c @@ -21,7 +21,6 @@ #include <linux/interrupt.h> #include <linux/kernel.h> #include <linux/module.h> -#include <linux/of_i2c.h> #include <linux/of_irq.h> #include <linux/of_address.h> #include <linux/of_platform.h> diff --git a/drivers/media/platform/exynos4-is/media-dev.c b/drivers/media/platform/exynos4-is/media-dev.c index c10dee2..00e5f91 100644 --- a/drivers/media/platform/exynos4-is/media-dev.c +++ b/drivers/media/platform/exynos4-is/media-dev.c @@ -22,7 +22,6 @@ #include <linux/of.h> #include <linux/of_platform.h> #include <linux/of_device.h> -#include <linux/of_i2c.h> #include <linux/platform_device.h> #include <linux/pm_runtime.h> #include <linux/types.h> --------------8<--------------------- > --- > > V1 -> V2: * Add #else branch to #if CONFIG_OF > * EXPORT_SYMBOLs got attached to wrong functions > * cosmetic change (of -> OF) > * properly based on 3.11-rc4 > > Documentation/acpi/enumeration.txt | 1 - > drivers/i2c/busses/i2c-at91.c | 3 - > drivers/i2c/busses/i2c-cpm.c | 6 -- > drivers/i2c/busses/i2c-davinci.c | 2 - > drivers/i2c/busses/i2c-designware-platdrv.c | 2 - > drivers/i2c/busses/i2c-gpio.c | 3 - > drivers/i2c/busses/i2c-i801.c | 2 - > drivers/i2c/busses/i2c-ibm_iic.c | 4 - > drivers/i2c/busses/i2c-imx.c | 3 - > drivers/i2c/busses/i2c-mpc.c | 2 - > drivers/i2c/busses/i2c-mv64xxx.c | 3 - > drivers/i2c/busses/i2c-mxs.c | 3 - > drivers/i2c/busses/i2c-nomadik.c | 3 - > drivers/i2c/busses/i2c-ocores.c | 3 - > drivers/i2c/busses/i2c-octeon.c | 3 - > drivers/i2c/busses/i2c-omap.c | 3 - > drivers/i2c/busses/i2c-pnx.c | 3 - > drivers/i2c/busses/i2c-powermac.c | 9 +- > drivers/i2c/busses/i2c-pxa.c | 2 - > drivers/i2c/busses/i2c-s3c2410.c | 2 - > drivers/i2c/busses/i2c-sh_mobile.c | 2 - > drivers/i2c/busses/i2c-sirf.c | 3 - > drivers/i2c/busses/i2c-stu300.c | 2 - > drivers/i2c/busses/i2c-tegra.c | 3 - > drivers/i2c/busses/i2c-versatile.c | 2 - > drivers/i2c/busses/i2c-wmt.c | 3 - > drivers/i2c/busses/i2c-xiic.c | 3 - > drivers/i2c/i2c-core.c | 109 +++++++++++++++++++++- > drivers/i2c/i2c-mux.c | 3 - > drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 1 - > drivers/i2c/muxes/i2c-mux-gpio.c | 1 - > drivers/i2c/muxes/i2c-mux-pinctrl.c | 1 - > drivers/media/platform/exynos4-is/fimc-is-i2c.c | 3 - > drivers/of/Kconfig | 6 -- > drivers/of/Makefile | 1 - > drivers/of/of_i2c.c | 114 ----------------------- > include/linux/i2c.h | 20 ++++ > include/linux/of_i2c.h | 46 --------- > 38 files changed, 132 insertions(+), 253 deletions(-) > delete mode 100644 drivers/of/of_i2c.c > delete mode 100644 include/linux/of_i2c.h I've tested this patch on Exynos4412 SoC based board, so this covers i2c-s3c2410 and fimc-is-i2c. Compiled with CONFIG_OF enabled. I guess after removing all remaining occurrences of #include <linux/of_i2c.h> you could add: Tested-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> -- Thanks, Sylwester -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html