pwm: Explicitly include correct DT includes
Commit Message
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.
Signed-off-by: Rob Herring <robh@kernel.org>
---
drivers/pwm/core.c | 1 +
drivers/pwm/pwm-apple.c | 1 +
drivers/pwm/pwm-atmel-hlcdc.c | 1 +
drivers/pwm/pwm-atmel-tcb.c | 3 +--
drivers/pwm/pwm-atmel.c | 1 -
drivers/pwm/pwm-berlin.c | 1 +
drivers/pwm/pwm-cros-ec.c | 1 +
drivers/pwm/pwm-fsl-ftm.c | 3 +--
drivers/pwm/pwm-hibvt.c | 2 +-
drivers/pwm/pwm-imx1.c | 1 -
drivers/pwm/pwm-jz4740.c | 2 +-
drivers/pwm/pwm-lp3943.c | 1 +
drivers/pwm/pwm-lpc18xx-sct.c | 1 +
drivers/pwm/pwm-mediatek.c | 1 -
drivers/pwm/pwm-meson.c | 1 -
drivers/pwm/pwm-microchip-core.c | 2 +-
drivers/pwm/pwm-mtk-disp.c | 1 -
drivers/pwm/pwm-pxa.c | 1 +
drivers/pwm/pwm-sifive.c | 1 +
drivers/pwm/pwm-sl28cpld.c | 1 +
drivers/pwm/pwm-sprd.c | 1 +
drivers/pwm/pwm-sun4i.c | 1 -
drivers/pwm/pwm-sunplus.c | 1 +
drivers/pwm/pwm-tegra.c | 1 -
drivers/pwm/pwm-tiecap.c | 2 +-
drivers/pwm/pwm-tiehrpwm.c | 2 +-
drivers/pwm/pwm-visconti.c | 2 +-
drivers/pwm/pwm-vt8500.c | 5 +----
28 files changed, 21 insertions(+), 21 deletions(-)
Comments
On Fri, Jul 14, 2023 at 11:48:50AM -0600, Rob Herring wrote:
> The DT of_device.h and of_platform.h date back to the separate
> of_platform_bus_type before it as merged into the regular platform bus.
> As part of that merge prepping Arm DT support 13 years ago, they
> "temporarily" include each other. They also include platform_device.h
> and of.h. As a result, there's a pretty much random mix of those include
> files used throughout the tree. In order to detangle these headers and
> replace the implicit includes with struct declarations, users need to
> explicitly include the correct includes.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
For pwm-cros-ec.c:
Reviewed-by: Tzung-Bi Shih <tzungbi@kernel.org>
On Fri, Jul 14, 2023 at 11:48:50AM -0600, Rob Herring wrote:
> The DT of_device.h and of_platform.h date back to the separate
> of_platform_bus_type before it as merged into the regular platform bus.
> As part of that merge prepping Arm DT support 13 years ago, they
> "temporarily" include each other. They also include platform_device.h
> and of.h. As a result, there's a pretty much random mix of those include
> files used throughout the tree. In order to detangle these headers and
> replace the implicit includes with struct declarations, users need to
> explicitly include the correct includes.
so the eventual goal here is to prepare for:
- drop #include <linux/of_device.h> from include/linux/of_platform.h
- drop #include <linux/of.h> from include/linux/of_device.h
- drop #include <linux/of_platform.h> from include/linux/of_device.h
- drop #include <linux/platform_device.h> from include/linux/of_device.h
- drop #include <linux/platform_device.h> from include/linux/of_platform.h
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
> drivers/pwm/core.c | 1 +
> drivers/pwm/pwm-apple.c | 1 +
> drivers/pwm/pwm-atmel-hlcdc.c | 1 +
> drivers/pwm/pwm-atmel-tcb.c | 3 +--
> drivers/pwm/pwm-atmel.c | 1 -
> drivers/pwm/pwm-berlin.c | 1 +
> drivers/pwm/pwm-cros-ec.c | 1 +
> drivers/pwm/pwm-fsl-ftm.c | 3 +--
> drivers/pwm/pwm-hibvt.c | 2 +-
> drivers/pwm/pwm-imx1.c | 1 -
> drivers/pwm/pwm-jz4740.c | 2 +-
> drivers/pwm/pwm-lp3943.c | 1 +
> drivers/pwm/pwm-lpc18xx-sct.c | 1 +
> drivers/pwm/pwm-mediatek.c | 1 -
> drivers/pwm/pwm-meson.c | 1 -
> drivers/pwm/pwm-microchip-core.c | 2 +-
> drivers/pwm/pwm-mtk-disp.c | 1 -
> drivers/pwm/pwm-pxa.c | 1 +
> drivers/pwm/pwm-sifive.c | 1 +
> drivers/pwm/pwm-sl28cpld.c | 1 +
> drivers/pwm/pwm-sprd.c | 1 +
> drivers/pwm/pwm-sun4i.c | 1 -
> drivers/pwm/pwm-sunplus.c | 1 +
> drivers/pwm/pwm-tegra.c | 1 -
> drivers/pwm/pwm-tiecap.c | 2 +-
> drivers/pwm/pwm-tiehrpwm.c | 2 +-
> drivers/pwm/pwm-visconti.c | 2 +-
> drivers/pwm/pwm-vt8500.c | 5 +----
> 28 files changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
> index 3dacceaef4a9..d37617c60eae 100644
> --- a/drivers/pwm/core.c
> +++ b/drivers/pwm/core.c
> @@ -8,6 +8,7 @@
>
> #include <linux/acpi.h>
> #include <linux/module.h>
> +#include <linux/of.h>
> #include <linux/pwm.h>
> #include <linux/radix-tree.h>
> #include <linux/list.h>
This file includes neither of_device.h nor of_platform.h and up to now
gets of.h via <linux/pwm.h>.
What is your plan for <linux/pwm.h>'s include? I think it would only need
struct of_phandle_args;
to replace that. (But that would need another patch like this one, as
then e.g. drivers/pwm/pwm-sl28cpld.c fails to compile because
device_property_read_u32() is undeclared. It would need to #include
<linux/property.h> which now it gets transitively via <linux/of.h>.)
If <linux/pwm.h> is planed to continue #including <linux/of.h>, the
explicit include here isn't necessary (and probably elsewhere).
I don't care much either way, but maybe your quest would be a bit
simpler if you only touch files that include the two files you want to
modify?
*shrug*, this patch is still an improvement so:
Acked-by: Uwe Kleine-Köng <u.kleine-koenig@pengutronix.de>
Another thing I wonder is: How did you identify the files that need
these includes. I guess you have a list of types for each header and
search for files that use any of the types but doesn't include the
respecitve header? I wonder if tracking this type -> header mapping in
machine readable form somewhere would be nice, to e.g. make checkpatch
warn if a file uses struct of_node but only gets it by chance?
Best regards
Uwe
On Mon, Jul 17, 2023 at 1:44 AM Uwe Kleine-König
<u.kleine-koenig@pengutronix.de> wrote:
>
> On Fri, Jul 14, 2023 at 11:48:50AM -0600, Rob Herring wrote:
> > The DT of_device.h and of_platform.h date back to the separate
> > of_platform_bus_type before it as merged into the regular platform bus.
> > As part of that merge prepping Arm DT support 13 years ago, they
> > "temporarily" include each other. They also include platform_device.h
> > and of.h. As a result, there's a pretty much random mix of those include
> > files used throughout the tree. In order to detangle these headers and
> > replace the implicit includes with struct declarations, users need to
> > explicitly include the correct includes.
>
> so the eventual goal here is to prepare for:
>
> - drop #include <linux/of_device.h> from include/linux/of_platform.h
> - drop #include <linux/of.h> from include/linux/of_device.h
> - drop #include <linux/of_platform.h> from include/linux/of_device.h
> - drop #include <linux/platform_device.h> from include/linux/of_device.h
> - drop #include <linux/platform_device.h> from include/linux/of_platform.h
Yes.
> > Signed-off-by: Rob Herring <robh@kernel.org>
> > ---
> > drivers/pwm/core.c | 1 +
> > drivers/pwm/pwm-apple.c | 1 +
> > drivers/pwm/pwm-atmel-hlcdc.c | 1 +
> > drivers/pwm/pwm-atmel-tcb.c | 3 +--
> > drivers/pwm/pwm-atmel.c | 1 -
> > drivers/pwm/pwm-berlin.c | 1 +
> > drivers/pwm/pwm-cros-ec.c | 1 +
> > drivers/pwm/pwm-fsl-ftm.c | 3 +--
> > drivers/pwm/pwm-hibvt.c | 2 +-
> > drivers/pwm/pwm-imx1.c | 1 -
> > drivers/pwm/pwm-jz4740.c | 2 +-
> > drivers/pwm/pwm-lp3943.c | 1 +
> > drivers/pwm/pwm-lpc18xx-sct.c | 1 +
> > drivers/pwm/pwm-mediatek.c | 1 -
> > drivers/pwm/pwm-meson.c | 1 -
> > drivers/pwm/pwm-microchip-core.c | 2 +-
> > drivers/pwm/pwm-mtk-disp.c | 1 -
> > drivers/pwm/pwm-pxa.c | 1 +
> > drivers/pwm/pwm-sifive.c | 1 +
> > drivers/pwm/pwm-sl28cpld.c | 1 +
> > drivers/pwm/pwm-sprd.c | 1 +
> > drivers/pwm/pwm-sun4i.c | 1 -
> > drivers/pwm/pwm-sunplus.c | 1 +
> > drivers/pwm/pwm-tegra.c | 1 -
> > drivers/pwm/pwm-tiecap.c | 2 +-
> > drivers/pwm/pwm-tiehrpwm.c | 2 +-
> > drivers/pwm/pwm-visconti.c | 2 +-
> > drivers/pwm/pwm-vt8500.c | 5 +----
> > 28 files changed, 21 insertions(+), 21 deletions(-)
> >
> > diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
> > index 3dacceaef4a9..d37617c60eae 100644
> > --- a/drivers/pwm/core.c
> > +++ b/drivers/pwm/core.c
> > @@ -8,6 +8,7 @@
> >
> > #include <linux/acpi.h>
> > #include <linux/module.h>
> > +#include <linux/of.h>
> > #include <linux/pwm.h>
> > #include <linux/radix-tree.h>
> > #include <linux/list.h>
>
> This file includes neither of_device.h nor of_platform.h and up to now
> gets of.h via <linux/pwm.h>.
Indeed.
> What is your plan for <linux/pwm.h>'s include? I think it would only need
>
> struct of_phandle_args;
Here's what I'm testing with:
diff --git a/include/linux/pwm.h b/include/linux/pwm.h
index 04ae1d9073a7..5a59a7d53be8 100644
--- a/include/linux/pwm.h
+++ b/include/linux/pwm.h
@@ -4,8 +4,10 @@
#include <linux/err.h>
#include <linux/mutex.h>
-#include <linux/of.h>
+struct device;
+struct fwnode_handle;
+struct of_phandle_args;
struct pwm_chip;
/**
>
> to replace that. (But that would need another patch like this one, as
> then e.g. drivers/pwm/pwm-sl28cpld.c fails to compile because
> device_property_read_u32() is undeclared. It would need to #include
> <linux/property.h> which now it gets transitively via <linux/of.h>.)
property.h is added in this patch, so it should be okay?
> If <linux/pwm.h> is planed to continue #including <linux/of.h>, the
> explicit include here isn't necessary (and probably elsewhere).
I would like to drop including of.h, but probably not this cycle.
Either way, I thought kernel best practice was to not rely on implicit
includes.
BTW, linux/i2c.h is another source of lots of implicit of.h includes.
That one looks like we can't get rid of.
> I don't care much either way, but maybe your quest would be a bit
> simpler if you only touch files that include the two files you want to
> modify?
Yes, that's how it started. I kind of decided it wasn't worth trying
to split things up by every separate reason explicit includes were not
correct.
>
> *shrug*, this patch is still an improvement so:
>
> Acked-by: Uwe Kleine-Köng <u.kleine-koenig@pengutronix.de>
>
> Another thing I wonder is: How did you identify the files that need
> these includes. I guess you have a list of types for each header and
> search for files that use any of the types but doesn't include the
> respecitve header? I wonder if tracking this type -> header mapping in
> machine readable form somewhere would be nice, to e.g. make checkpatch
> warn if a file uses struct of_node but only gets it by chance?
It's been less automated than I'd like. It's been a lot of grepping
with a list of symbols the headers provide. For example, I get all the
files including of_device.h and then get the ones with no symbols from
of_device.h. And then do a manual review of what are the correct
headers for the file. And then run thru builds and fix all the issues.
Rob
Hi,
> -----Original Message-----
> From: Rob Herring <robh@kernel.org>
> Sent: Saturday, July 15, 2023 2:49 AM
> To: Thierry Reding <thierry.reding@gmail.com>; Uwe Kleine-König
> <u.kleine-koenig@pengutronix.de>; Hector Martin <marcan@marcan.st>;
> Sven Peter <sven@svenpeter.dev>; Alyssa Rosenzweig
> <alyssa@rosenzweig.io>; Nicolas Ferre <nicolas.ferre@microchip.com>;
> Alexandre Belloni <alexandre.belloni@bootlin.com>; Claudiu Beznea
> <claudiu.beznea@microchip.com>; Benson Leung <bleung@chromium.org>;
> Guenter Roeck <groeck@chromium.org>; Shawn Guo
> <shawnguo@kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>;
> Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam
> <festevam@gmail.com>; NXP Linux Team <linux-imx@nxp.com>; Paul
> Cercueil <paul@crapouillou.net>; Vladimir Zapolskiy <vz@mleia.com>; Neil
> Armstrong <neil.armstrong@linaro.org>; Kevin Hilman
> <khilman@baylibre.com>; Jerome Brunet <jbrunet@baylibre.com>; Martin
> Blumenstingl <martin.blumenstingl@googlemail.com>; Conor Dooley
> <conor.dooley@microchip.com>; Daire McNamara
> <daire.mcnamara@microchip.com>; Matthias Brugger
> <matthias.bgg@gmail.com>; AngeloGioacchino Del Regno
> <angelogioacchino.delregno@collabora.com>; Palmer Dabbelt
> <palmer@dabbelt.com>; Paul Walmsley <paul.walmsley@sifive.com>;
> Michael Walle <michael@walle.cc>; Orson Zhai <orsonzhai@gmail.com>;
> Baolin Wang <baolin.wang@linux.alibaba.com>; Chunyan Zhang
> <zhang.lyra@gmail.com>; Chen-Yu Tsai <wens@csie.org>; Jernej Skrabec
> <jernej.skrabec@gmail.com>; Samuel Holland <samuel@sholland.org>;
> Hammer Hsieh <hammerh0314@gmail.com>; Jonathan Hunter
> <jonathanh@nvidia.com>; iwamatsu nobuhiro(岩松 信洋 ○DITC□DIT
> ○OST) <nobuhiro1.iwamatsu@toshiba.co.jp>
> Cc: devicetree@vger.kernel.org; linux-pwm@vger.kernel.org;
> linux-kernel@vger.kernel.org; asahi@lists.linux.dev;
> linux-arm-kernel@lists.infradead.org; chrome-platform@lists.linux.dev;
> linux-mips@vger.kernel.org; linux-amlogic@lists.infradead.org;
> linux-riscv@lists.infradead.org; linux-mediatek@lists.infradead.org;
> linux-sunxi@lists.linux.dev; linux-tegra@vger.kernel.org
> Subject: [PATCH] pwm: Explicitly include correct DT includes
>
> The DT of_device.h and of_platform.h date back to the separate
> of_platform_bus_type before it as merged into the regular platform bus.
> As part of that merge prepping Arm DT support 13 years ago, they "temporarily"
> include each other. They also include platform_device.h and of.h. As a result,
> there's a pretty much random mix of those include files used throughout the
> tree. In order to detangle these headers and replace the implicit includes with
> struct declarations, users need to explicitly include the correct includes.
>
> Signed-off-by: Rob Herring <robh@kernel.org>
For drivers/pwm/pwm-visconti.c:
Reviewed-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
Best regards,
Nobuhiro
On Fri, 14 Jul 2023 11:48:50 -0600, Rob Herring wrote:
> The DT of_device.h and of_platform.h date back to the separate
> of_platform_bus_type before it as merged into the regular platform bus.
> As part of that merge prepping Arm DT support 13 years ago, they
> "temporarily" include each other. They also include platform_device.h
> and of.h. As a result, there's a pretty much random mix of those include
> files used throughout the tree. In order to detangle these headers and
> replace the implicit includes with struct declarations, users need to
> explicitly include the correct includes.
>
> [...]
Applied, thanks!
[1/1] pwm: Explicitly include correct DT includes
commit: 8d171282110fcde89bb4289c4010a15aca5cec95
Best regards,
@@ -8,6 +8,7 @@
#include <linux/acpi.h>
#include <linux/module.h>
+#include <linux/of.h>
#include <linux/pwm.h>
#include <linux/radix-tree.h>
#include <linux/list.h>
@@ -12,6 +12,7 @@
* - When APPLE_PWM_CTRL is set to 0, the output is constant low
*/
+#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
@@ -10,6 +10,7 @@
#include <linux/delay.h>
#include <linux/mfd/atmel-hlcdc.h>
#include <linux/module.h>
+#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/regmap.h>
@@ -19,8 +19,7 @@
#include <linux/mfd/syscon.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
-#include <linux/of_device.h>
-#include <linux/of_irq.h>
+#include <linux/of.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#include <soc/at91/atmel_tcb.h>
@@ -25,7 +25,6 @@
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
-#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/slab.h>
@@ -13,6 +13,7 @@
#include <linux/clk.h>
#include <linux/io.h>
#include <linux/kernel.h>
+#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
@@ -6,6 +6,7 @@
*/
#include <linux/module.h>
+#include <linux/of.h>
#include <linux/platform_data/cros_ec_commands.h>
#include <linux/platform_data/cros_ec_proto.h>
#include <linux/platform_device.h>
@@ -11,8 +11,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mutex.h>
-#include <linux/of_address.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm.h>
#include <linux/pwm.h>
@@ -10,7 +10,7 @@
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/module.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/reset.h>
@@ -14,7 +14,6 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
-#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/slab.h>
@@ -15,7 +15,7 @@
#include <linux/mfd/ingenic-tcu.h>
#include <linux/mfd/syscon.h>
#include <linux/module.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/regmap.h>
@@ -10,6 +10,7 @@
#include <linux/err.h>
#include <linux/mfd/lp3943.h>
#include <linux/module.h>
+#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/slab.h>
@@ -22,6 +22,7 @@
#include <linux/clk.h>
#include <linux/err.h>
#include <linux/io.h>
+#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
@@ -14,7 +14,6 @@
#include <linux/module.h>
#include <linux/clk.h>
#include <linux/of.h>
-#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/slab.h>
@@ -37,7 +37,6 @@
#include <linux/math64.h>
#include <linux/module.h>
#include <linux/of.h>
-#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/slab.h>
@@ -37,7 +37,7 @@
#include <linux/math.h>
#include <linux/module.h>
#include <linux/mutex.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
@@ -11,7 +11,6 @@
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
-#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/slab.h>
@@ -15,6 +15,7 @@
* input clock (PWMCR_SD is set) and the output is driven to inactive.
*/
+#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/platform_device.h>
@@ -13,6 +13,7 @@
*/
#include <linux/clk.h>
#include <linux/io.h>
+#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
@@ -38,6 +38,7 @@
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
+#include <linux/property.h>
#include <linux/pwm.h>
#include <linux/regmap.h>
@@ -7,6 +7,7 @@
#include <linux/err.h>
#include <linux/io.h>
#include <linux/math64.h>
+#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
@@ -17,7 +17,6 @@
#include <linux/jiffies.h>
#include <linux/module.h>
#include <linux/of.h>
-#include <linux/of_device.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
#include <linux/reset.h>
@@ -23,6 +23,7 @@
#include <linux/clk.h>
#include <linux/io.h>
#include <linux/kernel.h>
+#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
@@ -41,7 +41,6 @@
#include <linux/io.h>
#include <linux/module.h>
#include <linux/of.h>
-#include <linux/of_device.h>
#include <linux/pm_opp.h>
#include <linux/pwm.h>
#include <linux/platform_device.h>
@@ -12,7 +12,7 @@
#include <linux/clk.h>
#include <linux/pm_runtime.h>
#include <linux/pwm.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
/* ECAP registers and bits definitions */
#define CAP1 0x08
@@ -12,7 +12,7 @@
#include <linux/err.h>
#include <linux/clk.h>
#include <linux/pm_runtime.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
/* EHRPWM registers and bits definitions */
@@ -21,7 +21,7 @@
#include <linux/err.h>
#include <linux/io.h>
#include <linux/module.h>
-#include <linux/of_device.h>
+#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pwm.h>
@@ -6,6 +6,7 @@
* Copyright (C) 2010 Alexey Charkov <alchark@gmail.com>
*/
+#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/platform_device.h>
@@ -18,10 +19,6 @@
#include <asm/div64.h>
-#include <linux/of.h>
-#include <linux/of_device.h>
-#include <linux/of_address.h>
-
/*
* SoC architecture allocates register space for 4 PWMs but only
* 2 are currently implemented.